Понимание команды GPUpdate [В глубине]

Групповая политика – это популярная служба Active Directory, которую многие организации используют сегодня. Если ваша организация использует групповую политику, вероятно, вы знакомы с командой gpupdate; более конкретно с командой gpupdate /force.

Вы знаете, что делает gpupdate? Вам когда-нибудь нужно использовать параметр force? И если да, в каких случаях это имеет смысл?

В этой статье вы узнаете, что делает gpupdate, как оно работает, и как наилучшим образом использовать его параметры.

Что такое GPUpdate?

Gpupdate – это утилита командной строки от Microsoft, поставляемая со всеми версиями операционной системы Windows. Это утилита, которая управляет применением объектов групповой политики (GPO) на назначенных компьютерах службы Active Directory.

Обычно, когда администратор назначает GPO компьютеру или пользователю, этот компьютер автоматически проверяет наличие изменений на контроллере домена и применяет настройки, определенные в GPO. Никакого вмешательства не требуется; процесс автоматический.

Существуют моменты вне обычного автоматического графика, когда администратору необходимо заставить компьютер проверить новые или измененные GPO. В этом случае пригодится gpupdate.

Команда gpupdate, в двух словах, проверяет с контроллером домена наличие новых или обновленных политик групп, назначенных компьютеру, и немедленно пытается их применить.

Предварительные требования

Если вы хотите выполнить какие-либо из предоставленных в этом учебнике примеров, то минимальные требования к статье.

  • A Windows computer joined to an Active Directory domain
  • По крайней мере, одна политика групп, назначенная компьютеру, на котором вы работаете.

Как работает Gpupdate

Когда вы сидите перед компьютером, присоединенным к домену, откройте командную строку Windows или PowerShell и выполните gpupdate, начнется серия задач.

Gpupdate in action
  1. Gpupdate запускает службу клиента Политики групп. Эта служба отвечает за обнаружение и применение новых настроек политики групп.

2. Служба клиента Политики групп затем обращается к контроллеру входа в систему компьютера и проверяет, есть ли новые политики групп или обновления существующих.

3. Если служба клиента Политики групп обнаруживает новые политики групп или те, которые вы изменили локально с помощью gpedit.msc, процесс обрабатывает все расширения с клиентской стороны (CSE), начиная с настроек компьютера, а затем настроек пользователя.

Служба клиента Политики групп регистрирует события в журнале Applications and Services Log\Microsoft\Windows\GroupPolicy\Operational.

Gpupdate applies computer settings before the user settings.

Связано: Как работает групповая политика (подробно)

4. После завершения служба клиента групповой политики ожидает следующий интервал обновления, который по умолчанию составляет 90 минут плюс случайное смещение до 30 минут.

Некоторые настройки групповой политики требуют от пользователя выхода из системы или перезапуска компьютера для вступления в силу. Если одна из этих настроек является частью политики, команда gpupdate попросит выйти из системы или перезапустить компьютер.

Пресловутый переключатель /force объяснен

Теперь вы знаете основы того, что происходит при выполнении gpupdate. Все работает, правда? В типичной ситуации запуск gpupdate и разрешение ему пройти по своему процессу работает просто отлично. Но бывают случаи, когда нужно немного подтолкнуть.

Один из самых широко используемых параметров gpupdate – это переключатель /force. Этот переключатель в каком-то смысле вписан в каждый профессиональный разум ИТ-специалиста как обязательный к использованию. Вопреки общему мнению, он вам действительно не нужен, если только не возникают определенные обстоятельства.

По умолчанию gpupdate умный; он сравнивает все текущие настройки с любыми новыми настройками и применяет только их. Но вы также можете заставить gupdate переапплицировать все настройки, используя переключатель /force. Зачем вам это может понадобиться?

Иногда настройки отклоняются от ожидаемых значений. Например, если пользователь отключает функцию Windows, управляемую существующей политикой, выполнение gpupdate /force заставит службу клиента групповой политики переоценить значение и вернуть его к ожидаемому. Или, возможно, вам нужно добавить пользователя обратно в ограниченную группу, из которой его удалили.

Служба клиента групповой политики регулярно применяет некоторые настройки, такие как настройки безопасности (стандартный интервал – 16 часов).

Самая большая причина не использовать переключатель /force – это при работе с настройками, которые могут быть применены только при входе в систему или запуске. Когда это происходит, Windows будет предлагать вам выйти из системы или перезагрузиться при каждом запуске gpupdate /force, даже если новые настройки не требуют таких действий.

