Способы обновления групповых политик Windows на компьютерах домена

Способы обновления групповых политик Windows на компьютерах домена

В этой статье мы рассмотрим особенности обновления параметров групповых политик на компьютерах домена Active Directory: автоматическое обновление политик, команду
GPUpdate
, удаленное обновление через консоль Group Policy Management Console (
GPMC.msc
) и командлет PowerShell
Invoke-GPUpdate
.

Интервал обновления параметров групповых политик

Чтобы новые настройки, которые вы задали в локальной или доменной групповой политике (GPO) применились на клиентах, необходимо, чтобы служба Group Policy Client перечитала политики и внесла изменения в настройки клиента. Это процесс называется обновление групповых политик. Настройки групповых политик обновляются при загрузке компьютере и входе пользователя, или автоматически в фоновом режиме раз в 90 минут + случайное смещение времени (offset) в интервале от 0 до 30 минут (т.е. политики гарантировано применятся на клиентах в интервале 90 – 120 минут после обновления файлов GPO на контроллере домена).

Контроллеры домена по умолчанию обновляют настройки GPO намного чаще — раз в 5 минут.

Вы можете изменить интервал обновления настрое GPO с помощью параметра Set Group Policy refresh interval for computers, который находится в секции GPO Computer Configuration -> Administrative Templates -> System -> Group Policy.

Включите политику (Enabled) и задайте время (в минутах) в следующих настройках:

  • This setting allow you to customize how often Group Policy is applied to computer (от 0 до 44640 минут) – как часто клиент должен обновлять настройка GPO (если указать тут 0 – политики начнут обновляться каждые 7 секунд – не стоит этого делать);
  • This is a random time added to the refresh interval to prevent all clients from requesting Group Policy at the same time (от 0 до 1440 минут) – максимальное значение случайного интервал времени, которые добавляется в виде смещения к предыдущему параметру (используется для уменьшения количества одновременных обращений к DC за файлами GPO от клиентов).

настроить частуту автоматического обновления GPO в Windows

Имейте в виду, что частое обновление GPO приводит к увеличению трафика к контроллерам домена и повышенной нагрузке на сеть.

GPUpdate.exe – команда обновления параметров групповых политики

Всем администраторов знакома команда gpupdate.exe, которая позволяет обновить параметры групповых политик на компьютере. Большинство не задумываясь используют для обновления GPO команду
gpupdate /force
. Эта команда заставляет компьютер принудительно перечитать все политики с контроллера домена и заново применить все параметры. Т.е. при использовании ключа force клиент обращается к контроллеру домена и заново получает файлы ВСЕХ нацеленных на него политик. Это вызывает повышенную нагрузку на сеть и контроллер домена.

Простая команда
gpudate
применяет только новые/измененные параметры GPO.

Если все OK, должны появится следующие строки:

Updating policy...
Computer Policy update has completed successfully.
User Policy update has completed successfully.

gpupdate - команда обновления параметров групповых политик

Можно отдельно обновить параметры GPO из пользовательской секции:

gpupdate /target:user

или только политики компьютера:

gpupdate /target:computer /force

Если некоторые политики нельзя обновить в фоновом режиме, gpudate может выполнить logoff текущего пользователя:

gpupdate /target:user /logoff

Или выполнить перезагрузку компьютера (если изменения в GPO могут применится только во время загрузки Windows):

gpupdate /Boot

Принудительно обновление политики из консоли Group Policy Management Console (GPMC)

В консоли GPMC.msc (Group Policy Management Console), начиная с Windows Server 2012, появилась возможность удаленного обновления настроек групповых политик на компьютерах домена.

Теперь после изменения настроек или создания и прилинковки новой GPO, вам достаточно щелкнуть правой клавишей по нужному Organizational Unit (OU) в консоли GPMC и выбрать в контекстном меню пункт Group Policy Update. В новом окне появится количество компьютеров, на которых будет выполнено обновление GPO. Подтвердите принудительное обновление политик, нажав Yes.

удаленное обновление групповых политик из консоли GPMC

Затем GPO по очереди обновяться на каждом компьютере в OU и вы получите результат со статусом обновления политик на компьютерах (Succeeded/Failed).

Данная команда удаленно создает на компьютерах задание планировщика с командой GPUpdate.exe /force для каждого залогиненого пользователя. Задание запускается через случайный промежуток времени (до 10 минут) для уменьшения нагрузки на сеть.

Для работы этого функционала GPMC на клиенте должны быть выполнены следующие условия:
  • Открыт порт TCP 135 в Windows Firewall;
  • Включены службы Windows Management Instrumentation и Task Scheduler.

Если компьютер выключен, или доступ к нему блокируется файерволом напротив имени такого компьютера появится надпись “The remote procedure call was cancelled”.

По сути этот функционал дает тот же эффект, если бы вы вручную обновили настройки политик на каждом компьютере командой
GPUpdate /force
.

отчет по обновлению GPO на компьютерах домена

Invoke-GPUpdate – обновление GPO из Powershell

Также вы можете вызвать удаленное обновление групповых политик на компьютерах с помощью PowerShell комнадлета Invoke-GPUpdate (входит в RSAT). Например, чтобы удаленно обновить пользовательские политики на определенном компьютере, можно использовать команду:

Invoke-GPUpdate -Computer "corpComputer0200" -Target "User"

При запуске командлета Invoke-GPUpdate без параметров, он обновляет настройки GPO на текущем компьютере (аналог gpudate.exe).

В сочетании с командлетом Get-ADComputer вы можете обновить групповые политики на всех компьютерах в определенном OU:

Get-ADComputer –filter * -Searchbase "ou=Computes,OU=SPB,dc=winitpro,dc=com" | foreach{ Invoke-GPUpdate –computer $_.name -force}

или на всех компьютерах, которые попадают под определенный критерий (например, на всех Windows Server в домене):

Вы можете задать случайную задержку обновления GPO с помощью параметра RandomDelayInMinutes. Таким образом вы можете уменьшить нагрузку на сеть, если одновременно обновляете политики на множестве компьютеров. Для немедленного применения политик используется параметр RandomDelayInMinutes 0.

Get-ADComputer -Filter {enabled -eq "true" -and OperatingSystem -Like '*Windows Server*' }| foreach{ Invoke-GPUpdate –computer $_.name –RandomDelayInMinutes 10 -force}

Для недоступных компьютеров команда вернет ошибку:
Invoke-GPUpdate: Computer "spb-srv01" is not responding. The target computer is either turned off or Remote Scheduled Tasks Management Firewall rules are disabled.

Invoke-GPUpdate - командлет powershell для обновления gpo

При удаленном выполнении командлета Invoke-GPUpdate или обновления GPO через консоль GPMC на мониторе пользователя может на короткое время появиться окно консоли с запущенной командой
gpupdate
.

PowerShell
Способы обновления групповых политик Windows на компьютерах домена