将button添加到Windows 7login屏幕

我想为Windows 7用户实现自复位密码function。 login屏幕提示域用户应该显示一个忘记密码button,这将打开密码重置向导。 所以问题是如何添加一个命令button到标准的Windowslogin屏幕?

我知道在Windows XP中的GINA如下所述: 将命令button添加到Windowslogin屏幕

但是这个话题已经三年了,而在Vista / Windows 7中,微软提出了“Microsoft Windows Credential Provider”。

Solutions Collecting From Web of "将button添加到Windows 7login屏幕"

刚刚找到我需要在MSDN博客

如何在Windows Vista中构建自定义登录UI http://blogs.msdn.com/b/securitytools/archive/2009/07/30/how-to-build-custom-logon-ui-s-in-windows-vista的.aspx

用于密码重置的自定义凭据提供程序http://blogs.technet.com/b/aho/archive/2009/11/15/custom-credential-provider-for-password-reset.aspx

这也包括一些有用的代码示例。

这些按钮被称为“瓷砖”,并在一个凭据提供商实施。 任何你读到的有关吉娜的东西都不能在Vista或更高版本中使用。

那些由LogonUI.exe进程创建的磁贴,本身由Winlogon.exe启动。 LogonUI.exe以高特权运行。 你不想在那里运行任何东西。 此外,您运行的任何向导都将在系统帐户下运行。 抛开安全问题,任何重置当前用户的密码都不起作用。

但是让我们假设你有一个可以重置用户密码的解决方案。 就像一个网站(或一个本地应用程序)那样:

  1. 询问用户的名字
  2. 询问一些安全问题
  3. 连接到Active Directory以重置密码

那么这里是一个实现这个功能的方法。

如果可能,创建一个用户,一个域用户。 给它一个容易记住的名字和密码,如“重置”和“重置”。 请大家知道密码。

将该用户的shell更改为Internet Explorer,即将以Kiosk模式运行,指向您的Web应用程序。

现在当有人想重置密码时,他们会这样做:

  1. 使用标准的Windows凭据提供程序,就像他们每天都在做的一样,但用户需要“重置”和密码“重置”。
  2. 他们将与您的密码重置Web应用程序,而不是正常的Windows外壳程序。
  3. 用户重置他们的密码,他们被指示使用CTRL ATL DEL注销
  4. 他们可以用自己的用户名和全新的密码登录。

这个想法可以改进,如果你准备写一些代码:

  • 编写一个包装Web浏览器控件的简单Web应用程序,而不是Internet Explorer。 如果应用程序关闭了,或者其他有趣的业务,注销。
  • 攻击凭据提供者样本中的一个,以提供众所周知的密码重置用户名和密码,只需单击一下即可重置密码
  • 更改该密码重置凭证提供程序的映像以反映密码重置功能。