Глубже в параметры Gpupdate

Теперь, когда у вас есть базовое понимание того, как работает gupdate, и вы знаете, когда и как использовать переключатель /force, давайте теперь сосредоточимся на всей другой функциональности, которую предоставляет gpupdate.

Получение справки

Как и ожидалось, команда gpupdate может предоставлять информацию о каждом параметре и их функциях. Хотя не очень подробная, команда /? удобна, если вам быстро нужно освежить в памяти, как выполнить определенную задачу.

Gpupdate /? displays all the switches and options available with the command.

Направление настроек компьютера или пользователя

По умолчанию gpupdate указывает службе клиента групповой политики обработать как настройки компьютера, так и пользователя. Если вам нужно обновить только один из этих наборов, вы можете использовать параметр /target.

У вас есть два варианта использования параметра /target; вы можете нацеливаться на компьютерные или пользовательские настройки с помощью /target:computer или /target:user.

Вы должны использовать параметр /target только в определенных случаях, нацеливаясь специфически на пользовательские настройки в первую очередь, а затем на компьютерные настройки. Почему? Иногда политика может иметь перекрывающиеся пользовательские и компьютерные настройки. Когда это происходит, пользовательские настройки переопределяют настройки компьютера, что может привести к неожиданному поведению.

Создание временной задержки

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

Вы можете заставить gpupdate вернуть управление обратно в окно команд после определенного времени и перенести обработку политики на фоновый режим с помощью параметра /wait. Доступные значения для параметра /wait приведены ниже.

Wait Value Result
0 Immediately returns control to console
-1 Waits indefinitely for gpupdate to finish
1+ Waits the number of seconds provided
600 Default value

Принудительное автоматическое выход из системы

Некоторые настройки потребуют от пользователя выхода из системы и повторного входа, если фоновая обработка невозможна. По умолчанию gpupdate предложит вам это сделать после завершения, если таковой случай наступит. Однако, если вы хотите, чтобы выход из системы произошел немедленно после завершения gpupdate, используйте параметр /logoff.

Параметр /logoff может не всегда работать

Проверено на Windows 10 и Windows Server 2019, иногда вы столкнетесь с неизвестной проблемой, когда параметр /logoff не будет работать.

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

Без использования ключа /logoff обычный пользователь видит предупреждение о необходимости выхода из системы, когда требуется новая настройка, как и ожидалось. Но независимо от того, используете ли вы ключ /logoff или нет, вы все равно получите приглашение, и Windows не выйдет из системы.

Warning to log off after gpupdate

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

Принудительная автоматическая перезагрузка

Аналогично ключу /logoff, ключ /boot автоматически перезагружает компьютер, если Windows не может обработать какие-либо настройки компьютера в фоновом режиме. Ключ /boot обычно используется для установки программного обеспечения, ориентированного на компьютер.

Принудительная синхронная обработка

Служба клиента групповых политик применяет политики параллельно (асинхронно) или поочередно (синхронно). Windows обрабатывает политики синхронно только при входе пользователя в систему и запуске компьютера, в противном случае асинхронно.

Во время синхронной обработки служба клиента групповых политик вызывает все свои CSE, даже если настроек не было изменено. Синхронная обработка необходима, потому что некоторые настройки зависят от других.

Вы можете объединить переключатель /sync с /target: user или /target:computer. Вы можете использовать переключатель /sync только при запуске окна команды от имени администратора. В противном случае вы увидите сообщения об ошибке Access Denied ниже.

Running gpupdate /sync as a normal user is not allowed.
Running gpupdate /sync as administrator prompts for a restart.

Связано: Как запустить PowerShell от имени администратора

Асинхронная обработка – это способ оптимизации процесса входа пользователей в домен. До Windows XP вся обработка политик была синхронной, с единственным недостатком: некоторые настройки требовали двух входов в систему или двух перезапусков для применения. Режим по умолчанию с Windows XP теперь асинхронный.

Заключение

Если вы следовали этой статье, у вас теперь должна быть ясная представление о том, что делает gpupdate и как использовать его переключатели для изменения его поведения. Если вы заинтересованы в использовании gpupdate в большем масштабе или автоматизации, обязательно проверьте его аналог в PowerShell, Invoke-GPUpdate.

Source:
https://adamtheautomator.com/gpupdate/