MSGina.dll 功能
如果要编写 GINA 来替换Microsoft标准 GINA DLL(MSGina.dll),则可能需要提供部分或全部标准 GINA 功能。 下面是标准功能列表,以及控制方式的简要说明。
注意
Windows Vista 中忽略 GINA DLL。
注册表项值控制其中许多标准 GINA 功能的可用性或行为。 除非另有说明,否则这些键值属于 Winlogon 注册表项,并且具有值类型 [REG_SZ]。 Winlogon键的实际路径为:
\HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon
法律通知对话框
在某些地方,任何有权访问工作站以登录并开始工作的任何人都是合法的,除非有指示系统仅适用于授权用户的通知。 此外,许多用户希望在正常登录之前显示特定于公司的消息。 标准 GINA 使用两个 Winlogon 注册表项值来允许系统在登录前显示信息。 如果任一键值存在且包含非 null 字符串,则会在通常的欢迎屏幕之前显示法律通知对话框。 下表显示了这些键值名称。
键值名称 内容 LegalNoticeCaption 要显示为法律通知对话框标题的字符串 LegalNoticeText 要显示为法律通知对话框消息的字符串 显示姓氏
默认情况下,登录屏幕显示最后一个用户的名称以成功登录到工作站。 此功能由 DontDisplayLastUserName 注册表项值控制。 当此键值设置为 1 时,用户名不会显示在登录对话框中。
自动登录
此功能允许系统每次使用默认信息并禁用 CTRL+ALT+DEL 登录框时自动登录用户。
此功能使用以下 Winlogon 键的值。
价值 内容 AutoAdminLogon 1 AutoLogonCount 自动登录的次数 DefaultUserName 用户帐户的名称 DefaultDomainName 用户帐户在其中的域的名称 如果存在 AutoAdminLogon 键值并且包含一个键值,并且不存在 AutoLogonCount 键值,则每次当前用户注销或系统重新启动时都会自动登录。 登录到的帐户是使用 DefaultUserName 和 DefaultDomainName 键值指定的。 可以通过以下两种方式之一指定帐户的密码。 对于运行 Windows Server 2003 或 Windows XP作系统之一的计算机,密码应使用 LsaStorePrivateData 函数存储为机密。 有关详细信息,请参阅 保护自动登录密码。 存储密码的另一种方法是纯文本形式位于 Winlogon 密钥的 DefaultPassword 条目中;出于安全考虑,应避免使用此方法。 如果使用 LsaStorePrivateData 函数存储密码,则不要在 Winlogon 密钥中提供 DefaultPassword 条目。
如果 AutoAdminLogon 键值存在并且包含一个键值,并且如果存在 AutoLogonCount 键值且不为零,则 AutoLogonCount 将确定发生的自动登录次数。 每次重启系统时,AutoLogonCount 的值将递减一个,直到达到零。 AutoLogonCount 达到零时,不会自动登录任何帐户,AutoLogonCount 键值,DefaultPassword 键值(如果使用)将从注册表中删除,AutoAdminLogon 设置为零。
使用 autoAdminLogon 还有一个注意事项:默认情况下,MSGina.dll AutoAdminLogon 时检查 SHIFT 键的状态。 如果在启动过程中按住 SHIFT 密钥,MSGina.dll 将忽略 AutoAdminLogon 密钥值,并提示用户以交互方式识别和身份验证信息。 调试专用应用程序时,此功能非常有用。 若要禁用 SHIFT 键的含义,请将 IgnoreShiftOverride 键值设置为 1。
允许未经身份验证的关闭
可以将默认 GINA 配置为在登录对话框中包括 关闭 按钮。 这样,用户无需先登录即可关闭系统。 以下键值控制是否包含此按钮。
价值 描述 ShutdownWithoutLogon 一个包含按钮;零以排除按钮 Userinit.exe 激活
Userinit.exe 是用户登录时由 MSGina.dll 执行的应用程序。 它在新登录用户的 上下文 和应用程序桌面上运行。 其用途是设置用户的环境,包括还原网络使用、建立字体和屏幕颜色等配置文件设置以及运行登录脚本。 完成这些任务后,Userinit.exe 执行用户 shell 程序。 shell 程序继承 Userinit.exe 设置的环境。 Userinit.exe 执行的特定 shell 程序存储在 Winlogon 注册表项下的 Shell 键值中。
Shell 键值可以包含要执行的程序的逗号分隔列表。 Windows 资源管理器是默认 shell 程序,如果 Shell 键值为 null 或不存在,则将执行。 默认情况下,会列出 Windows 资源管理器。
Logged-On 安全选项
登录时,如果用户输入 安全关注序列(SAS),则会向用户显示安全选项屏幕。 列出的选项包括:
- 关闭系统。
- 登出。
- 更改密码。
- 转到任务列表。
- 锁定工作站。
当用户登录时收到 SAS 事件时,替换 GINA 可以提供类似的选项。