Во всех популярных редакциях Windows 10 выше имеется встроенный инструмент администрирования или локальные групповые политики. Данный инструмент включает в себя широкий спектр политик и предназначается для принудительного изменения базовой конфигурации операционной системы и учетных записей. Реализован он в виде консоли управления с достаточно удобным и интуитивно понятным графическим интерфейсом.

После изменения ряда политик компьютер необходимо перезагрузить или выждать от 30 до 90 минут, чтобы новые настройки смогли вступить в силу, но вы можете заставить их работать сразу, сэкономив время и избавив себя от необходимости перезапускать систему.
Давайте же посмотрим, как это можно сделать.
Всё довольно просто, если вы хотите обновить все политики сразу, откройте от имени администратора или командную строку и выполните команду .

Эта команда “перезапустит” политики и компьютера, и пользователей.
А теперь представим, что вы хотите обновить лишь определенную категорию политик, скажем, только именные политики пользователя. И тут ничего сложного, просто к команде gpupdate добавляется соответствующий ключ. А чтобы всё было ясно, приводим примеры:

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

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

К примеру, есть политики, обновление которых в фоновом режиме невозможно, и в этом случае добавленный в конец команды ключ /boot позволит вам выполнить перезагрузку прямо из командной строки.
После изменения любых настроек групповых политик с помощью локального редактора GPO (gpedit.msc) или доменного редактора политик (gpmc.msc), новые настройки политик применяются к пользователю (или компьютеру) не сразу. Вы можете дождаться автоматического обновления политик (придётся ждать до 90 минут), либо можете обновить и применить политики вручную с помощью команды GPUpdate. Команда GPUpdate используется для принудительного обновления групповых политик компьютера и/или пользователя.
Совет. В Windows 2000 для ручного обновления групповых политик использовалась команда secedit /refreshpolicy. В следующих версиях Windows она была заменена утилитой GPUpdate.
Полный синтаксис команда gpupdate выглядит так:

При запуске команды gpupdate без параметров выполняется обновление только новыех и изменённых настроек политик пользователя и компьютера
Вы можете обновить только политики пользователя или только политики компьютера с помощью параметра /target. Например:
Для принудительного обновления настроек групповых политик используется команда GPUpdate /force. В чем разница между GPUpdate и GPUpdate /force?
Команда gpupdate применяет только измененные политики, а команда GPUpdate /force заново переприменяет все политики клиента — и новые и старые (вне зависимости от того, были ли они изменены).
В большинстве случаев для обновления политик на компьютере нужно использовать gpupdate. В больших доменах Active Directory частое использование ключа /force при обновлении GPO вызывает большую нагрузку на контроллеры домена (т.к. компьютеры запрашивают заново все нацеленные на них или на пользователей политики).
Как мы уже говорили ранее групповые политики обновляются автоматически каждые 90 минут или во время загрузки компьютера. Поэтому в большинстве случае использование опции gpupdate /force не оправдано (особенно в различных скриптах) из-за высокой нагрузки на клиентские компьютеры, контроллеры домена и каналы передачи данных. Не стоит часто использовать параметр /force для принудительного обновления натсроек политик у клиентов, подключенных по медленным и нестабильным каналам передачи.
Вы можете добавить задержку (до 600 секунд) при обновлении политик с помощью параметра /wait:
Т.к. некоторые политики пользователя нельзя обновить в фоновом режиме, а только при входе пользователя в систему (установка программ, перенаправление папок и т.д.), вы можете выполнить 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 с помощью команд:
В данной статье мы покажем простой способ удаленного обновления групповых политик на клиентах (компьютерах и серверах) домена Active Directory, без необходимости доступа к консоли удаленной машине и без использования команды gpupdate.
Одной из самых сложных проблем в управлении групповыми политиками AD является — тестирование политик «на лету», без перезагрузки компьютера или доступа к локальному компьютеру и запуску команды gpupdate /force.
Функция Remote Group Policy Update предоставляет возможность использовать одну консоль управления GPO (GPMC.msc) как для создания, изменения, так и применения и тестирования групповых политик.
Функционал удаленного обновления групповых политик впервые появился в Microsoft Windows Server 2012, во всех последующих версия (Windows Server 2016, Microsoft Windows 10), этот функционал и его стабильность постепенно улучшался.
Требования для работы Remote Group Policy Update:
Требования к серверному окружению:
Требования к клиентам:
Требования к сетевому взаимодействию (файерволам) между сервером и клиентами
В том случае, если ваше окружение соответствует данным требованиям, откройте консоль управления групповыми политиками (GPMC.msc), выберите OU (контейнер), в котором расположены целевые компьютеры, на которых нужно принудительно обновить GPO.

