神秘的情况下自动login没有应该触发它的registry设置

这个问题与编程有重叠,但我认为它主要属于这里。 我在AutoIt中构build了一个精心devise的脚本,可以打开自动login,因此可以进行多个无人参与的重新启动。 我也检查autologon是否已经打开,如果是的话,我什么都不做。

如果没有,但是,我要求input密码,通过调用advapi.dll的LogonUser API检查密码是否有效,然后根据http://support.microsoft.com/kb/设置以下registry设置。 324737 /

RegWrite('HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon', 'AutoAdminLogon', 'REG_DWORD', 1) RegWrite('HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon', 'DefaultUserName', 'REG_SZ', $username) RegWrite('HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon', 'DefaultPassword', 'REG_SZ', $password) 

通常情况下,这工作得很好。 然而,在这个领域工作的人刚刚报告说,我的脚本在运行Windows 7 Professional的计算机上要求input密码,而这个计算机已经启用了自动loginfunction。

当我检查registry,HKLM \ SOFTWARE \微软\的Windows NT \ CurrentVersion \ Winlogon下,我没有find任何所需的键,即AutoAdminLogon,DefaultUserName和DefaultPassword。

当我运行netplwiz时,也表示“用户必须input用户名和密码”才能login; checkbox被选中。

那么这里发生了什么? 这甚至有可能吗? 那里有另一个自动机制吗? 它是如何工作的,我如何检测它? 不幸的是,这只是现场的一台机器,我现在无法访问。 我只看了一眼; 通过TeamViewer。 任何帮助赞赏。

不知道如果你已经解决了这个问题,但是Technetlogging了AutoAdminLogon是REG_SZ。 你正在创build它作为REG_DWORD。

请参阅: https : //technet.microsoft.com/en-us/library/C939702.aspx

当然可以解释为什么某些应用程序(如netplwiz)可能会认为它已启用 – 对于REG_DWORD或REG_SZ可能是正确的,而Windows的其他部分(如引导顺序)可能更为严格,并且需要REG_SZ。