Как ускорить процесс обновления политики групп. GPUPDATE – выполнение обновления групповых политик для пользователя и компьютера Во-вторых, создаем удаленные сессии

После изменений GPO необходимо некоторое время (90 минут +/- 30) пока они распространятся на другие системы, но если их нужно применить срочно, админ регистрировался на удаленной системе и выполнял команду “gpupdate ”. При большом количестве ПК процесс занимал некоторое время, да и сам процесс неудобен. Теперь про это можно забыть. В консоли управления групповой политикой (GPMC) в контекстном меню домена и подразделения появился новый пункт “Обновление групповой политики ” (Group Policy Update) позволяющий произвести обновление политик систем начиная с Windows Vista/2008 двумя щелчками мышки. После активации задания будет получен список компьютеров и зарегистрированных пользователей, после чего создается задание “Gpupdate.exe /force ”. Во избежание перегрузки сети, оно будет выполняться со случайной задержкой в интервале 0-10 минут. Результат выполнения задания отображаются в отдельном окне, успешность обновления можно определить с помощью мастера результирующей политики.
Новая функция получила и свой командлет — Invoke-GPUpdate , позволяющий удаленно обновить GP и дающие даже большие возможностей, чем GPMC. Кстати теперь за групповые политики отвечает 27 командлетов т.е. на один больше (получить полный список можно введя «Get-Command -Module GroupPolicy «).
Чтобы немедленно обновить политики на конкретной систем достаточно выполнить:

PS> Invoke- GPUpdate - Computer < имя компьютера>

PS> Invoke-GPUpdate -Computer < имя компьютера>

Дополнительный ключ –RandomDelayInMinutes позволяет задать интервал ожидания, что полезно, если команда будет выполнена на нескольких системах.
Но главное, в консоли GPMC можно выбрать только подразделение, отдельного контейнера компьютеры там нет. Вот здесь и выручает Invoke-GPUpdate, который совместно с командлетом Get-ADComputer, позволяет отобрать системы по любому критерию:

PS> Get- ADComputer –filter * - Searchbase "cn=computers, dc=example,dc=org" | foreach { Invoke- GPUpdate –computer $_ .name –force –- RandomDelayInMinutes 5 }

PS> Get-ADComputer –filter * -Searchbase "cn=computers, dc=example,dc=org" | foreach{ Invoke-GPUpdate –computer $_.name –force –-RandomDelayInMinutes 5}

Еще важный момент, на клиентских системах необходимо открыть несколько портов брандмауэра. Чтобы упростить жизнь админу в MS предложили 2 новые начальные политики (к 8 имеющимся), позволяющие быстро создать и распространить нужные настройки:

— Порты брандмауэра для удаленного обновления групповой политики;
— Порты брандмауэра для отчетов групповой политики.

Назначение их понятно из названия. Нас интересует первая. Рекомендуется создать новый объект групповой политики и переместить его в начало, присвоив таким образом больший приоритет, чем у объекта групповой политики домена по умолчанию.
Процесс прост. Выбираем домен и в меню пункт «Создать объект групповой политики в этом домене». В появившемся окне вводим название и выбираем из списка «Порты брандмауэра для удаленного обновления групповой политики». Как вариант можно воспользоваться PowerShell.

Резюме : Microsoft Scripting Guy, Ed Wilson показывает, как вызвать обновление групповой политики посредством PowerShell.

Обновление групповой политики в домене

Иногда я вношу изменения в групповую политику в сети и мне нужно применить изменения на всех компьютерах. А иногда мне требуется обновить локальную групповую политику на моем компьютере.

Для обновления настроек групповой политики я использую утилиту GPUpdate . Она обладает некоторыми параметрами. По умолчанию, утилита обновляет политику как компьютера, так и пользователя. Но этим можно управлять, используя параметр /target . Например, если мне нудно обновить только политику компьютера, я укажу /target:computer . Для обновления только политики пользователя — /target:user .

PS C:\> gpupdate /target:computer

Updating policy…

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

PS C:\> gpupdate /force

Updating policy…

Computer Policy update has completed successfully.

User Policy update has completed successfully.

Во-первых, получаем список компьютеров в домене

Первое, что мне необходимо сделать – это получить список всех компьютеров в домене. Для этого я использую командлет Get-ADComputer , входящий в модуль Active Directory.

Заметка: модуль Active Directory входит в состав RSAT.

Я сохраняю полученные объекты компьютеров в переменной $cn.

$cn = Get-ADComputer -filt *

Во-вторых, создаем удаленные сессии

