如何更改Windows注册表持久性?

时间:2014-08-02 11:45:35

标签: windows powershell registry

我想通过Powershell脚本对Windows注册表进行更改。我使用老式的reg添加方法,效果很好。如果我在脚本之后运行regedit.exe所做的所有更改都会在重新启动后丢失...

我的代码:

# Enable Auto Logon
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /f /v "AutoAdminLogon" /t REG_SZ /d "1" > null

$name = Read-Host 'Username'
# Set username for logon
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /f /v "DefaultUserName" /t REG_SZ /d $name > null

# Set users password
$clearPassword = Read-Host 'Password' 
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /f /v "DefaultPassword" /t REG_SZ /d $clearPassword > null

# How many times to auto logon? (0 means infinitive)
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /f /v "AutoLogonCount" /t REG_DWORD /d "0" > null

echo "Autologon enabled"

那么,我该怎么做才能在Windows注册表中保持这些更改?

祝你好运

peekaboo777

1 个答案:

答案 0 :(得分:0)

此行为是设计使然。

每次重新启动时,Windows都会删除AutoLogonCount。当它为零时,将删除注册表值以禁用自动登录。 DefaultUserName和DefaultPassword的值也可以清除。

此功能通常在自动Windows客户端构建/部署期间使用。

这是有据可查的。例如。 http://www.computerperformance.co.uk/windows7/windows7_auto_logon.htm

相关问题