Щелкните правой кнопкой мыши по нужному контейнеру и выберите пункт Group Policy Update.

В открывшемся окне появится информация о количестве объектов в данном OU, на которых будет произведено обновление GPO. Для подтверждения действия щелкните по кнопке «Yes».

В окне Remote Group Policy update results вы увидите статус выполнения обновления политик, а также статус данной операции (успех/ ошибка, код ошибки). Естественно, если какой-то компьютер выключен, или доступ к нему ограничен файерволом, появится соответствующая ошибка.

Групповые политики компьютера и пользователя по умолчанию обновляются каждые 90 минут в фоновом режиме (возможно случайное смещение от 0 до 30 минут). Также они обновляются каждый раз при запуске системы. Если вы изменили какие-то групповые политики и хотите применить изменения сразу, не ожидая 90 минут и не перезагружая компьютер – обновите их вручную, командами описанными ниже.
Обновить политики пользователя и компьютера вручную
1. Откройте командную строку от имени администратора: один из способов – нажать на меню “Пуск” правой клавишей мыши и выбрать из открывшегося меню “Командная строка (администратор)”.
2. Введите команду gpupdate и нажмите клавишу Enter – если хотите обновить только политики которые были изменены. Если вы хотите обновить все политики – вместо предыдущей команды введите gpupdate /force и нажмите клавишу Enter.
Обновить вручную групповые политики компьютера
С помощью команд выше вы можете обновить политики пользователя и компьютера, ниже команды обновляют только настройки групповой политики компьютера.
2. Введите команду gpupdate /target:computer и нажмите клавишу Enter, чтобы обновить только те политики компьютера которые были изменены, если же вы хотите обновить все политики компьютера – вместо предыдущей команды введите gpupdate /target:computer /force и нажмите клавишу Enter.
Обновить вручную групповые политики пользователя
С помощью команд описанных в первом способе вы можете обновить политики пользователя и компьютера, ниже команды обновляют только настройки групповой политики пользователя.
The command gpupdate /force is used to force the update of group policies that are applied by your company. Changes made in the Group Policy are not applied immediately but after 90 mins by default (with a ~30 min offset to spread the load). By using the GPUpdate command we can force the update.
Group Policies are used to change security settings and for system management (like deploying printers or mapping network drives). For troubleshooting IT problems, it’s sometimes necessary to update the group policy manually.
GPUpdate vs GPUpdate Force command
The gpupdate /force command is probably the most used group policy update command. When you use the /force switch, all the policy settings are reapplied. For most use cases this is perfectly fine, but keep in mind, when you have a lot of group policies objects (GPO) or in a large environment, using the /force will put a huge load on the domain controllers.
If you have a large tenant or a lot of GPO’s, then it’s better to only run gpupdate without the /force switch to apply new policy settings. This will get only the changes or new group policies, reducing the load on the client and domain controllers.
# Reapply all policies
gpupdate /force
# Get only the changed / new group policies
gpupdate
Update only user or computer group policies
If you have a large environment or need to update the group policies on a lot of computers at the same time, then it can be useful to only update what is needed. This will reduce the load on the domain controllers and it’s of course faster.
Automatically reboot or logoff after GPUpdate
With the use of the /logoff or /boot switch, we can let gpupdate figure out if a logoff or reboot is necessary. To be clear, if you run gpupdate /boot, then the computer will only reboot if a policy change requires it. Otherwise, the policy will be applied immediately without the reboot.
Run GPUpdate on a Remote Computer
Sometimes you may need to update quickly the group policies on multiple computers because you changed the internet proxy settings or maybe to replace a printer for example. There are couple of ways to run GPUpdate on a remote computer
Using the Group Policy Management Console
After you have confirmed the update the policies will be updated and you can see the status of each computer. In this example 5 computers where turned off, so the update failed.
Use PowerShell to run GPUpdate on a Remote Computer
The basis of the command is the Invoke-GPUpdate cmd. We also need to specify the computer and the RansomDelayInMinutes.
The RandomDelayInMinutes is used to lower the network load when you update a lot of computers at the same time. You can set it between 0 and 44640 minutes (31 days). Use 0 to run the update immediately.
Invoke-GPUpdate -Computer “labrat01” -RandomDelayInMinutes 0 -Force
With this, we can create a small script to target all computers in a specific OU and run GPupdate on them.
Or if you want to use a list of computers:
Wrapping Up
I hope this article helped you with the GPUpdate /force command. If you have any questions, then just drop a comment below.
Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов в рунете Pyatilistnik.org. В прошлый раз мы с вами мы с вами разбирали процедуру создания центрального хранилища административных шаблонов GPO. Движемся дальше и сегодня мы рассмотрим, самую распространенную задачу связанную с групповыми политиками, а именно научимся ее обновлять локально и удаленно, я расскажу в каких ситуациях данная информация вам можете помочь. Мы рассмотрим, какие инструменты у вас есть в арсенале, и я уверяю вас, что вы явно знали не обо всех.
Для чего нужно уметь обновлять групповую политику?
Предположим, что вы внесли важные обновления настроек для ваших серверов, например для авторизации CredSSP, или закрываете какую-то дыру безопасности, логично, что в Active Directory, это делается через групповые политики. Когда у вас 5-10 серверов, то нет проблем чтобы зайти на каждый из них через удаленный рабочий стол и выполнить команду, а когда серверов сотни, тут уже нужна массовость. Еще не нужно сбрасывать со счетов ситуации, когда вы по RDP не можете зайти, через редактор политик обновить не получается, что делать, тут можно сделать все удаленно через PowerShell или командную строку, об этом то же поговорим.
Вы всегда должны уметь и иметь возможность вносить массовые изменения на ваших серверах, и применять их как можно скорее
Методы обновления GPO
Давайте составим список способов и инструментов, которые вы можете использовать:
Давайте теперь опробуем каждый из этих методов.
Как обновить GPO через командную строку
Для выполнения этого метода, вы должны зайти локально на компьютер или сервер, открыть командную строку и ввести вот такую, небольшую команду:

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

