在Windows 7登录屏幕上添加按钮

时间:2012-11-08 15:27:12

标签: windows active-directory credential-providers

我想为Windows 7用户实现自动重置密码功能。当登录屏幕提示域用户应该出现忘记密码按钮,这将打开密码重置向导。所以问题是如何将命令按钮添加到标准Windows登录屏幕?

我在Windows XP中了解GINA,如下所述: Adding command button to Windows Logon screen

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

1 个答案:

答案 0 :(得分:2)

这些按钮称为“Tiles”,它们在Credential Provider中实现。你读到的有关Gina的任何内容都无法在Vista或更高版本中使用。

由LogonUI.exe进程创建的那些tile,由Winlogon.exe启动。 LogonUI.exe以高权限运行。你不想在那里运行任何东西。此外,您运行的任何向导都将在系统帐户下运行。除了安全问题之外,任何重置当前用户密码的内容都无效。

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

  1. 询问用户名
  2. 提出一些安全问题
  3. 连接到Active Directory以重置密码
  4. 然后,这是一种实现功能的方法。

    尽可能创建用户,域用户。给它一个易于记忆的名称和密码,如“重置”和“重置”。让每个人都知道密码的shure。

    Change the shell of that user到Internet Explorer,您将以kiosk模式运行,指向您的Web应用程序。

    现在,当有人想重置密码时,他们会做以下事情:

    1. 使用标准Windows凭据提供程序,就像它们每天一样,但用户“重置”并使用密码“重置”。
    2. 将代替正常的Windows shell,它们将显示您的密码重置Web应用程序。
    3. 用户重置密码,并指示他们使用 CTRL ATL DEL
    4. 注销
    5. 他们可以使用自己的用户名和全新密码登录。
    6. 如果您准备编写一些代码,可以改进这个想法:

      • 编写一个包装Web浏览器控件的简单Web应用程序,而不是Internet Explorer。如果申请被关闭,或任何其他有趣的业务,请注销。
      • 破解其中一个凭据提供程序示例,以提供众所周知的密码重置用户名和密码,只需单击一下即可重置密码
      • 更改密码重置凭据提供程序的图像以反映密码重置功能。<​​/ li>