Чтобы на компьютере Windows применились новые настройки локальной или доменной групповой политики (GPO), служба Group Policy Client (
gpsvc
) должна перечитать настройки политик и применить изменения. Настройки групповых политик в Windows обновляются при загрузке компьютера, при входе пользователя, и автоматически в фоновом режиме (в течении от 90 до 120 минут). В некоторых случаях администратору нужно, чтобы новые настройки политики применились немедленно, не дожидаясь указанных выше событий.
Автоматическое применение настроек групповых политик в Windows
Выше мы указали, когда настройки GPO автоматически применяются на клиенте:
- Настройки групповых политик, заданные в разделе секции Computer Configuration применяются при загрузке Windows.
- Настройки GPO из секции User Configuration применяются при входе пользователя.
- Фоновое обновление групповых политик выполняется автоматическая раз в 90 минут + случайное смещение времени (offset) в интервале от 0 до 30 минут (рандомный интервал позволяет уменьшить нагрузку на DC одновременным запросами от клиентов). Это означает, что новые политики гарантировано применятся на клиентах в интервале 90 – 120 минут после обновления файлов GPO на контроллере домена.Контроллеры домена по умолчанию обновляют настройки GPO раз в 5 минут.
Настройки фонового обновления политик можно изменить с помощью параметра следующих параметров GPO в разделе Computer Configuration -> Administrative Templates -> System -> Group Policy:
- Set Group Policy refresh interval for computers — здесь можно изменить частоту обновления настроек GPO со стандартных 90 минут и значение смещения.
- Turn off background refresh of group policy — позволяет полностью отключить фоновое обновление настроек политик
Но в большинстве случаев трогать эти настройки не рекомендуется.
Принудительное обновление групповых политик на компьютере Windows
Для принудительного, немедленного обновления (применения) настроек групповых политик на компьютере Windows используется утилита gpupdate.
Большинство администраторов не задумываясь используют для обновления политик команду:
gpupdate /force
.
Эта команда заставляет компьютер принудительно перечитать все политики с контроллера домена и заново применить все параметры. Т.е. ключ force указывает клиенту что нужно обратиться к контроллеру домена и заново получает файлы ВСЕХ нацеленных на него GPO. Это вызывает повышенную нагрузку на сеть и контроллер домена.
Простая команда
gpudate
без параметров применяет только новые/измененные параметры GPO.
Updating policy... Computer Policy update has completed successfully. User Policy update has completed successfully.
Можно отдельно обновить параметры GPO из пользовательской секции
gpupdate /target:user
или только политики компьютера:
gpupdate /target:computer /force
Если некоторые политики нельзя обновить в фоновом режиме (обычно это клиентские расширения GPO, которые обрабатываются при входе пользователя), gpudate может заверишь сеанс текущего пользователя (logoff):
gpupdate /target:user /logoff
Или выполнить перезагрузку компьютера (некоторые политики, такие как установка программ в GPO, или логон скрипты применяются только при загрузке Windows):
gpupdate /Boot
Обновить групповые политики на удаленных компьютерах
Есть несколько способов для принудительного обновления настроек GPO на удаленных компьютерах Windows.
В самом простом случае вы просто можете выполнить команду gpupdate на удаленном компьютере:
- спомощьюутилиты PSexec:
PsExec \\PC1 gpupdate
- через PowerShell Remoting (WinRM):
Invoke-Command -computername PC1 -Scriptblock {gpupdate /force}
Если нужно массово обновить групповые политики на множестве компьютеров, воспользуйтесь консолью Group Policy Management Console (
GPMC.msc
).
Add-WindowsCapability -Online -Name Rsat.GroupPolicy.Management.Tools~~~~0.0.1.0
Чтобы обновить политики на компьютерах, щёлкните в консоли GPMC по нужному Organizational Unit (OU) и выберите Group Policy Update.
Консоль поочерёдно подключится к каждому компьютеру в OU, и вы получите результат со статусом обновления политик (Succeeded/Failed).
Утилита создает на компьютерах задание планировщика с командой
GPUpdate.exe /force
для каждого залогиненого пользователя. Задание запускается через случайный промежуток времени (до 10 минут) для уменьшения нагрузки на сеть.
- Remote Scheduled Tasks Management (RPC)
- Remote Scheduled Tasks Management (RPC-ERMAP)
- Windows Management Instrumentation (WMI-IN)
Если компьютер выключен, или доступ к нему блокируется файерволом, для него вернется ошибка ‘The remote procedure call was cancelled‘.
Также для удаленного обновления политики можно использовать PowerShell командлет Invoke-GPUpdate, который входит в модуль управления GPO. Например, для обновления политик пользователя на удаленном компьютере, выполните:
Invoke-GPUpdate -Computer PC01 -Target "User"
-RandomDelayInMinutes 0
.В сочетании с командлетом Get-ADComputer вы можете принудительно обновить настройки групповых политик на всех компьютерах (исключая неактивные) в определенном OU:
Get-ADComputer –filter {enabled -eq "true"} -Searchbase "ou=Computes,OU=SPB,dc=winitpro,dc=com" | foreach{ Invoke-GPUpdate –computer $_.name –RandomDelayInMinutes 10 -force}
При удаленном выполнении командлета Invoke-GPUpdate или обновления GPO через консоль GPMC на мониторе пользователя может на короткое время появиться черное окно консоли с запущенной командой
gpupdate
.