Как обновить GPO через PowerShell
Оболочка PowerShell так же имеет отдельный командлет, который легко может инициировать запрос на обновление групповой политики, называется он Invoke-GPUpdate.
Invoke-GPUpdate – это командлет обновляющий параметры групповой политики, включая настройки безопасности, которые установлены на удаленных компьютерах с помощью планирования хода выполнения команды Gpupdate. Вы можете комбинировать этот командлет по сценарию, чтобы запланировать команду Gpupdate на группе компьютеров. Обновление может быть запланировано для немедленного запуска параметров политики или ожидания в течение определенного периода времени, максимум до 31 дня. Чтобы избежать нагрузки на сеть, время обновления будет смещено на случайную задержку.
Давайте запросим обновление политик GPO на моем тестовом сервере с Windows Server 2019, для этого запускаем оболочку PowerShell и вводим команду:
Invoke-GPUpdate –RandomDelayInMinutes 0

Ключ –RandomDelayInMinutes 0 установит задержку в выполнении на ноль секунд, в противном случае обновление будет выполнено рандомно, через некоторое время.
Обратите внимание, что командлет не выдает никаких результатов, если все работает нормально. В некоторых случаях ваши пользователи могут увидеть всплывающее окно командной строки с заголовком taskeng.exe, которое отображает сообщение “Политика обновления”. Через секунду окно исчезает.

Если нужно произвести обновление на удаленном компьютере, то нужно воспользоваться ключом -Computer, команда примет вот такой вид:
Invoke-GPUpdate -Computer dc01.root.pyatilistnik.org –RandomDelayInMinutes 0

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

Еще одним преимуществом командлета PowerShell является то, что у вас есть больше возможностей в выборе машин, которые вы хотите обновить. Например, с помощью приведенной ниже команды вы должны выбрать все компьютеры, которые начинаются с “Note*”.
Если нужно выбрать все компьютеры, то ставим звездочку “*”
При желании вы можете найти все компьютеры по версиям операционных систем и сделать обновление групповых политик по данному критерию.
Не забываем, что можно ограничить поиск отдельным организационным подразделением, для этого есть ключ -Searchbase и команда примет вот такой вид:

Еще вы можете подготовить текстовый файл со списком серверов, который так же можно через цикл обработать, вот по такому принципу:
Я также добавил здесь параметр -Force, чтобы обеспечить повторное применение параметров групповой политики, даже если клиент замечает, что новые версии GPO недоступны. Таким образом, когда мы говорим о принудительном обновлении групповой политики, мы на самом деле имеем в виду две разные вещи. Без параметра Force мы просто незамедлительно инициируем обновление; если мы добавим параметр Force, мы форсируем обновление, даже если обновлять нечего. Параметр Force вступает в игру, если вы считаете, что что-то пошло не так в предыдущем обновлении объекта групповой политики.
Очень важно выполнять скрипт в системе, на которой установлен пакет RSAT, или отдельный его компонент консоль управления групповой политикой, инача вы будите получать ошибку.

