- GPUPDATE – выполнение обновления групповых политик для пользователя и компьютера.
- Способы обновления групповых политик Windows на компьютерах домена
- Интервал обновления параметров групповых политик
- GPUpdate.exe – команда обновления параметров групповых политики
- Принудительно обновление политики из консоли Group Policy Management Console (GPMC)
- Invoke-GPUpdate – обновление GPO из Powershell
- Обновление групповой политики Refresh Group Policy
- Обновление групповая политика на локальном компьютере To refresh Group Policy on the local computer
- Windows как обновить политики
- Для чего нужно уметь обновлять групповую политику?
- Методы обновления GPO
- Как обновить GPO через командную строку
- Как обновить GPO через PowerShell
- Обновление групповой политики через оснастку GPMC
- Ошибка 8007071a «Удаленный вызов процедуры был отменен»
- Обновление GPO через PSexec
- PsExec против Invoke-GPUpdate
- Удаленное обновление GPO через Enter-PSSession
- Удаленное обновление GPO через Windows Admin Center
GPUPDATE – выполнение обновления групповых политик для пользователя и компьютера.
Команда GPUPDATE используется для обновления групповых политик для пользователя и/или компьютера .
Формат командной строки:
GPUpdate [/Target:
Параметры командной строки:
/Target:
/Force — Применение всех параметров политики. Если не указано, применяются только изменившиеся параметры политики.
/Wait:значение — Время ожидания (в секундах) завершения обработки политики. По умолчанию — ожидание 600 секунд. Значение ‘0’ — без ожидания. Значение ‘-1’ — ожидание не ограничено. В случае превышения времени ожидания вновь активизируется окно командной строки, но обработка политики продолжается.
/Logoff — Выполнение выхода после обновления параметров групповой политики. Требуется для тех клиентских расширений групповой политики, которые не обрабатывают политику в фоновом режиме, а обрабатывают ее только при входе пользователя, таких, например, как установка программ для пользователя или перенаправление папок. Этот параметр не оказывает влияния, если не вызываются расширения, требующие выхода пользователя.
/Boot — Выполнение перезагрузки после применения параметров групповой политики. Требуется для тех клиентских расширений групповой политики, которые не обрабатывают политику в фоновом режиме, а обрабатывают ее только при запуске, таких, например, как установка программ для компьютера. Этот параметр не оказывает влияния, если не вызываются расширения, требующие перезапуска системы.
/Sync — Следующее активное применение политики должно выполняться синхронно. Активные применения политики происходят при перезагрузке компьютера или при входе пользователя в систему. Можно использовать этот параметр для пользователя, компьютера или для обоих, задав параметр /Target. При этом параметры /Force и /Wait, если они указаны, пропускаются.
gpupdate /? — отобразить подсказку по использования команды.
gpupdate — выполняется обновление политик компьютера и политик пользователя. Применяются только изменившиеся политики.
gpupdate /Target:computer — выполняется обновление политик только для компьютера.
gpupdate /Force — выполняется обновление всех политик.
gpupdate /Boot — обновление групповых политик с перезагрузкой компьютера.
Способы обновления групповых политик 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 с помощью параметра 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 от клиентов).
GPUpdate.exe – команда обновления параметров групповых политики
Всем администраторов знакома команда gpupdate.exe, которая позволяет обновить параметры групповых политик на компьютере. Большинство не задумываясь используют для обновления GPO команду gpupdate /force . Эта команда заставляет компьютер принудительно перечитать все политики с контроллера домена и заново применить все параметры. Т.е. при использовании ключа force клиент обращается к контроллеру домена и заново получает файлы ВСЕХ нацеленных на него политик. Это вызывает повышенную нагрузку на сеть и контроллер домена.
Простая команда gpudate применяет только новые/измененные параметры GPO.
Если все OK, должны появится следующие строки:
Можно отдельно обновить параметры GPO из пользовательской секции:
или только политики компьютера:
gpupdate /target:computer /force
Если некоторые политики нельзя обновить в фоновом режиме, gpudate может выполнить logoff текущего пользователя:
gpupdate /target:user /logoff
Или выполнить перезагрузку компьютера (если изменения в GPO могут применится только во время загрузки Windows):
Принудительно обновление политики из консоли Group Policy Management Console (GPMC)
В консоли GPMC.msc (Group Policy Management Console), начиная с Windows Server 2012, появилась возможность удаленного обновления настроек групповых политик на компьютерах домена.
Add-WindowsCapability -Online -Name Rsat.GroupPolicy.Management.Tools
Теперь после изменения настроек или создания и прилинковки новой GPO, вам достаточно щелкнуть правой клавишей по нужному Organizational Unit (OU) в консоли GPMC и выбрать в контекстном меню пункт Group Policy Update. В новом окне появится количество компьютеров, на которых будет выполнено обновление GPO. Подтвердите принудительное обновление политик, нажав Yes.
Затем GPO по очереди обновяться на каждом компьютере в OU и вы получите результат со статусом обновления политик на компьютерах (Succeeded/Failed).
Данная команда удаленно создает на компьютерах задание планировщика с командой GPUpdate.exe /force для каждого залогиненого пользователя. Задание запускается через случайный промежуток времени (до 10 минут) для уменьшения нагрузки на сеть.
- Открыт порт TCP 135 в Windows Firewall;
- Включены службы Windows Management Instrumentation и Task Scheduler.
Если компьютер выключен, или доступ к нему блокируется файерволом напротив имени такого компьютера появится надпись “The remote procedure call was cancelled”.
По сути этот функционал дает тот же эффект, если бы вы вручную обновили настройки политик на каждом компьютере командой GPUpdate /force .
Invoke-GPUpdate – обновление GPO из Powershell
Также вы можете вызвать удаленное обновление групповых политик на компьютерах с помощью PowerShell комнадлета Invoke-GPUpdate (входит в RSAT). Например, чтобы удаленно обновить пользовательские политики на определенном компьютере, можно использовать команду:
Invoke-GPUpdate -Computer «corp\Computer0200» -Target «User»
При запуске командлета Invoke-GPUpdate без параметров, он обновляет настройки GPO на текущем компьютере (аналог gpudate.exe).
В сочетании с командлетом Get-ADComputer вы можете обновить групповые политики на всех компьютерах в определенном OU:
Get-ADComputer –filter * -Searchbase «ou=Computes,OU=SPB,dc=winitpro,dc=com» | foreach
или на всех компьютерах, которые попадают под определенный критерий (например, на всех Windows Server в домене):
При удаленном выполнении командлета Invoke-GPUpdate или обновления GPO через консоль GPMC на мониторе пользователя может на короткое время появиться окно консоли с запущенной командой gpupdate .
Обновление групповой политики Refresh Group Policy
Применяется к: Windows Server (Semi-Annual Channel), Windows Server 2016 Applies to: Windows Server (Semi-Annual Channel), Windows Server 2016
Эту процедуру можно использовать для ручного обновления групповая политика на локальном компьютере. You can use this procedure to manually refresh Group Policy on the local computer. Когда групповая политика обновляется, если автоматическая регистрация сертификатов настроена и работает правильно, локальный компьютер автоматически регистрирует сертификат центром сертификации (ЦС). When Group Policy is refreshed, if certificate autoenrollment is configured and functioning correctly, the local computer is autoenrolled a certificate by the certification authority (CA).
Групповая политика автоматически обновляется при перезагрузке компьютера, который является членом домена, или при входе пользователя в систему компьютера, который является членом домена. Group Policy is automatically refreshed when you restart the domain member computer, or when a user logs on to a domain member computer. Кроме того, групповая политика периодически обновляется. In addition, Group Policy is periodically refreshed. По умолчанию это периодическое обновление выполняется каждые 90 минут со случайным смещением в течение 30 минут. By default, this periodic refresh is performed every 90 minutes with a randomized offset of up to 30 minutes.
Членство в группах « Администраторы» или «эквивалентное» является минимальным требованием для выполнения этой процедуры. Membership in Administrators, or equivalent, is the minimum required to complete this procedure.
Обновление групповая политика на локальном компьютере To refresh Group Policy on the local computer
На компьютере, на котором установлен сервер политики сети, откройте Windows PowerShell с ® помощью значка на панели задач. On the computer where NPS is installed, open Windows PowerShell® by using the icon on the taskbar.
В командной строке Windows PowerShell введите gpupdate и нажмите клавишу ВВОД. At the Windows PowerShell prompt, type gpupdate, and then press ENTER.
Windows как обновить политики
Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов в рунете Pyatilistnik.org. В прошлый раз мы с вами мы с вами разбирали процедуру создания центрального хранилища административных шаблонов GPO. Движемся дальше и сегодня мы рассмотрим, самую распространенную задачу связанную с групповыми политиками, а именно научимся ее обновлять локально и удаленно, я расскажу в каких ситуациях данная информация вам можете помочь. Мы рассмотрим, какие инструменты у вас есть в арсенале, и я уверяю вас, что вы явно знали не обо всех.
Для чего нужно уметь обновлять групповую политику?
Перед тем, как перейти к практической части я бы хотел описать ряд ситуаций, которые вы можете встретить в своей практике, где вам можете потребоваться ручное обновление GPO. Еще хочу напомнить, что по умолчанию, любая операционная система Windows, являющаяся членом домена AD сама, автоматически производит обновление групповых политик каждые 90-120 минут, это позволяет не генерировать много сетевого трафика и сделать балансировку при обращении к мастеру PDC, но бывают и другие ситуации.
Предположим, что вы внесли важные обновления настроек для ваших серверов, например для авторизации CredSSP, или закрываете какую-то дыру безопасности, логично, что в Active Directory, это делается через групповые политики. Когда у вас 5-10 серверов, то нет проблем чтобы зайти на каждый из них через удаленный рабочий стол и выполнить команду, а когда серверов сотни, тут уже нужна массовость. Еще не нужно сбрасывать со счетов ситуации, когда вы по RDP не можете зайти, через редактор политик обновить не получается, что делать, тут можно сделать все удаленно через PowerShell или командную строку, об этом то же поговорим.
Методы обновления GPO
Давайте составим список способов и инструментов, которые вы можете использовать:
- Командная строка Windows — позволяет быстро выполнить обновление, работает локально
- Оболочка PowerShell — так же, как и cmd позволяет сделать обновление, как локально, так и удаленно
- Оснастка «Управление групповой политикой» — удаленное обновление GPO, есть возможность выбрать отдельные объекты
- Утилита PsExec — позволяет удаленно выполнить задачу
Давайте теперь опробуем каждый из этих методов.
Как обновить GPO через командную строку
Для выполнения этого метода, вы должны зайти локально на компьютер или сервер, открыть командную строку и ввести вот такую, небольшую команду:
Ключ /force произведет принудительное обновление групповой политики. Хочу отметить, что некоторые настройки могут применяться, только после выхода из системы. Если политика показала, что успешно обновилась, но эффекта не произошло, то смотрите мою статью «Почему не применяются GPO», придется делать траблшутинг.
Как вы можете обратить внимание, что команда выше производит обновление политик, как для пользователя, так и для компьютера, но при желании вы можете этим манипулировать и явным образом указать, что подлежит апдейту. Для этого есть ключ /Target:
Еще интересный ключик, это выполнить задержку /Wait: .По умолчанию значение 600 секунд.
Как обновить GPO через PowerShell
Оболочка PowerShell так же имеет отдельный командлет, который легко может инициировать запрос на обновление групповой политики, называется он Invoke-GPUpdate.
Invoke-GPUpdate — это командлет обновляющий параметры групповой политики, включая настройки безопасности, которые установлены на удаленных компьютерах с помощью планирования хода выполнения команды Gpupdate. Вы можете комбинировать этот командлет по сценарию, чтобы запланировать команду Gpupdate на группе компьютеров. Обновление может быть запланировано для немедленного запуска параметров политики или ожидания в течение определенного периода времени, максимум до 31 дня. Чтобы избежать нагрузки на сеть, время обновления будет смещено на случайную задержку.
Давайте запросим обновление политик GPO на моем тестовом сервере с Windows Server 2019, для этого запускаем оболочку PowerShell и вводим команду:
Ключ –RandomDelayInMinutes 0 установит задержку в выполнении на ноль секунд, в противном случае обновление будет выполнено рандомно, через некоторое время.
Обратите внимание, что командлет не выдает никаких результатов, если все работает нормально. В некоторых случаях ваши пользователи могут увидеть всплывающее окно командной строки с заголовком taskeng.exe, которое отображает сообщение «Политика обновления». Через секунду окно исчезает.
Если нужно произвести обновление на удаленном компьютере, то нужно воспользоваться ключом -Computer, команда примет вот такой вид:
Если нужно выполнить принудительно без запроса подтверждения пользователя, то укажите ключ -Force.
Если нужно указать явно, что необходимо запросить политики только для пользователя или компьютера, то можно использовать ключ -Target, который имеет значения User или Computer. Кстати если удаленный компьютер не отвечает, то вы получите ошибку:
+ CategoryInfo : OperationTimeout: (:) [Invoke-GPUpdate], ArgumentException
+ FullyQualifiedErrorId : COMException,Microsoft.GroupPolicy.Commands .InvokeGPUpdateCommand
Еще одним преимуществом командлета PowerShell является то, что у вас есть больше возможностей в выборе машин, которые вы хотите обновить. Например, с помощью приведенной ниже команды вы должны выбрать все компьютеры, которые начинаются с «Note*«.
Если нужно выбрать все компьютеры, то ставим звездочку «*»
При желании вы можете найти все компьютеры по версиям операционных систем и сделать обновление групповых политик по данному критерию.
Не забываем, что можно ограничить поиск отдельным организационным подразделением, для этого есть ключ -Searchbase и команда примет вот такой вид:
Еще вы можете подготовить текстовый файл со списком серверов, который так же можно через цикл обработать, вот по такому принципу:
Я также добавил здесь параметр -Force, чтобы обеспечить повторное применение параметров групповой политики, даже если клиент замечает, что новые версии GPO недоступны. Таким образом, когда мы говорим о принудительном обновлении групповой политики, мы на самом деле имеем в виду две разные вещи. Без параметра Force мы просто незамедлительно инициируем обновление; если мы добавим параметр Force, мы форсируем обновление, даже если обновлять нечего. Параметр Force вступает в игру, если вы считаете, что что-то пошло не так в предыдущем обновлении объекта групповой политики.
Обновление групповой политики через оснастку GPMC
Начиная с операционной системы Windows Server 2012 R2, компания Microsoft расширила функционал оснастки по управлению политиками. Разработчики внедрили механизм, массового и точечного инициирования применения политик GPO к нужным объектам и заметьте через графический интерфейс. Откройте оснастку «Управление групповой политикой«, проще всего, это сделать через окно «Выполнить«, введя там там команду gpmc.msc.
Далее, что вы делаете. Находите нужную вам OU, щелкнуть правым кликом и из контекстного меню выбрать пункт «Обновление групповой политики«.
У вас появится окно «Принудительное обновление групповой политики», в котором вы увидите количество объектов, к которым будет применено действие
На следующем экране вы увидите результат отработки команды, в первом моем примере политики успешно применилась.
При желании все результаты команды можно сохранить в CSV файле
Вот пример содержимого такого файла
на компьютерах, где таким методом была запущена процедура принудительного применения GPO, вы в логах Windows можете обнаружить событие с кодом 1704:
То же самое можно посмотреть и в Windows Admin Center, где нужно зайти в раздел события.
Ошибка 8007071a «Удаленный вызов процедуры был отменен»
Иногда в консоли GPMC вы можете получать ошибку:
Связана она с тем, что на удаленных компьютерах у вас брандмауэр Windows блокирует эти вызовы, чтобы это поправить я вам советую сделать разрешающую политику, подробнее читайте, как исправить ошибку 8007071a.
Обновление GPO через PSexec
Я вам очень часто рассказываю в своих примерах из моей практики, об утилите PSexec и сборнике SysInternals от Марка Руссиновича. Суть метода в том, что с помощью специальной утилиты вы сможете выполнить удаленную команду, ранее я так удаленно включал RDP на сервере или клиентской машинке.
Далее вы распаковываете архив, если он в таком виде и открываете папку с утилитами SysInternals в командной строке, напомню сделать, это можно через команду cd или через правый клик с зажатым Shift по нужной папке, выбрав пункт «Открыть окно команд».
Обращаю внимание, что у вас должны быть соблюдены несколько требований:
- Как и в случае Invoke-GPUpdate, вы должны изменить настройки брандмауэра на своих клиентах. Поскольку PsExec использует протокол SMB, вам нужно открыть TCP-порт 445. Как открыть порт я уже подробно рассказывал, можете посмотреть, советую использовать для этого групповую политику.
- Второе, это наличие прав на удаленном компьютере, чтобы запустить там Gpupdate
Теперь выполните команду:
Обратите внимание, что параметр -i здесь важен. Это гарантирует, что PsExec взаимодействует с удаленным рабочим столом, что необходимо для обновления пользовательских политик. Если этот параметр не указан, будут обновлены только конфигурации компьютера, хотя ни PsExec, ни gpupdate не выдадут сообщение об ошибке. Без параметра –i gpupdate обновит пользовательские настройки, только если вы вошли в систему с одинаковой учетной записью на исходном и целевом компьютере.
В результате будет удаленный запуск утилиты gpupdate, если все хорошо, то вы получите сообщение «gpupdate exited on svt2019s01.root.pyatilistnik.org with error code 0«.
на удаленном компьютере в журналах системы вы увидите два события 1500 и 1501.
Так же вы можете подключиться вообще к удаленной командной строке, через команду:
Далее просто пишите gpupdate /force, обратите внимание я через команду hostname показал, что подключение идет с одного компьютера на другой.
Если компьютер не подключен к сети, вы получите следующее сообщение об ошибке:
Чтобы массово обновить групповую политику на всех компьютерах домена, воспользуйтесь знаком звездочки «*»:
Если это не помогло и выскочила ошибка, то может воспользоваться через PowerShell. В оболочке перейдите в каталог с утилитами PSTools и выполните:
Или можно из конкретного OU добавив
Другой вариант — сначала экспортировать все имена компьютеров из контейнера Active Directory в текстовый файл с помощью командлета Get-ADComputer:
Обратите внимание, что мы должны кодировать выходной файл с помощью ASCII, чтобы мы могли прочитать его содержимое из пакетного файла следующим образом:
PsExec против Invoke-GPUpdate
Основным недостатком метода PsExec является то, что он относительно медленный. Это может занять от 3 до 4 секунд на компьютер, а для компьютеров, которые не подключены к сети, это может занять еще больше времени. PsExec иногда даже зависал во время моих тестов.
Разрешение входящих подключений через порт 445 является угрозой безопасности. Компьютерные черви могут использовать этот порт, а хакеры могут делать много неприятных вещей с помощью PsExec. Открытие порта планировщика заданий для Invoke-GPUpdate также проблематично, но я думаю, что порт 445 более популярен среди программистов вредоносных программ.
Таким образом, в большинстве сценариев Invoke-GPUpdate является лучшим вариантом. Однако, если вы все равно открыли порт 445 по другим причинам и не хотите открывать порты Invoke-GPUpdate, вы можете предпочесть PsExec для принудительного обновления групповой политики.
Удаленное обновление GPO через Enter-PSSession
Еще в PowerShell есть командлет для удаленного подключения к компьютеру, называется он Enter-PSSession, его принцип работ, как у PsExec. Откройте оснастку PowerShell и введите:
Далее вы подключитесь к удаленному компьютеру, где потом просто введите gpupdate /force.
Удаленное обновление GPO через Windows Admin Center
Если вы в своей практике используете утилиту удаленного администрирования Windows Admin Center, то вы легко можете подключиться к удаленному серверу и обновить политики GPO все через тот же gpupdate /force.