如何使用脚本编辑本地组策略?

如何使用脚本编辑本地组策略?

我必须为几台不在 Windows 域中的计算机设置本地组策略设置和本地安全策略。到目前为止,我都是通过手动设置 gpedit 中的键来完成此操作的。由于要过渡到 Windows 10,我想自动执行此操作并使用批处理或 PowerShell 脚本来设置它们。如果无需第三方工具即可完成此操作,那就太好了。

如何使用 Powershell 或批处理文件设置这些策略?

提前感谢您的回答!

彼得

答案1

策略文件编辑器是一个用于管理本地 GPO registry.pol 文件的 PowerShell 模块。

Brandon Padgett 提供了示例用法

$RegPath = 'Software\Policies\Microsoft\Windows\Control Panel\Desktop'
$RegName = 'ScreenSaverIsSecure'
$RegData = '1'
$RegType = 'String'


Set-PolicyFileEntry -Path $UserDir -Key $RegPath -ValueName $RegName -Data $RegData -Type $RegType

答案2

您可以在 PowerShell 中使用Set-ItemProperty注册表提供程序执行此操作;例如,要禁用 Windows 更新访问,您可以运行:

Set-ItemProperty -Path HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate -Name DisableWindowsUpdateAccess -Value 1

(HKLM:\ 是“Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\”注册表驱动器路径的标准别名。)

可以从 Microsoft 下载组策略注册表项列表,网址为下载适用于 Windows 和 Windows Server 的组策略设置参考 | Microsoft 下载中心

答案3

有多个 CmdLet 可用于操作 GPO(Create、Get-Info 等)。您可以使用以下方式轻松列出它们:

Get-Command -Module GroupPolicy

最重要的几点:

New-GPO -Name "My Own GPO" -Comment "This is a new GPO for me"

New-GPO -Name "My Own GPO" | New-GPLink -Target "ou=clients,dc=ad,dc=contoso,dc=com"

Remove-GPLink -Name "My Own GPO" -Target "ou=clients,dc=ad,dc=contoso,dc=com"

Get-GPO -Name "My Own GPO"

Get-GPO -Name "My Own GPO" | Get-GPOReport -ReportType HTML -Path c:\temp\report.html

Set-GPRegistryValue -Name "My Own GPO" -Key "HKCU\Software\Policies\Microsoft\Windows\Control Panel\Desktop" -ValueName ScreenSaveTimeOut -Type DWord -Value 300

Get-GPRegistryValue -Name "My Own GPO" -Key "HKCU\Software\Policies\Microsoft\Windows\Control Panel\Desktop"

Remove-GPRegistryValue -Name "My Own GPO" -Key "HKCU\Software\Policies\Microsoft\Windows\Control Panel\Desktop" -ValueName ScreenSaveTimeOut

Invoke-GPUpdate -Computer "ad\server1" -Target "User"

Get-GPResultantSetOfPolicy -Computer dc1 -ReportType HTML -Path c:\temp\dc1rsop.html

这刚刚取自这里

答案4

微软的出色脚本详细介绍了如何使用Set-ItemProperty和其他 cmdlet 通过 Powershell 编辑注册表属性值。如前所述,这似乎不会更新本地策略编辑器的 GUI,因此您可能希望使用策略文件编辑器如果这对您来说是个问题。我必须使用第三方 MDM 在远程机器上执行此操作,并且我想消除尽可能多的依赖关系,所以我只是坚持使用开箱即用的命令。希望这能帮助其他人将所有这些拼凑在一起。

因为我的用户能够以本地管理员身份更改设置,所以我每天还要重新运行此脚本。不幸的是,它gpupdate /force /target:computer似乎无法为我更新设置(我正在更改屏幕锁定时间),因此机器必须重新启动才能使更改生效。

相关内容