Обновление групповой политики через оснастку GPMC
Начиная с операционной системы Windows Server 2012 R2, компания Microsoft расширила функционал оснастки по управлению политиками. Разработчики внедрили механизм, массового и точечного инициирования применения политик GPO к нужным объектам и заметьте через графический интерфейс. Откройте оснастку “Управление групповой политикой”, проще всего, это сделать через окно “Выполнить”, введя там там команду gpmc.msc.

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

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

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

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

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

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


Ошибка 8007071a “Удаленный вызов процедуры был отменен”
Иногда в консоли GPMC вы можете получать ошибку:
8007071a “Удаленный вызов процедуры был отменен”

Связана она с тем, что на удаленных компьютерах у вас брандмауэр Windows блокирует эти вызовы, чтобы это поправить я вам советую сделать разрешающую политику, подробнее читайте, как исправить ошибку 8007071a.
Обновление GPO через PSexec
Я вам очень часто рассказываю в своих примерах из моей практики, об утилите PSexec и сборнике SysInternals от Марка Руссиновича. Суть метода в том, что с помощью специальной утилиты вы сможете выполнить удаленную команду, ранее я так удаленно включал RDP на сервере или клиентской машинке.
Далее вы распаковываете архив, если он в таком виде и открываете папку с утилитами SysInternals в командной строке, напомню сделать, это можно через команду cd или через правый клик с зажатым Shift по нужной папке, выбрав пункт “Открыть окно команд”.

Обращаю внимание, что у вас должны быть соблюдены несколько требований:
Теперь выполните команду:
psexec \имя компьютера –i gpupdate

Обратите внимание, что параметр -i здесь важен. Это гарантирует, что PsExec взаимодействует с удаленным рабочим столом, что необходимо для обновления пользовательских политик. Если этот параметр не указан, будут обновлены только конфигурации компьютера, хотя ни PsExec, ни gpupdate не выдадут сообщение об ошибке. Без параметра –i gpupdate обновит пользовательские настройки, только если вы вошли в систему с одинаковой учетной записью на исходном и целевом компьютере.
В результате будет удаленный запуск утилиты gpupdate, если все хорошо, то вы получите сообщение “gpupdate exited on svt2019s01.root.pyatilistnik.org with error code 0”.
на удаленном компьютере в журналах системы вы увидите два события 1500 и 1501.
Событие 1500: Параметры групповой политики для этого компьютера обработаны успешно. Не обнаружено изменений со времени последней успешной обработки групповой политики.

Событие 1501: Параметры групповой политики для этого пользователя обработаны успешно. Не обнаружено изменений со времени последней успешной обработки групповой политики.

Так же вы можете подключиться вообще к удаленной командной строке, через команду:
psexec \имя компьютера –i cmd

Далее просто пишите gpupdate /force, обратите внимание я через команду hostname показал, что подключение идет с одного компьютера на другой.
Если компьютер не подключен к сети, вы получите следующее сообщение об ошибке:

Чтобы массово обновить групповую политику на всех компьютерах домена, воспользуйтесь знаком звездочки “*”:
Если это не помогло и выскочила ошибка, то может воспользоваться через PowerShell. В оболочке перейдите в каталог с утилитами PSTools и выполните:

Или можно из конкретного OU добавив
Другой вариант – сначала экспортировать все имена компьютеров из контейнера Active Directory в текстовый файл с помощью командлета Get-ADComputer:
Обратите внимание, что мы должны кодировать выходной файл с помощью ASCII, чтобы мы могли прочитать его содержимое из пакетного файла следующим образом:
For /f “tokens=*” %%a in (c: mpComputerList.txt) Do psexec \%%a -i gpupdate
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 и введите:
Enter-PSSession -ComputerName svt2019s01

Далее вы подключитесь к удаленному компьютеру, где потом просто введите gpupdate /force.
Удаленное обновление GPO через Windows Admin Center

