Обновление групповой политики удаленно и локально | Настройка серверов windows и linux

Gpupdate: команда обновления параметров групповых политик | виртуализация и облачные решения

После изменения любых настроек групповых политик с помощью локального редактора GPO (gpedit.msc) или доменного редактора политик (gpmc.msc), новые настройки политик применяются к пользователю (или компьютеру) не сразу. Вы можете дождаться автоматического обновления политик (придётся ждать до 90 минут), либо можете обновить и применить политики вручную с помощью команды GPUpdate. Команда GPUpdate используется для принудительного обновления групповых политик компьютера и/или пользователя.

Совет. В Windows 2000 для ручного обновления групповых политик использовалась команда secedit /refreshpolicy. В следующих версиях Windows она была заменена утилитой GPUpdate.

Полный синтаксис команда gpupdate выглядит так:

Gpupdate [/Target:{Computer | User}] [/Force] [/Wait:<value>] [/Logoff] [/Boot] [/Sync]

параметры утилиты gpupdate

При запуске команды gpupdate без параметров выполняется обновление только новыех и изменённых настроек политик пользователя и компьютера

gpupdate - обновить настройки групповых политик на клиенте

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

Вы можете обновить только политики пользователя или только политики компьютера с помощью параметра /target. Например:

Gpudate /target:user

или

Gpupdate /target:computer

Для принудительного обновления настроек групповых политик используется команда GPUpdate /force. В чем разница между GPUpdate и GPUpdate /force?

Команда gpupdate применяет только измененные политики, а команда GPUpdate /force заново переприменяет все политики клиента — и новые и старые (вне зависимости от того, были ли они изменены).

В большинстве случаев для обновления политик на компьютере нужно использовать gpupdate. В больших доменах Active Directory частое использование ключа /force при обновлении GPO вызывает большую нагрузку на контроллеры домена (т.к. компьютеры запрашивают заново все нацеленные на них или на пользователей политики).

Как мы уже говорили ранее групповые политики обновляются автоматически каждые 90 минут или во время загрузки компьютера. Поэтому в большинстве случае использование опции gpupdate /force не оправдано (особенно в различных скриптах) из-за высокой нагрузки на клиентские компьютеры, контроллеры домена и каналы передачи данных. Не стоит часто использовать параметр /force для принудительного обновления натсроек политик у клиентов, подключенных по медленным и нестабильным каналам передачи.

Вы можете добавить задержку (до 600 секунд) при обновлении политик с помощью параметра /wait:

Gpupdate /wait:30

Т.к. некоторые политики пользователя нельзя обновить в фоновом режиме, а только при входе пользователя в систему (установка программ, перенаправление папок и т.д.), вы можете выполнить logoff для текущего пользователя командой:

gpupdate /logoff
Некоторые настройки политик компьютера могут применится только при загрузке Windows, поэтому вы можете инициировать перезагрузку компьютера с помощью параметра /Boot:

gpupdate /Boot
Параметр /Sync указывает, что следующее применение политики должно выполняться синхронно. Активные применения политики происходят при перезагрузке компьютера или при входе пользователя в систему.

В PowerShell 3.0 был добавлен командлет Invoke-GPUpdate, который можно использовать для обновления политик на удаленных компьютерах. Например, следующая команда запустит удаленное обновление групповых политик на компьютере msk-PC-1-22:

Invoke-GPUpdate -Computer msk-PC-1-22 -Force

Вы можете удаленно запустить принудительное обновление политик на всех компьютерах в указанном OU Active Directory с помощью команд:

$Comps = Get-AdComputer -SearchBase "OU=Computers,OU=MSK,DC=vmblog,DC=ru" -Filter *
Foreach ($Comp in $Comps) {invoke-gpupdate -Computer $Comp.Name}

Psexec против invoke-gpupdate

Основным недостатком метода PsExec является то, что он относительно медленный. Это может занять от 3 до 4 секунд на компьютер, а для компьютеров, которые не подключены к сети, это может занять еще больше времени. PsExec иногда даже зависал во время моих тестов.

:/>  Gpedit.msc не найден в Windows 7, 8, 8.1, 10, не запускается secpol.msc, где находится редактор локальной групповой политики

Разрешение входящих подключений через порт 445 является угрозой безопасности. Компьютерные черви могут использовать этот порт, а хакеры могут делать много неприятных вещей с помощью PsExec. Открытие порта планировщика заданий для Invoke-GPUpdate также проблематично, но я думаю, что порт 445 более популярен среди программистов вредоносных программ.

