我想通过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
答案 0 :(得分:0)
此行为是设计使然。
每次重新启动时,Windows都会删除AutoLogonCount。当它为零时,将删除注册表值以禁用自动登录。 DefaultUserName和DefaultPassword的值也可以清除。
此功能通常在自动Windows客户端构建/部署期间使用。
这是有据可查的。例如。 http://www.computerperformance.co.uk/windows7/windows7_auto_logon.htm