На этом у меня все. Я вам постарался подробно рассказать, о всех методах локального и дистанционного обновления групповых политик пользователя и компьютера на ваших компьютерах домена. С вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.
Добрый день! Уважаемые читатели и гости IT блога Pyatilistnik.org, в прошлый раз я вам показал, как я делал досрочное погашение ипотеки Сбербанка, поделился свои жизненным опытом. Сегодня я хочу вас научить, как находить и диагностировать причины, по которым у вас может не применяться назначенная вами групповая политика к компьютеру или пользователю или целому организационному подразделению. Мы рассмотрим все этапы, через которые проходит происходит взаимодействие с GPO. Разберем утилиты, которыми должен владеть системный администратор в задачи которого входит создание и назначение политик. Уверен, что данный пост будет вам полезен и интересен.
За, что Active Directory от Microsoft получила такую популярность? Одним из ответов на данный вопрос, будет функционал групповой политики. Все администраторы, как и большинство современных людей, существа очень ленивые и любят, когда все централизованно управляется и по возможности автоматизированно. Именно объекты GPO, позволяют производить настройки десятков, сотен и тысяч компьютеров, из одного места и практически по всем направлениям, например добавление принтеров, скриптов входа, профилей WiFi и многое другое.
Очень частые ситуации, что системный администратор создал новую групповую политику, применил ее на нужный ему объект, но эффекта это не дало и нужно понять почему она не применилась и вот тут начинающие системные администраторы попадают в просак, не понимая, где и что нужно искать. Ниже мы с вами разберем алгоритм действий, который поможет вам найти причину и восстановить работу применения групповой политики на нужный объект.
К чему применяется групповая политика (GPO)
Первое, на что я хочу обратить внимание, это ответить, что делает групповая политика. Все мы прекрасно знаем, что операционная система Windows, это набор служб и ключей реестра. Все настройки, которые вы видите и меняете в графическом режиме, по сути меняют ключи реестра. Понимая, это сразу можно сделать вывод:
Именно эту две сущности являются конечными объектами в политике GPO. В Active Directory объекты пользователей и компьютеров не лежат просто так, а располагаются в двух видах папок:

Алгоритм устранения проблем с GPO
Предположим, что у меня есть групповая политика, которая применяется на организационное подразделение “Client Computers”. Политика называется “Управление UIPI”. По какой-то причине пользователь жалуется, что она у него не применилась.
Из информации, об области действия групповой политики, первое на что нужно обратить свое внимание, это находится ли объект пользователя или компьютера по нужному пути. Сделать, это просто в оснастке “Управление групповой политикой” найдите вашу политику и посмотрите к каким OU она применяется, это видно на вкладке “Область (Scope)”, ее еще называют областью действия политики. В моем случае, это путь root.pyatilistnik.org/Client Computers.

Так как Active Directory, это иерархическая структура, то одна OU можете быть часть дерева из других и сама включать в себя большое количество организационных подразделений. Поэтому если у вас есть вложенность, то просто зайдя в нужную OU вы можете сразу не найти нужный объект. В таком случае воспользуйтесь поиском по Active Directory. Например у меня есть рабочая станция с которой идут жалобы на применение объекта GPO. В поиске выбираем в поле “Найти” компьютеры и в имени указываем w10-cl01, после чего нажимаем “Найти”. В результатах поиска вы получите выдачу. Щелкаем по нужному объекту и переходим в нем на вкладку “Объект”, где смотрим “Каноническое имя объекта”, по сути это его путь расположения в Active Directory. Сравниваем его с тем, что получили из области применения групповой политики и делаем вывод, попадает объект под действие или нет.

Далее убедитесь, что у вас элементарно включена связь объекта групповой политики с нужным организационным подразделением. Для этого в оснастке управления GPO, щелкните правым кликом по нужной политике и в контекстном меню проверьте, что установлена галка “Связь включена”, ее так же можно проверить на вкладке “Область” в столбце “Связь задействована”, должно стоять значение “да”.

Следующим моментом необходимо проверить, что политика не отключена на определенный объект. Для этого перейдите на вкладку “Сведения” на нужной GPO. Нас интересует строка “Состояние GPO”. По умолчанию там стоит значение “Включено”, означающее, что политика будет пытаться примениться заданные в ней настройки к обоим типам объектов (Пользователю и компьютеру). Но может быть выставлено значение:
Сделано, это для ускорения применения политики к объекты. Согласитесь, что если у вас в GPO настроены изменения только для пользователя, то нет смысла проверять политику для компьютера. Поэтому системные администраторы могут отключать это, но могут и ошибиться, выключив не тот объект
Выше я вам писал, что структура OU иерархическая, а это означает, что политика прилинкованная с вышестоящего организационного подразделения применяется на нижестоящее. Но вот если у нижестоящей OU отключено наследование сверху, то он не сможет применить данную политику. Проверяется очень просто, найдите нужную вам OU, щелкните по ней правым кликом и удостоверьтесь, что не стоит пункт “Блокировать наследование”.

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