Таким образом, в большинстве сценариев Invoke-GPUpdate является лучшим вариантом. Однако, если вы все равно открыли порт 445 по другим причинам и не хотите открывать порты Invoke-GPUpdate, вы можете предпочесть PsExec для принудительного обновления групповой политики.

Wmi фильтры

Windows Management Instrumentation (WMI) — один из наиболее мощных инструментов для управления операционной системой Windows. WMI содержит огромное количество классов, с помощью которых можно описать практически любые параметры пользователя и компьютера. Посмотреть все имеющиеся классы WMI в виде списка можно с помощью PowerShell, выполнив команду:

Get-WmiObject -List

Для примера возьмем класс Win32_OperatingSystem, который отвечает за свойства операционной системы. Предположим, что требуется отфильтровать все операционные системы кроме Windows 10. Заходим на компьютер с установленной Window 10, открываем консоль PowerShell и выводим имя, версию и тип операционной системы с помощью команды:

Get-WmiObject -Class Win32_OperatingSystem | fl Name, Version, ProductType

Для фильтра используем версию и тип ОС. Версия одинакова для клиентских и серверных ОС и определяется так:

• Window Server 2022Windows 10 — 10.0• Window Server 2022 R2Windows 8.1 — 6.3• Window Server 2022Windows 8 — 6.2• Window Server 2008 R2Windows 7 — 6.1• Window Server 2008Windows Vista — 6.0

Тип продукта отвечает за назначение компьютера и может иметь 3 значения:

• 1 — рабочая станция;• 2 — контроллер домена;• 3 — сервер.

Теперь переходим непосредственно к созданию фильтра. Для этого открываем оснастку «Group Policy Management» и переходим к разделу «WMI Filters». Кликаем на нем правой клавишей мыши и в контекстном меню выбираем пункт «New».

В открывшемся окне даем фильтру имя и описание. Затем жмем кнопку «Add» и поле «Query» вводим WQL запрос, который и является основой WMI фильтра. Нам необходимо отобрать ОС версии 10.0 с типом 1, соответственно запрос будет выглядеть так:

SELECT * FROM Win32_OperatingSystem WHERE Version LIKE ″10.0%″ AND ProductType = ″1″

Примечание. Windows Query Language (WQL) — язык запросов WMI. Подробнее о нем можно узнать на MSDN.

Сохраняем получившийся фильтр.

Теперь осталось только назначить WMI фильтр на объект групповой политики, например на GPO3. Переходим к свойствам GPO, открываем вкладку «Scope» и в поле «WMI Filtering» выбираем из списка  нужный фильтр.

Для чего нужно уметь обновлять групповую политику?

Перед тем, как перейти к практической части я бы хотел описать ряд ситуаций, которые вы можете встретить в своей практике, где вам можете потребоваться ручное обновление GPO.  Еще хочу напомнить, что по умолчанию, любая операционная система Windows, являющаяся членом домена AD сама, автоматически производит обновление групповых политик каждые 90-120 минут, это позволяет не генерировать много сетевого трафика и сделать балансировку при обращении к мастеру PDC, но бывают и другие ситуации.

:/>  Все редакции и версии Windows 10

Предположим, что вы внесли важные обновления настроек для ваших серверов, например для авторизации CredSSP, или закрываете какую-то дыру безопасности, логично, что в Active Directory, это делается через групповые политики. Когда у вас 5-10 серверов, то нет проблем чтобы зайти на каждый из них через удаленный рабочий стол и выполнить команду, а когда серверов сотни, тут уже нужна массовость.

Вы всегда должны уметь и иметь возможность вносить массовые изменения на ваших серверах, и применять их как можно скорее

Как изменить интервал актуализации групповой политики?

Прежде чем новые параметры, заданные вами в локальной или доменной групповой политике (GPO), будут применены к клиентам Windows, служба клиента групповой политики должна прочитать политики и внести изменения в настройки Windows. Этот процесс называется Group Policy Update (актуализация групповой политики).

Параметры GPO обновляются при загрузке компьютера, входе пользователя в систему и автоматически обновляются в фоновом режиме каждые 90 минут случайное смещение времени 0–30 минут (это означает, что параметры политики обязательно будут применены к клиентам через 90–120 минут после обновления файлов GPO на контроллере домена).

По умолчанию контроллеры домена обновляют настройки GPO чаще: каждые 5 минут.

Как обновить gpo через командную строку

Для выполнения этого метода, вы должны зайти локально на компьютер или сервер, открыть командную строку и ввести вот такую, небольшую команду:

gpupdate /force

Ключ /force произведет принудительное обновление групповой политики. Хочу отметить, что некоторые настройки могут применяться, только после выхода из системы. Если политика показала, что успешно обновилась, но эффекта не произошло, то смотрите мою статью “Почему не применяются GPO”, придется делать траблшутинг.

