Назад | Перейти на главную страницу

Как редактировать локальную групповую политику с помощью скрипта?

Мне нужно установить параметры локальной групповой политики и локальную политику безопасности для пары машин, которые не находятся в домене Windows. До сих пор я делал это вручную, задавая ключи в gpedit. В связи с переходом на Windows 10 я хотел бы автоматизировать это и использовать пакетный сценарий или сценарий PowerShell для их установки. Было бы очень хорошо, если бы это можно было сделать без сторонних инструментов.

Как я могу установить эти политики с помощью Powershell или командного файла?

Заранее благодарим за ответы!

Питер

Вы можете сделать это в 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

PolicyFileEditor представляет собой модуль PowerShell для управления файлами локального GPO registry.pol.

Брэндон Пэджетт предоставляет пример использования:

$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

Есть несколько CmdLet, которые можно использовать для управления объектами групповой политики (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

Это было взято из Вот.