Проверка прав на политику
Объекты групповой политики, так же имеют свой ACL (лист доступа), это означает, что вы можете более тонко настраивать к каким объектам применяется данная политика. В редакторе “Управление групповой политикой” выберите ваш GPO. На вкладке “Область” найдите раздел “Фильтры безопасности”, он отображает к каким объектам применяется политика. Данный фильтр безопасности может включать объекты:

Если у вас тут выставлена другая группа или отдельные записи, то убедитесь, что нужный объект состоит в данном ACL. Хочу отметить, что если даже нужный объект присутствует в списке фильтра безопасности, то это не означает, что политика к нему применяется и тут дело все в том, что в 2014 году Microsoft изменила принцип чтения политики, таким образом, что у вас в делегированном фильтре безопасности обязательно должна присутствовать группа “Компьютеры домена” или “Прошедшие проверку” у которой должны быть прав на чтение политики. Вся соль в том, что когда вы удаляете группу “Прошедшие проверку” из фильтра безопасности, она удаляется и из вкладки делегирование.
Чтобы параметры групповой политики для пользователя успешно применялись, она требует наличия у каждой учетной записи компьютера разрешения на считывание данных GPO из контроллера домена. Удаление группы “Прошедшие проверку” может предотвратить обработку групповых политик для пользователя. добавьте группу безопасности “Пользователи, прошедшие проверку подлинности” или “Компьютеры домена”, у которой есть по крайней мере разрешение только для чтения (https://support.microsoft.com/en-us/kb/316622)

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

Удостоверьтесь, что выставлена галка “Чтение”.

Тут же убедитесь, что нет запретов на нужный вам объект, в моем примере, это W10-CL03. Если есть снимите.

Обратите внимание на группу “КОНТРОЛЛЕРЫ ДОМЕНА ПРЕДПРИЯТИЯ (Enterprise Domain Controllers)” данная группа определяет, будет ли происходить репликация данной политики на другие контроллеры или нет, так что если политика отсутствует в папке SYSVOL на других контроллерах, то проверьте права у данной группы.

Еще одним механизмом фильтрации групповой политики, может выступать WMI фильтры. Если они есть и ваш объект не соответствует его требованиям, то вы не сможете применить политику. Посмотреть, это можно в соответствующем разделе. В моем примере есть WMI фильтр для ноутбуков, который не даст применения политики на стационарные компьютеры. Подробнее, о создании WMI фильтров и механизме проверки WMI фильтров, читайте по ссылкам. Ниже я покажу, как на конечном компьютере увидеть, что он не подошел из-за фильтрации GPO по WMI.

Инструменты диагностики групповой политики
Выше мы разобрали возможные места, где могла быть проблема, но по мимо них еще есть несколько инструментов, которые могут дать системному администратору информацию, о причинах, которые мешают применению GPO к нужному объекту.
Существуют три инструмента, которые вам покажут информацию, о применяемых политиках на объекты:
Диагностика GPO через gpresult
Gpresult первое средство, которое позволит системному администратору определить на каком этапе есть проблемы с выполнением GPO. Откройте на клиентском компьютере или ноутбуке командную строку от имени администратора и введите команду:
В моем примере у меня есть политика для компьютера “Управление UIPI”, поэтому я воспользуюсь gpresult для компьютера. Выполнив gpresult /r /scope:computer я вижу, что моя политика не применилась и числится в списке “Следующие политики GPO не были применены, так как они отфильтрованы”. Фильтрация отказано в доступе (Безопасность). Из этого видно, что у компьютера просто нет прав на чтение политики.

Так же в логах Windows вы можете обнаружить событие с кодом ID 5313:
Код 5313: Следующие объекты групповой политики не были применены, так как они были отфильтрованы:
Local Group Policy Не применяется (пусто) Управление UIPI Отказано (безопасность)

А вот пример 5313, но с уже WMI фильтром:
Local Group Policy Не применяется (пусто) Управление UIPI Отказано (фильтр WMI)

Я для исключаю его из запрета применения и пробую новую попытку применения политики. Я делаю для начала обновление групповой политики через gpupdate /force и затем снова выполняю команду gpresult /r /scope:computer, где теперь вижу, что политика не применилась из-за WMI фильтра. Теперь уже понятно куда копать.

Получение данных GPResult с удаленного компьютера GPResult /s server01 /r, поможет администратору или технической поддержке собрать диагностические данные. Аналогичные действия вы можете выполнять и для пользователя, тут все аналогично. Теперь воспользуемся утилитой RSOP. Откройте окно выполнить и введите rsop.msc.

Начнется сбор применяемых политик.

По результатам, у вас откроется окно результирующей политики. Похожее на то, где вы редактируете политику GPO. Тут вы можете перемещаться по веткам и смотреть текущие значения.
Но это не удобно и мы можем совместить две утилиты gpresult и Resultant Set of Policies (RSoP), получив выгодный симбиоз. В командной строке введите:
GPResult /h c:
eport.html /f
На выходе вы получите удобный html отчет, о всех примененных или отфильтрованных политиках. Открыв отчет, вы легко поймете ,какие политики были применены, а какие нет и можете сразу посмотреть значения настроек.

Результаты групповой политики
В оснастке GPMC есть возможность посмотреть какие политики применяются к нужному объекту групповой политики. Данный мастер называется “Результат моделирования групповой политики”. Щелкаем по нему правым кликом и открываем мастер.

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

Если в момент добавления компьютера у вас выскочит ошибка “Сервер RPC-недоступен”, то проверьте, что у вас запущена на нем служба WMI и в брандмауэре открыты порты для подключения к ней.

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

Нажимаем далее. У вас появится отчет. Раскрыв его на вкладке “Сведения” вы увидите, какие политики применены, а какие нет.

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

Последним удобным инструментом диагностики и моделирования групповой политики, выступает функционал GPMC, под названием “Моделирование групповой политики”. В задачи которого входит проверка применения политики в существующей ситуации, так и просто тест без реальной прилинковки к OU, указав нужный объект. В оснастке GPMC выберите пункт “Моделирование групповой политикой” и щелкните по нему правым кликом, выбрав “Мастер моделирования групповой политики”.

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

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

Теперь выбираем нужную OU, для которой мы будем тестировать групповую политику. Делается все через кнопку “Обзор”. Я выбрал “Client Computers”


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

Указываем в какой группе находится наш объект, к которому будет применяться политика.

далее вы можете применить любой из фильтров WMI, который вы хотите тестировать.


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

На этом у меня все. С вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org. Надеюсь, что статья оказалась полезной.
Постановка задачи
Предположим, что вы сделали новую групповую политику и к какому-то пользовательскому компьютеру она не применилась, перед тем, как искать причину обработки GPO, вам нужно вычислить дату последнего обновления. В статье нам нужно изучить методы и инструменты, которые позволят это сделать.
Методы определения времени применения групповых политик
Как выяснить время обновления GPO через командную строку
Самый просто способ, это использование всем известной утилиты командной строки под названием Gpresult. Открываем cmd и вводим команду:

При необходимости gpresult может вывести информацию, только по пользователю или компьютеру, для этого есть ключ /scope:

или более детально отфильтровать через findstr

Как выяснить время обновления GPO через RSOP
RSoP (Resultant Set of Policy) – это отчет обо всех параметрах групповой политики в Active Directory, который показывает, как эти параметры могут влиять на сеть или как существующие объекты групповой политики (GPO) влияют на различные комбинации пользователей и компьютеров, когда локальная политика безопасности прилетели.
Чтобы запустить RSOP вы можете воспользоваться множеством методов, я бы выделил через командную строку или через окно выполнить. В командной строке просто введите:
В результате у вас будет произведен сбор сводных данных

Тоже самое через окно “Выполнить” в котором нужно вписать rsop.msc.

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

В окне свойств перейдите на вкладку “Сведения об ошибке” и найдите пункт “Инфраструктура групповой политики”, в области сведений вы увидите время обновления групповой политики.

Как выяснить время обновления GPO через PowerShell
Естественно у Microsoft есть отдельные командлеты, который позволяет вычислить время применения GPO, называется они Get-GPResultantSetOfPolicy и Get-GPOReport. Чтобы ими воспользоваться на клиентской системе, такой как Windows 10, вам необходимо установить RSAT пакет и импортировать модуль GroupPolicy. в противном случае вы будите получать ошибку:

Чтобы иметь возможность использовать эти командлеты, установите пакет RSAT, в операционных системах Windows Server, это не нужно. Далее установите модуль GroupPolicy, через команду:
Install-WindowsFeature –Name GPMC
После его установки введите команду для просмотра доступных модулей:
Get-Command -Module GroupPolicy
В итоге я вижу:

Чтобы вычислить время последнего обновления групповых политик через командлет Get-GPResultantSetOfPolicy, выполните команду:
Get-GPResultantSetOfPolicy -ReportType HTML -Path “c:
eport.html”
Где -ReportType, это вид конечного файла, может быть и xml, -Path, это путь до конечного файла, подробнее можно почитать на https://docs.microsoft.com/en-us/powershell/module/grouppolicy/get-gpresultantsetofpolicy?view=win10-ps.

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

Так же Get-GPResultantSetOfPolicy может получать данные и с удаленного компьютера, для этого нужно добавить ключ -Computer, в итоге команда примет вот такой вид:
Get-GPResultantSetOfPolicy -Computer dc01 -ReportType HTML -Path “c:
eport.html”


Как выяснить время обновления GPO через реестр Windows
Логично предположить, что gpresult, rsopm powershell получают все значения из реестра Windows и я вам покажу, где располагаются данные ветки. Для начала давайте посмотрим для компьютера. Для этого откройте реестр Windows и перейдите в раздел:
тут вы обнаружите 6 ключей:

Как вы можете обратить, эти данные для вас не особо читаемы, так как имеют шестнадцатиричное значение, но вы можете воспользоваться моим скриптом, который легко, это поправить.
Вы можете воспользоваться готовым скриптом по определению времени обработки политик, слева ссылка на его скачивание, а ниже его тест:
На выходе я вижу 19 ноября 2019 г. 17:25:51.

Узнаем время обновления GPO через gptime
gptime.exe – это удобная небольшая утилита предназначена для быстрого и краткого отчета о том, когда в последний раз компьютер и пользовательская групповая политика запускались в локальной или удаленной системе. Если в систему вошли более одного пользователя, инструмент сообщит о времени обработки GP для всех найденных пользователей.
Этот инструмент предоставляет время запуска и остановки для последнего цикла обработки, а также общее истекшее время, что может быть полезно. Вам необходим Для работы требуется . Net Framework 2.0, установленный на компьютере, на котором вы запускаете эту утилиту.
В командной строке перейдите в каталог с gptime.exe и запустите ее. В моем примере видно, когда были обновлены политики для компьютера, а так же для всех пользователей, чьи профили были обнаружены на компьютере.

Удаленное определение времени применения GPO
Я вам уже неоднократно рассказывал про утилиты Марка Руссиновича PSTools, а конкретнее PsExec. Утилита при наличии административных прав на целевом компьютере может запускать командную строку или оболочку PowerShell из которой уже легко делать, то что нужно. Открываем командную строку, переходим в папку с утилитой PsExec. Подключаться я буду с контроллера домена dc01 к удаленному серверу SVT2019S01. Для начала через команды hostname и whoami я виду исходные данные и, что cmd запущенна именно на исходном сервере.

PsExec64.exe \svt2019s01.root.pyatilistnik.org -u rootАдминистратор
\svt2019s01.root.pyatilistnik.org это имя моего сервера


Еще получить данные с удаленного компьютера, вы можете через командлет PowerShell Enter-PSSession. Для этого введите команду:
далее подключившись к серверу вы все так же выполняете gpresult /R.

На этом мои методы закончились, я допускаю, что существует еще огромное количество утилит, но мне достаточно и этих. С вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.
In this guide, you will learn how to use the gpupdate /force command to immediately apply new GPO settings. I’ll also show you how to force an update on multiple remote computers.
The gpupdate command is built into all versions of the Windows operating system, client, and server.
By default, Windows will update group policy settings every 90 minutes or when during a computer reboot. Бывают случаи, когда вам нужно немедленно обновить политики компьютера, и ждать 90 минут не вариант. С помощью команды gpupdate вы можете принудительно обновить политику.
В чем разница между командой gpupdate и gpupdate /force?
Итак, какую команду следует использовать? Лучше всего начать с команды GPUpdate, она должна работать в большинстве случаев. Если команда gpupdate не сработала, попробуйте gpupdate /force.
Я бы не стал запускать gpupdate /force на нескольких устройствах одновременно. Если у вас много групповых политик, это может быть ресурсоемким на контроллерах домена.
Видеоурок
Вы должны получить сообщение об успешном завершении.

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

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

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

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

Я хотел показать этот пример, потому что не все политики можно применить сразу. Развертывание программного обеспечения с помощью групповой политики может происходить только во время перезагрузки.
Извините, босс, вам нужно перезагрузиться. 🙂
Когда следует использовать команду GPUpdate /force?
В двух приведенных мной примерах требовалось запустить только команду gpupdate. Параметр /force следует использовать только для устранения неполадок или при возникновении проблемы с применением политики.
При этом я не видел никаких проблем с запуском gpupdate /force в качестве первого варианта. Я также не вижу причин запускать его в качестве первого варианта. Большую часть времени я могу запустить gpupdate, и все работает. Как я упоминал выше, основная проблема с gpupdate /force заключается в одновременном запуске его на нескольких компьютерах, что может привести к значительной нагрузке на ваши контроллеры домена.