Методы обновления gpo

Давайте составим список способов и инструментов, которые вы можете использовать:

Давайте теперь опробуем каждый из этих методов.

Обновление групповой политики через оснастку gpmc

Начиная с операционной системы Windows Server 2022 R2, компания Microsoft расширила функционал оснастки по управлению политиками. Разработчики внедрили механизм, массового и точечного инициирования применения политик GPO к нужным объектам и заметьте через графический интерфейс.

Далее, что вы делаете. Находите нужную вам OU, щелкнуть правым кликом и из контекстного меню выбрать пункт “Обновление групповой политики”.

У вас появится окно “Принудительное обновление групповой политики”, в котором вы увидите количество объектов, к которым будет применено действие

На следующем экране вы увидите результат отработки команды, в первом моем примере политики успешно применилась.

При желании все результаты команды можно сохранить в CSV файле

Вот пример содержимого такого файла

на компьютерах, где таким методом была запущена процедура принудительного применения GPO, вы в логах Windows можете обнаружить событие с кодом 1704:

:/>  Windows 8.1 приглашение при входе сменить пользователя

Политика безопасности в объектах групповой политики успешно применена.

Ошибка 8007071a “удаленный вызов процедуры был отменен”

Иногда в консоли GPMC вы можете получать ошибку:

8007071a “Удаленный вызов процедуры был отменен”

Связана она с тем, что на удаленных компьютерах у вас брандмауэр Windows блокирует эти вызовы, чтобы это поправить я вам советую сделать разрешающую политику, подробнее читайте, как исправить ошибку 8007071a.

Следующие политики gpo не были применены, так как они отфильтрованы


При устранении неполадок с групповыми политиками стоит обратить внимание на раздел: Следующие политики GPO не были применены, так как они отфильтрованы

Он содержит список объектов групповой политики, которые по какой-либо причине не применяются к этому объекту. Вот несколько причин, по которым политики не применяются:

  • Filtering: Not Applied (Empty), в русифицированной версии «Фильтрация: Не применяется (пусто)» – политика пуста (применять нечего);
  • Filtering: Denied (Unknown Reason), в русифицированной версии «Фильтрация: отклонено (неизвестная причина)» – пользователь/компьютер, скорее всего, не имеет разрешения на чтение/применение этой политики (разрешения можно настроить на вкладке «Безопасность» в Консоли управления групповой политикой
    Вы также можете понять, следует ли применять политику к конкретному объекту AD, используя вкладку действующих разрешений (Advanced → Effective Access) в GPMC (консоли управления групповыми политиками).
  • Filtering: Denied (Security), в русифицированной версии «Фильтрация: Запрещено (Безопасность)» – явный отказ указывается в разделе Apply Group Policy («Применить групповую политику»), или объект AD отсутствует в списке групп в разделе «Фильтрация безопасности» объекта групповой политики.

Итак, в данной статье мы рассмотрели особенности диагностики применения групповых политик с помощью инструмента GPResult и рассмотрели основные сценарии его использования.

Удаленное обновление gpo через enter-pssession

Еще в PowerShell есть командлет для удаленного подключения к компьютеру, называется он Enter-PSSession, его принцип работ, как у PsExec. Откройте оснастку PowerShell и введите:

Enter-PSSession -ComputerName svt2022s01

Далее вы подключитесь к удаленному компьютеру, где потом просто введите gpupdate /force.

Фильтры безопасности

Фильтры безопасности позволяют ограничить применение политик определенной группой безопасности. Для примера возьмем GPO2, с помощью которого производится централизованная настройка меню Пуск на рабочих станциях с Windows 8.1Windows 10. GPO2 назначен на OU Employees и применяется ко всем без исключения пользователям.

Как запустить gpresult на удалённом компьютере?

GPResult также может собирать данные с удалённого компьютера без необходимости локального входа в удалённую систему или через RDP. Команда для сбора RSOP с удалённого компьютера выглядит так:

GPResult /s ИМЯ-УДАЛЁННОГО-КОМПЬЮТЕРА1 /r

Точно так же вы можете удалённо собирать данные как о пользовательских, так и о компьютерных политиках.

Как использоваться инструментом group policy results (gpresult.exe)?

Команду GPResult необходимо запустить на компьютере, на котором вы хотите проверить применение групповых политик. Команда GPResult имеет следующий синтаксис:

Все опции: gpresult


GPResult отображает результирующую политику (RSoP) для указанного пользователя и компьютера.

Использование:

Оставьте комментарий