Следующее, что мне нужно сделать – это создать удаленные сессии со всеми компьютерами. Для этого мне нужно предоставить учетные данные для подключения к компьютерам, а также создать сами сессии посредством командлета New-PSSession .

Для начала я воспользуюсь командлетом Get-Credentials и сохраню возвращенный им объект в переменной $cred.

$cred = Get-Credential iammred\administrator

$session = New-PSSession -cn $cn.name -cred $cred

Необходимо помнить о том, что в домене могут быть выключенные компьютеры, поэтому при выполнении команды могут возвращаться ошибки. Тем не менее, несмотря на ошибки, Windows PowerShell создает сессии с рабочими компьютерами.

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

Теперь запустим команду на всех удаленных машинах

Для запуска команды GPUpdate на всех удаленных машинах я использую командлет Invoke-Command . Он использует сессии, сохраненные нами в переменной $sessions. Алиас для командлета Invoke-Command icm .

icm -Session $session -ScriptBlock {gpupdate /force}

После запуска команды, результаты отображаются в консоли Windows PowerShell.

Проверка обновления групповой политики

Когда на рабочей станции происходит успешное обновление настроек групповой политики, в журнал System записывается событие с кодом 1502. Я могу воспользоваться командлетом Invoke-Command для получения этой информации.

icm -Session $session -ScriptBlock {Get-EventLog -LogName system -InstanceId 1502 -Newest 1}

Команда и ее результаты приведены на рисунке ниже.

Еще одна интересная вещь касаемо групповой политики

Иногда мне приходится звонить в техподдержку и они просят обновить групповую политику на моем локальном компьютере. Это не проблема, так как я могу запустить GPUpdate прямо из PowerShell. Сложность возникает тогда, когда они просят меня выполнить обновление групповой политики 5 раз с интервалом в 5 минут. Но и это решается с помощью одной строки кода.

1..5 | % {«refreshing GP $(Get-Date)»; gpupdate /force ; sleep 300}

Ed Wilson, Microsoft Scripting Guy

Оригинал:

Настройка политики обновления Windows 10 это настройка способа получения обновлений в Windows 10. В Windows 10 параметры центра обновления перенесли из Панели управления в Параметры системы. В Windows 10 нет таких настроек как были в Панели управления и поэтому не стало возможности отключать обновления или выбирать способ их получения. Однако с помощью Редактора реестра и Редактора локальной групповой политики можно отключить обновления и установить способ их получения.

Настройка обновления с помощью Редактора локальной групповой политики

Запускаем Редактор локальной групповой политики нажав на клавиатуре сразу две клавиши WIN+R gpedit.msc и нажимаете ОК.

Групповая политика обновления Windows 10

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


Настройка обновлений Windows 10 групповые политики

Для этого в открывшемся окне нужно вверху поставить точку у пункта Включено, а затем ниже установите настройки обновления. Нажмите кнопку ОК. Затем чтобы сделанные вами настройки заработали откройте Параметры системы — Обновление и безопасность — Центр обновления Windows и нажмите кнопку Проверка наличия обновлений .


Закончив настройку политик Windows 10, запустите обновление

После этого сделанные вами настройки в Редакторе локальной групповой политики вступят в силу.

Настройка обновлений с помощью Редактора реестра

Запускаем Редактор реестра нажав на клавиатуре сразу две клавиши WIN+R . Откроется окно Выполнить в которое вписываете команду regedit и нажимаете ОК.


Откройте Редактор реестра и создайте там четыре параметра для управления обновлениями Windows 10

В левой части открывшегося окна редактора раскрываем HKEY_LOCAL_MACHINE — SOFTWARE — Policies — Microsoft — Windows . Наведите курсор на последний пункт Windows и нажмите правую кнопку мыши. В открывшемся контекстном меню выбираете Создать — Раздел . Новый раздел назовите WindowsUpdate .
Затем наведите курсор на только, что созданный раздел WindowsUpdate и опять создайте раздел который назовите AU .
Затем наведите курсор на только, что созданный раздел AU и нажмите правую кнопку мыши и в открывшемся меню выберите Создать — Параметр DWORD (32-бита) . Новый созданный параметр появится в правой части окна, назовите его AUOptions . Таким же образом наведя курсор на раздел AU создайте ещё три параметра и назовите первый NoAutoUpdate , второй ScheduledInstallDay , а третий ScheduledInstallTime (опционально NoAutoRebootWithLoggedOnUsers ). Теперь в этих четырёх новых параметрах нужно изменить значение.

Для параметра AUOptions

  • 2 — Получать уведомление перед установкой и загрузкой любых обновлений.
  • 3 — Автоматически получать обновления и уведомления об их готовке к установке.
  • 4 — Автоматически получать и устанавливать обновления по заданному расписанию.
  • 5 — Разрешить локальным администраторам самим выбирать режим обновления и об уведомлениях.

