Добавление кнопки на экран входа в Windows 7

Я хочу реализовать функцию автоматического сброса пароля для пользователей Windows 7. Когда на экране входа появится запрос, пользователям домена должна быть представлена ​​кнопка «забыли пароль», которая откроет мастер сброса пароля. Итак, проблема в том, как добавить командную кнопку на стандартный экран входа в систему Windows?

Я знаю о GINA в Windows XP, как указано здесь: Добавление командной кнопки на экран входа в Windows

Но этой теме уже 3 года, и с Vista/Windows 7 Microsoft придумала "Поставщик учетных данных Microsoft Windows".


person BastianW    schedule 08.11.2012    source источник
comment
Только что нашел то, что мне нужно, в блогах MSDN Как создать пользовательский интерфейс входа в систему в Windows Vista blogs.msdn.com/b/securitytools/archive/2009/07/30/ Пользовательский поставщик учетных данных для Сброс пароля blogs.technet.com/b/aho/archive/2009/11/15/ Здесь также есть несколько полезных примеров кода.   -  person BastianW    schedule 10.11.2012


Ответы (1)


Эти кнопки называются «Плитки» и реализованы в поставщике учетных данных. Все, что вы читали о Джине, не будет работать в Vista или более поздних версиях.

Эти плитки создаются процессом LogonUI.exe, который сам запускается Winlogon.exe. LogonUI.exe работает с высокими привилегиями. Вы не хотите запускать что-либо там. Кроме того, любой мастер, который вы запускаете, будет работать под системной учетной записью. Помимо проблем безопасности, все, что сбрасывает пароль текущего пользователя, работать не будет.

Но давайте предположим, что у вас есть решение, которое может сбросить пароль пользователя. Как веб-сайт (или локальное приложение), который:

  1. Спросите имя пользователя
  2. Задайте несколько вопросов безопасности
  3. Подключается к Active Directory для сброса пароля

Тогда вот способ реализации функциональности.

Создайте пользователя, доменного пользователя, если возможно. Дайте ему легко запоминающееся имя и пароль, например, «reset» и «reset». Убедитесь, что все знают пароль.

Измените оболочку этого пользователя на Internet Explorer, который будет работать в режиме киоска, указывая на ваше веб-приложение.

Теперь, когда кто-то захочет сбросить свой пароль, вот что он сделает:

  1. Используйте стандартный поставщик учетных данных Windows, как это делают каждый день, но с «сбросом» пользователя и «сбросом» пароля.
  2. Вместо обычной оболочки Windows им будет представлено веб-приложение для сброса пароля.
  3. Пользователь сбрасывает свой пароль и получает указание выйти из системы с помощью CTRLATLDEL.
  4. Они могут войти в систему со своим именем пользователя и новым паролем.

Эту идею можно улучшить, если вы готовы написать код:

  • Вместо Internet Explorer напишите простое веб-приложение, обертывающее элемент управления веб-браузера. если приложение закрыто, или любое другое смешное дело, выйдите из системы.
  • Взломайте один из образцов поставщика учетных данных, чтобы предоставить хорошо известное имя пользователя и пароль для сброса пароля, что позволяет сбросить пароль одним щелчком мыши.
  • Измените образ этого поставщика учетных данных для сброса пароля, чтобы отразить функциональность сброса пароля.
person ixe013    schedule 09.11.2012
comment
Использование такой общей учетной записи здесь не сработает. Пользователи не могли вспомнить имя и/или пароль. Вот почему мы хотели бы добавить такой заголовок на экран входа в систему. - person BastianW; 10.11.2012
comment
Верно, это произойдет. Отсюда и предложенное улучшение запекания их в СР (или заставить СР читать их из реестра). - person ixe013; 12.11.2012