我想使用命令行在Windows服务器中更新group policy
。我不想要编程方式。我读过this& this,然后尝试根据组策略和注册表项的映射删除注册表项,但组策略未更新。
具体来说,我想在组策略中将Computer Configuration\Administrative Templates\Windows Components\Windows Update\Configure Automatic Updates
设置为Not configured
。
所以,我运行了以下命令,
C:\Windows\system32>reg delete HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU /v ScheduledInstallTime /f
The operation completed successfully.
C:\Windows\system32>reg delete HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU /v ScheduledInstallDay /f
The operation completed successfully.
C:\Windows\system32>reg delete HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU /v NoAutoUpdate /f
The operation completed successfully.
C:\Windows\system32>reg delete HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU /v AUOptions /f
The operation completed successfully.
但在此之后,组策略未更新。我是否需要运行另一个命令将我的注册表更改传播到组策略?如果是,那是什么?我错过了什么?
我试过,gpupdate /force
,它覆盖了我的注册表更改。我需要与此相反。
答案 0 :(得分:4)
如何从命令行更改组策略?瞧:
答案 1 :(得分:1)
对于域中的组策略对象,可以使用Powershell从命令行配置基于注册表的组策略设置。如果未在域控制器上运行,则必须安装组策略管理控制台。
请参阅Group Policy Cmdlets in Windows PowerShell,尤其是Set-GPRegistryValue cmdlet。
您当然可以从旧命令行运行Powershell命令,例如
powershell get-gpregistryvalue -Name gpo-name -Key HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU -ValueName AUOptions
据我所知,本地组策略没有命令行解决方案。有关本地组策略,请参阅Glenn的回答。
答案 2 :(得分:1)
Set-GPRegistryValue是这里的方法。常见的问题是您拥有GP路径并且需要原始数据。您可以从设置电子表格,ADMX文件(如果管理模板设置)或GPOGuy的免费工具调用registry.pol查看器中获取原始数据(Keypath和值)。
您提供的命令清理了注册表数据,这些cmdlet不会这样做。它们将值添加到GPO中存储的registry.pol文件(或GP Preference的registry.xml)中。然后将这些设置发送到目标系统并应用于注册表。此外,对于非基于注册表的策略以及跨本地策略自动化设置的能力搜索“组策略自动化”,您可能需要查看一个解决方案。