Для параметра NoAutoUpdate

  • 0 — Включена автоматическая установка обновлений которые будут загружаться и устанавливаться в зависимости от сделанных настроек в параметре AUOptions.
  • 1 — Отключена автоматическая установка обновлений.

Для параметра ScheduledInstallDay

  • 0 — установка обновлений будет производится ежедневно при значении 4 параметра AUOptions.
  • 1 — установка обновлений будет производится каждый понедельник при значении 4 параметра AUOptions.
  • 2 — установка обновлений будет производится каждый вторник при значении 4 параметра AUOptions.
  • 3 — установка обновлений будет производится каждую среду при значении 4 параметра AUOptions.
  • 4 — установка обновлений будет производится каждый четверг при значении 4 параметра AUOptions.
  • 5 — установка обновлений будет производится каждую пятницу при значении 4 параметра AUOptions.
  • 6 — установка обновлений будет производится каждую субботу при значении 4 параметра AUOptions.
  • 7 — установка обновлений будет производится каждое воскресенье при значении 4 параметра AUOptions.

Для параметра ScheduledInstallTime

От 0 до 23 устанавливаться обновления будут во столько то часов в зависимости от установленного параметра и при значении 4 параметра AUOptions.

Для параметра NoAutoRebootWithLoggedOnUsers

  • 0 — По завершении установки обновлений компьютер автоматически перезагрузится, работает при значении 4 параметра AUOptions.
  • 1 — По завершении установки обновлений компьютер автоматически не перезагрузится, работает при значении 4 параметра AUOptions.

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

Формат командной строки:

GPUpdate

Параметры командной строки:

/Target:{Computer | User} - Обновление параметров политики только пользователя (User) или только компьютера (Computer). Если не указано, обновляются параметры обеих политик.

/Force - Применение всех параметров политики. Если не указано, применяются только изменившиеся параметры политики.

/Wait:значение - Время ожидания (в секундах) завершения обработки политики. По умолчанию - ожидание 600 секунд. Значение "0" - без ожидания. Значение "-1" - ожидание не ограничено. В случае превышения времени ожидания вновь активизируется окно командной строки, но обработка политики продолжается.

/Logoff - Выполнение выхода после обновления параметров групповой политики. Требуется для тех клиентских расширений групповой политики, которые не обрабатывают политику в фоновом режиме, а обрабатывают ее только при входе пользователя, таких, например, как установка программ для пользователя или перенаправление папок. Этот параметр не оказывает влияния, если не вызываются расширения, требующие выхода пользователя.

/Boot - Выполнение перезагрузки после применения параметров групповой политики. Требуется для тех клиентских расширений групповой политики, которые не обрабатывают политику в фоновом режиме, а обрабатывают ее только при запуске, таких, например, как установка программ для компьютера. Этот параметр не оказывает влияния, если не вызываются расширения, требующие перезапуска системы.

/Sync - Следующее активное применение политики должно выполняться синхронно. Активные применения политики происходят при перезагрузке компьютера или при входе пользователя в систему. Можно использовать этот параметр для пользователя, компьютера или для обоих, задав параметр /Target. При этом параметры /Force и /Wait, если они указаны, пропускаются.

Примеры использования:

gpupdate /? - отобразить подсказку по использования команды.

gpupdate - выполняется обновление политик компьютера и политик пользователя. Применяются только изменившиеся политики.

gpupdate /Target:computer - выполняется обновление политик только для компьютера.

gpupdate /Force - выполняется обновление всех политик.

gpupdate /Boot - обновление групповых политик с перезагрузкой компьютера.

Решил, что нужно написать короткую статью, на которую можно и нужно будет довольно часто ссылаться. И тема для данной статьи — как обновить групповую политику.

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

Когда это может пригодиться? Почти что всегда, когда Вы изменяете какой-либо параметр в какой-либо политике. Нет, не думайте что политика должна обновляться только вручную. На самом деле она обновляется автоматически. Раз в полтора часа! Представьте, Вы изменили какую-то политику и ждете полтора часа, чтобы проверить, работает ли она именно так, как Вам хотелось. Бред, не правда ли?

Естественно, бред. Поэтому то и существует способ заставить компьютер обновить групповые политики вручную. А перед этим немного теории. Как известно, политики делятся на две большие группы:

  • политики компьютера
  • политики пользователя

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

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

Команда для обновления локальной групповой политики

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

Gpupdate /force

Вот таким вот несложным действием можно быстро обновить политики компьютера.


Top