Управление групповыми политиками (GPO) в Active Directory с помощью PowerShell
Основным инструментом управления объектами групповой политики (GPO) в домене Active Directory является графическая консоль управления групповой политикой (
GPMC.msc). Чтобы автоматизировать и повысить производительность некоторых задач управления объектами групповой политики в Active Directory, вы можете использовать PowerShell, который предоставляет множество функций администрирования объектов групповой политики.
Как установить модуль PowerShell для управления групповыми политиками?
Для управления объектом групповой политики домена на вашем компьютере должен быть установлен модуль GroupPolicy. Этот модуль доступен на Windows Server после установки функции управления групповыми политиками. Вы можете использовать эту функцию с помощью консоли диспетчера сервера или с помощью PowerShell:
Install-WindowsFeature GPMC -IncludeManagementToolsЕсли вы хотите управлять объектами групповой политики с рабочей станции под управлением настольной версии Windows 10 или 11, установите модуль групповой политики через RSAT:
Add-WindowsCapability -Online -Name Rsat.GroupPolicy.Management.Tools~~~~0.0.1.0Вы можете отобразить полный список командлетов PowerShell в модуле GroupPolicy с помощью команды:
Get-Command -Module GroupPolicyИспользуя модуль GroupPolicy PowerShell, вы можете:
Создание и удаление объекта групповой политики;
Привязать/отсоединить объект групповой политики к подразделению или от него;
Резервное копирование и восстановление GPO;
Установите разрешения GPO или настройте наследование.
Создание объектов групповой политики и управление ими с помощью PowerShell
Давайте рассмотрим некоторые типичные административные задачи, в которых вы можете использовать PowerShell для управления групповыми политиками.
Чтобы создать новый пустой объект групповой политики, используйте следующую команду:
New-GPO -Name munTestGPO -Comment "My First GPO with PowerShell"Если в вашем домене созданы начальные объекты групповой политики, вы можете создать новую групповую политику, используя один из шаблонов (например, определенные параметры базового уровня безопасности):
New-GPO -Name munTestGPO2 -StarterGPOName "Windows 10 Security Baseline"
Используйте командлет New-GPLink, чтобы связать объект групповой политики с подразделением:
Get-GPO munTestGPO | New-GPLink -Target "ou=test,ou=munich,dc=active-directory,dc=com"Чтобы отсоединить объект групповой политики от подразделения:
Remove-GPLink -Name munTestGPO -Target "ou=test,ou=munich,dc=active-directory,dc=com"Если вы хотите отключить объект групповой политики, не удаляя ссылку, используйте командлет Set-GPLink:
Set-GPLink -name munTestGPO -Target "ou=test,ou=munich,dc=active-directory,dc=com" -linkenabled noОбъект групповой политики больше не применяется к подразделению, но остается связанным.
Если вы хотите принудительно применить объект групповой политики, добавьте параметр -Enforced Yes.
Следующая однострочная строка PowerShell создаст новый объект групповой политики для изменения параметра реестра (отключает автоматическое обновление драйверов), ограничит политику определенной группой безопасности и свяжет ее с организационным подразделением:
$key = 'HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\DriverSearching'
New-GPO 'munDisableDriverUpdate' | Set-GPRegistryValue -Key $key `
-ValueName 'SearchOrderConfig' -Type DWORD -Value 0 | Set-GPPermissions -Replace `
-PermissionLevel None -TargetName 'Authenticated Users' -TargetType group | `
Set-GPPermissions -PermissionLevel gpoapply -TargetName 'mun_admins' `
-TargetType group | New-GPLink -Target "ou=test,ou=munich,dc=active-directory,dc=com" -Order 1Модуль PowerShell не позволяет изменять значения параметров объекта групповой политики из административных шаблонов объекта групповой политики (ADMX). Вы можете редактировать только те параметры реестра, которые развернуты через настройки групповой политики.
Вы можете использовать командлет Get-GPO для отображения информации об определенном объекте групповой политики или всех политиках в вашем домене. Командлет возвращает GUID политики (он часто необходим для диагностики применения объекта групповой политики или решения проблем репликации объекта групповой политики при проверке работоспособности Active Directory), время создания/изменения объекта групповой политики и примененные фильтры WMI объекта групповой политики.
Get-GPO -Domain active-directory.ru -All
Вы можете отобразить настройки фильтра WMI, связанного с объектом групповой политики (но не сможете изменить настройки фильтра):
(Get-GPO munWin10Settings).WmiFilterДля обновления параметров групповой политики на удаленных компьютерах используется командлет Invoke-GPUpdate. Вы можете обновить GPO на конкретном компьютере:
Invoke-GPUpdate -Computer "corp\wks-mn0223" -Target "User"Или на всех компьютерах подразделения:
Get-ADComputer -filter * -Searchbase "ou=Computes,OU=MUNICH,dc=active-directory,dc=com" | foreach{ Invoke-GPUpdate -computer $_.name -force}Командлет Get-GPOReport используется для получения отчета HTML/XML с настройками политики:
Get-GPOReport -name mun-BitlockerEncryption -ReportType HTML -Path "C:\ps\bitlocker_policy.html"В данном случае мы отобразили все настройки политики автоматического сохранения ключей BitLocker в AD.
Командлет Get-GPResultantSetofPolicy позволяет создать результирующий отчет (RSoP — результирующий набор политик) о примененных групповых политиках для указанного пользователя и/или компьютера. Этот отчет выглядит как HTML-отчет, созданный с помощью инструмента gpresult (
GPResult /h c:\ps\gp-report.html /f). Командлет позволяет получить результирующий отчет GPO с удаленного компьютера:
Get-GPResultantSetOfPolicy -user m.muller -computer corp\wks-mn0223 -reporttype html -path c:\ps\gp_rsop_report.htmlКак создать резервную копию и восстановить объекты групповой политики с помощью PowerShell?
Используя PowerShell, вы можете создавать резервные копии и восстанавливать объекты групповой политики в своем домене Active Directory.
Чтобы создать резервную копию всех объектов групповой политики в указанной папке:
Backup-GPO -All -Path C:\Backup\GPOs\Или только один объект групповой политики:
Backup-GPO -Name munWin10Settings -Path C:\Backup\GPOs -Comment "Backup GPO with PowerShell 2022/28/03"Для восстановления объекта групповой политики используется следующая команда:
Restore-GPO -Name munWin10Settings -Path C:\Backup\GPOs\Некоторые резервные версии объектов групповой политики можно хранить в одной папке. Чтобы восстановить конкретную версию GPO, необходимо указать ее резервный идентификатор (32-битный идентификатор):
Restore-GPO -Path ″C:\GPO Backups″ -BackupID 7654321-4321-4321-CCC-1234567890




