Основной классический инструмент для управления групповыми политиками (GPO) в домене Active Directory — графическая консоль Group Policy Management Console (gpmc.msc). Однако для автоматизации и повышения эффективности некоторых задач управления GPO в Active Directory, вы можно использовать PowerShell, который предоставляет широкие возможности по администрированию групповых политик.
Для управления доменными групповыми политиками на вашем компьютере должен быть установлен модуль GroupPolicy . Данный модуль доступен в Windows Server после установки компонента Group Policy Management . Данную опцию можно установить из консоли Server Manager или с помощью PowerShell :
Install-WindowsFeature GPMC -IncludeManagementTools
Add-WindowsCapability -Online -Name Rsat.GroupPolicy.Management.Tools~~~~0.0.1.0
Полный список PowerShell командлетов в модуле GroupPolicy можно вывести с помощью команды:
Get-Command –Module GroupPolicy
С помощью PowerShell модуля GroupPolicy вы можете:
Рассмотрим несколько типовых задач администратора, в которых можно использовать PowerShell для управления групповыми политиками.
Чтобы создать новую пустую политику, воспользуйтесь командой:
New-GPO -Name spbTestGPO -Comment "Testing GPO PowerShell"
Если у вас в домене созданы стартовые групповые политики (Starter GPO), вы можете создать новую политику на основе такого шаблона (например, с определенными настройками Security Baseline ):
New-GPO -Name spbTestGPO2 -StarterGPOName "Windows 10 Security Baseline"
Чтобы назначить политику на определенную OU, используйте командлет New-GPLink :
Get-GPO spbTestGPO | New-GPLink -Target "ou=test,ou=spb,ou=ru,dc=remontka,dc=loc"
Чтобы отлинковать GPO от OU:
Remove-GPLink -Name spbTestGPO -Target "ou=test,ou=spb,ou=ru,dc=remontka,dc=loc"
Если нужно отключить применение GPO, но не удалять связь, используется командлет Set-GPLink :
Set-GPLink -name spbTestGPO -Target "ou=test,ou=spb,ou=ru, dc=remontka,dc=loc" -linkenabled no
GPO перестала применяться к OU, но осталась слинкованной.
Если нужно применить GPO в принудительном режиме, добавьте параметр -Enforced Yes.
Следующая однострочная команда PowerShell создаст новую GPO, которая меняет настройки одного параметра реестра ( отключает автообновление драйверов ), ограничит применение политики определенной группой безопасности, и прилинкует к определенному OU:
$key = 'HKLMSOFTWAREMicrosoftWindowsCurrentVersionDriverSearching'
New-GPO 'spbDisableDriverUpdate' | 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 'spb_admins' `
-TargetType group | New-GPLink -Target "ou=test,ou=spb,ou=ru,dc=remontka,dc=loc" –Order 1
С помощью командлета Get-GPO можно вывести информацию о конкретном объекте GPO или о всех политиках в домене. Данный командлет возвращает GUID политики (часто нужен при диагностике применения GPO на компьютерах или решения проблем с репликацией объектов политик при проверке состояния AD ), время создания, модификации политики, примененные WMI фильтры GPO .
Get-GPO -Domain remontka.com -All
Можно вывести настройки WMI фильтра, привязанного к GPO (но изменить настройки фильтра не получится):(Get-GPO spbWin10Settings).WmiFilter
Для обновления групповых политик на удаленных компьютерах используется командлет Invoke-GPUpdate . Можно обновить настройки GPO на конкретном компьютере:
Invoke-GPUpdate -Computer "corppc0200" -Target "User"
Или на всех компьютерах в указанной OU:
Get-ADComputer –filter * -Searchbase "ou=Computes,OU=SPB,dc=remontka,dc=com" | foreach{ Invoke-GPUpdate –computer $_.name -force}
Командлет Get-GPOReport используется для построения HTML/XML отчетов с настройками указанной политики:
Get-GPOReport -name spb-BitlockerEncryption -ReportType HTML -Path "C:psbitlockerpolicy.html"
В данном случае мы вывели все настройки в политике автоматического сохранения ключей BitLocker в AD .
Командлет Get-GPResultantSetofPolicy позволяет построить результирующий отчет (RSoP — Resultant Set of Policy) по примененным групповым политикам к указанному пользователю и (или) компьютеру. Этот отчет выглядит аналогично HTML отчету о примененных политиках к компьютеру, который генерируется с помощью утилиты gpresult ( GPResult /h c:psgp-report.html /f
). Командлет позволяет получить отчет по результирующим групповым политикам с удаленного компьютера:
Get-GPResultantSetOfPolicy -user kbuldogov -computer corppc0200 -reporttype html -path c:psgp_rsop_report.html
С помощью PowerShell вы можете создавать резервные копии объектов групповых политик в домене и восстанавливать их.
Можно создать резервную копию всех GPO:
Backup-GPO -All -Path C:BackupGPOs
Или только одной политики:
Backup-GPO -Name spbWin10Settings -Path C:BackupGPOs -Comment ″Test GPO Backup PowerShell″
Для восстановления GPO используется:
Restore-GPO -Name spbWin10Settings -Path C:BackupGPOs
Вы можете хранить несколько версий резервных копий GPO в одной папке. Чтобы восстановить определенную версию GPO, нужно указать ее ID резервной копии (32 разрядный идентификатор):
Restore-GPO -Path ″C:GPO Backups″ -BackupID 1235469-1234-5432-AAAA-8987778333
Как менялся логотип Apple на протяжении многих лет. Логотип Apple — это не просто символ,…
Security Boot Fail при загрузке Acer — решение проблемы При загрузке ноутбука Acer с флешки,…
Ноутбук не включается — варианты решения Если при попытке включить ноутбук вы обнаруживаете, что он…
The AC power adapter wattage and type cannot be determined — причины и решение При…
Свистит или звенит блок питания компьютера — причины и решения Некоторые владельцы ПК могут обратить…
Мигает Caps Lock на ноутбуке HP — почему и что делать? При включении ноутбука HP…