windows 将AutoAdminLogon设置为0(MSS-旧版)的原因是什么

zzoitvuj  于 2023-01-27  发布在  Windows
关注(0)|答案(4)|浏览(379)

我在使用我的Windows Server 2008 R2映像时遇到了一个问题。它是亚马逊市场上的亚马逊Windows Server 2008 R2 CIS 2级基准AMI。
我遇到的问题是,当我将AutoAdminLogin设置为1并执行gpupdate或重新启动时,它会恢复为0。
我正在使用Packer配置AMI,因此我要执行的步骤是删除PowerShell 3.0,然后重新启动。AutoAdminLogon在重新启动之前设置,但gpupdate在系统重新启动时运行gpupdate将设置还原为0。
需要AutoAdminLogon,因为服务器在设置过程中需要重新启动多次。步骤为1.删除PowerShell 3.0 2.重新启动3. AutoAdminLogon 4.安装.Net 4.5.2 5.安装Windows管理框架5.1 6.重新启动。
此时,Packer将尝试使用WINRM进行连接,以完成示例的供应,从而将其捕获为AMI。
我知道这与应用到AMI的MSS-传统设置有关。但是我如何取消应用它们?或者只是将AutoAdminLogin设置为Disabled?
我尝试过使用secedit:

secedit /export /cfg c:\temp\secpol.cfg
(gc C:\temp\secpol.cfg).replace('AutoAdminLogon=1,"0"','AutoAdminLogon=1,"1"') | Out-File C:\temp\secpol.cfg
secedit /configure /db c:\windows\security\secedit.sdb /cfg c:\temp\secpol.cfg

参考:Modify Local Security Policy using Powershell

我已经尝试了下面列出的步骤:https://docs.bmc.com/docs/tssa89/rollback-of-cis-and-pciv2-templates-after-remediation-does-not-work-808908846.html
这里还有一个链接,指向我为执行PowerShell升级而修改的脚本:https://github.com/jborean93/ansible-windows/blob/master/scripts/Upgrade-PowerShell.ps1
现在,如果我下载MSS-旧GPO模板并使用GUI设置MSS:(AutoAdminLogon)启用自动登录(不推荐)设置为已启用,它将工作,并且设置将在重新启动或gpudpate后保留。但我需要一种方法来做这件事在脚本的方式,因为没有互动的示例在面包店过程中。
我无法使用GUI执行这些步骤,因为这是AMI烘焙流程的一部分。
非常感谢,我期待着看到人们的想法。

dba5bblo

dba5bblo1#

您可以尝试以下命令,而不必重新启动计算机:

# Force the policy update to occur w/o restart
echo N | gpupdate.exe /target:Computer /force
3qpi33ja

3qpi33ja2#

我刚刚才发现这个“有趣”!
我使用了PolicyFileEditor PowerShell模块和大量的试验和错误,再加上您的问题中的信息(谢谢!),以使其工作。
我的操作系统是Windows Server 2016,所以希望它也适用于Windows Server 2008 R2(并不是说任何人都应该再使用它)。
下面是我在Packer构建中使用的PowerShell代码:

Install-Module PolicyFileEditor
Import-Module PolicyFileEditor
# Change the Autologon GPO setting
Set-PolicyFileEntry -Path "$env:windir\system32\GroupPolicy\Machine\registry.pol" -Key "Software\Microsoft\Windows NT\CurrentVersion\Winlogon" -ValueName "AutoAdminLogon" -Data "1"
# Force the policy update to occur
gpupdate /force

# Configure the auto login user and password so that the next restart has autologin
$loginPath = "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"
Set-ItemProperty -Path $loginPath -Name "DefaultUserName " -Value "<your_admin_user>" -Type String
Set-ItemProperty -Path $loginPath -Name "DefaultPassword" -Value "<your_admin_password>" -Type String
omvjsjqw

omvjsjqw3#

您还需要指定另一个注册表值AutoLogonCountAutoAdminLogon与登录计数直接相关,即系统在重新启动后自动登录的次数。
如果您的登录计数未设置,则这可能是将其重置为0的原因。
如果你想无限地设置它,只要设置它999999或者其他高得离谱的值。
有关详细信息,请参阅此MSDN:MSGina.dll

holgip5t

holgip5t4#

请注意,自动登录计数的类型应为REG_DWORD

相关问题