Диалог условий использования для входа в Windows - PullRequest
1 голос
/ 16 июля 2009

Мне нужно создать диалоговое окно «Условия использования», которое предоставляется пользователям после входа в Windows XP. Он не должен позволять пользователю продолжать работу, пока он не установит флажок «Я согласен». Не должно быть возможности закрыть его с помощью диспетчера задач или любым другим способом. И это должно быть полноэкранным и модальным. «Я согласен» останется отмеченным автоматически при последующих входах в систему в течение 1 месяца, после чего пользователь должен будет проверить его снова. Также HR хотят отслеживать, кто установил флажок.

Возможна ли такая вещь при использовании .Net? Я могу использовать C # для его разработки, но я не уверен, как запретить пользователям обходить диалог.

Я знаю, что групповая политика Windows позволяет отображать диалоговое окно перед входом в систему, но это не позволяет устанавливать флажки или выполнять какие-либо настройки.

Есть мысли?

Ответы [ 3 ]

3 голосов
/ 16 июля 2009

В старых версиях Windows раньше было возможно реализовать собственный файл winlogon.exe, который представляет собой пользовательский интерфейс входа в систему. Сейчас это не так просто, и по веским причинам Microsoft вложила в безопасность гораздо больше усилий, чем обычный Джо Кодер!

Как только вы пройдете вход в систему, операционная система станет немного бесплатной для всех, но только потому, что первой задачей winlogon является spawn EXPLORER.EXE, если вы замените оболочку Имейте в виду, что, в свою очередь, вызывает исследователь, когда ваши критерии входа были выполнены, вы получите поведение, которое вы хотите. Как вы прокомментировали, вам необходимо отключить диспетчер задач, поскольку это дает возможность запускать другие приложения.

Изменение оболочки по умолчанию (для всех пользователей):

  1. открыть regedit (меню Пуск> выполнить и ввести regedit)
  2. перейдите по адресу: HKEY_LOCAL_MACHINE \ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \ Microsoft \ Windows NT \ CurrentVersion \ Winlogon.
  3. Измените Shell с explorer.exe на новый путь оболочки, например, ваше приложение
  4. Выйдите из системы и войдите снова.

Изменение оболочки по умолчанию (только текущий пользователь):

  1. открыть regedit (меню Пуск> выполнить и ввести regedit).
  2. Перейдите по адресу: HKEY_CURRENT_USER \ Программное обеспечение \ Microsoft \ Windows NT \ CurrentVersion \ Winlogon.
  3. добавить новое строковое значение (Edit> New> String Value) с именем shell. и установите значение для пути новой оболочки, например, вашего приложения.
  4. Выйдите из системы и войдите снова.
1 голос
/ 16 июля 2009

Возможно, эта альтернатива может упростить ситуацию ... У нее нет флажка ... нет кода ... но вы все равно заставляете пользователя подтвердить политику, и вы по-прежнему можете видеть, кто входит в систему (через журнал безопасности)

Изменение следующих локальных политик безопасности на компьютере (через secpol.msc)

Установить Интерактивный вход в систему: текст сообщения Для пользователей, пытающихся войти в систему до вашего предупреждения

Установить Интерактивный вход в систему: заголовок сообщения Для пользователей, пытающихся войти в систему для заголовка вашего предупреждения

Их можно найти в настройках безопасности \ Локальные политики \ Параметры безопасности

Также рассмотрите Интерактивный вход в систему: не отображать фамилию пользователя и соответственно измените политику ведения журнала ...

Надеюсь, это поможет ..

0 голосов
/ 03 июня 2010

Вы должны попытаться заменить программу оболочки Windows (explorer.exe). Это можно сделать в системном реестре. И сделайте любое взаимодействие с пользователем из вашей программы, а затем запустите стандартную оболочку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...