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

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

Утилита командной строки GPResult.exe используется для получения результирующего набора групповых политик (Resultant Set of Policy, RSOP), которые применяются к пользователю и/или компьютеру в домене Active Directory. Gpresult позволяет вывести список доменных политик (GPO), которые применяются на компьютер и пользователя, настройки политик и ошибки обработки. Это наиболее часто используемый инструмент администратора для анализа настроек и диагностики групповых политик в Windows.

В этой статье мы рассмотрим, как использовать команду GPResult для диагностики и анализа настроек групповых политик, применяющихся к Windows в домене Active Directory.

Использование команды GPResult в Windows

Команда GPResult выполняется на компьютере, на котором нужно проверить применение групповых политик. Синтаксис GPResult:

GPRESULT [/S [/U [/P ]]] [/SCOPE ] [/USER ] [/R | /V | /Z] [(/X | /H) [/F]]

Чтобы получить подробную информацию о групповых политиках, которые применяются к данном объекту AD (пользователю и компьютеру), и других параметрах, относящихся к инфраструктуре GPO (т.е. результирующие настройки политик GPO – RsoP), выполните команду:

Gpresult /r

Результаты выполнения команды разделены на 2 секции:

  • COMPUTER SETTINGS (Конфигурация компьютера) – раздел содержит информацию об объектах GPO, действующих на компьютер в Active Directory;
  • USER SETTINGS – раздел с политиками пользователя (политики, действующие на учетную запись пользователя в AD).

Вкратце пробежимся по основным параметрам/разделам, которые нас могут заинтересовать в выводе GPResult:

  • Site Name (Имя сайта:)– имя сайта AD, в котором находится компьютер;
  • CN – полное каноническое пользователя/ компьютера, для которого были сгенерированы данные RSoP;
  • Last time Group Policy was applied (Последнее применение групповой политики)– время, когда последний раз применялись (обновились) настройки GPO;
  • Group Policy was applied from (Групповая политика была применена с)– контроллер домена, с которого была загружена последняя версия GPO;
  • Domain Name и Domain Type (Имя домена, тип домена)– имя и версия схемы домена Active Directory;
  • Applied Group Policy Objects (Примененные объекты групповой политики) – списки действующих объектов групповых политик;
  • The following GPOs were not applied because they were filtered out (Следующие политики GPO не были применены, так как они отфильтрованы)— не примененные (отфильтрованные) GPO;
  • The user/computer is a part of the following security groups (Пользователь/компьютер является членом следующих групп безопасности) – список доменных групп безопасности, в которых состоит пользователь/пользователь.

gpresult -r - диагностика групповых политик Active Directory

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

Также в отчете будет информацию о локальных параметрах политик, настроенных через локальный редактор GPO (gpedit.msc).

С помощью опции /scope можно вывести только политики пользователя или компьютера:

gpresult /r /scope:user

или только примененные политики компьютера:

gpresult /r /scope:computer

Если вы попробуете получить список GPO, примененных к компьютеру, под пользователем без прав локального администратора, команда gpresult вернет ошибку отказа в доступе:

gpresult /r /scope:computer

ERROR: Access Denied.

gpresult ошибка отказано в доступе

Для удобства анализа данных RSOP, вы можете перенаправить результаты Gpresult в буфер обмена:

Gpresult /r |clip

или текстовый файл:

Gpresult /r > c:gpresult.txt

Чтобы вывести сверхподробную информацию RSOP, нужно добавить ключ /z.

Gpresult /r /z

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

подробный отчет gpresult с настройка GPO которые применились к компьютеру

GPResult: экспорт данных RSOP в HTML отчет

Утилита GPResult позволяет сгенерировать HTML-отчет по примененным результирующим политикам (доступно в Windows 7 и выше). Такой отчет содержит подробную информацию обо всех параметрах Windows, которые задаются групповыми политиками и именами GPO, которые внесли изменения. Этот отчет по структуре напоминает вкладку Settings в консоли управления доменными групповыми политиками (
gpmc.msc
). Сгенерировать HTML отчет GPResult можно с помощью команды:

GPResult /h c:gp-reportreport.html /f

Если не указывать полный путь к HTML файлу, то HTML отчет gpresult будет сохранен в каталог
%WINDIR%system32
.

GPResult html отчет с примененными политиками

Чтобы сгенерировать отчет и автоматически открыть его в браузере, выполните команду:

GPResult /h GPResult.html & GPResult.html

В HTML отчете gpresult содержится довольно много полезной информации: видны ошибки применения GPO, время применения конкретных политик (в мс.) и CSE (в разделе Computer Details -> Component Status). Это удобно, когда нужно понять почему групповые политики (GPP/GPO) применяются на компьютере слишком долго.

Например, на скриншоте выше видно, что политика Enforce password history с настройками 24 passwords remember применена политикой Default Domain Policy (столбец Winning GPO).

HTML отчет позволяет представить результирующий набор GPO компьютера в удобном графическом виде.

Получение отчета по политикам GPResult с удаленного компьютера

GPResult может получить информацию о результирующих политик с удаленного компьютера.

GPResult /s wks22123 /r /user a.ivanov

В команде gpresult можно указать имя и пароль для подключения к удаленному компьютеру:

gpresult /R /S wks22123 /scope user /U winitprokbuldogov /P P@$$worrd

gpresult получить данные rsop с удаленного компьютера

Если вы не хотите, чтобы ваш пароль сохранялся в истории команд PowerShell, можно запросить пароль интерактивно:
gpresult /R /S wks22123 /scope user /U winitprokbuldogov /P

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

Если вы не знаете имя пользователя, под которым выполнен вход, можно узнать учетную запись на удаленном компьютере так:

qwinsta /SERVER:remotePC1

HTML отчет RSOP, аналогичный тому, который формирует команда gpresult можно создать с помощью PowerShell. Для получения результирующих политик с удаленного компьютера используется командлет Get-GPResultantSetOfPolicy из модуля GroupPolicy.

Get-GPResultantSetOfPolicy -user kbuldogov -computer corppc0200 -reporttype html -path c:psgp_rsop_report.html

Пользователь не имеет данных RSOP

Если на компьютере включен UAC, то GPResult без повышенных привилегий выведет только параметры пользовательского раздела групповых политик. Если нужно одновременно отобразить оба раздела (USER SETTINGS и COMPUTER SETTINGS), открыть командную строку с правами администратора. Е

сли командная строка с повышенными привилегиями запущена от имени учетной записи отличной от текущего пользователя системы, утилита выдаст предупреждение INFO: The user “domainuser” does not have RSOP data (Пользователь «domainuser» не имеет данных RSOP). Это происходит потому, что GPResult пытается собрать информацию для пользователя, ее запустившего, но т.к. данный пользователь не выполнил вход (logon) в систему, информация RSOP для него отсутствует. Чтобы собрать информацию RSOP по пользователю с активной сессией, нужно указать его учетную запись:

gpresult /r /user:tnedward

gpresult - групповые политики пользователя

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

qwinsta /SERVER:remotePC1

Также проверьте время (и часовой пояс) на клиенте. Время должно соответствовать времени на PDC (Primary Domain Controller).

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

При отладке и траблшутинге применения групповых политик стоит также обращать внимание на секцию: The following GPOs were not applied because they were filtered out (Следующие политики GPO не были применены, так как они отфильтрованы). В этой секции отображается список GPO, которые по той или иной причине не применяются к этому объекту. Возможные варианты, по которым политика может не применяться:

  • Filtering: Not Applied (Empty) (Фильтрация: Не применено (пусто)) – политика пустая (применять, нечего);
  • Filtering: Denied (Unknown Reason) (Фильтрация: Не применено (причина неизвестна)) – скорее всего у пользователя или компьютера отсутствуют разрешения на чтение/применение этой политики. Разрешения настраиваются на вкладке Security в консоли управления доменными GPO — GPMC (Group Policy Management Console);
  • Filtering: Denied (Security) (Фильтрация: Отказано (безопасность)) — в секции Apply Group Policy указан явный запрет в разрешении Apply group policy либо объект AD не входит в список групп в разделе настроек Security Filtering.

Фильтрация групповых политик

Также вы можете понять должна ли применяться GPO к organizational unit (OU) в AD на вкладке эффективных разрешений (Advanced -> Effective Access).

Оснастка результирующих политик RSoP в Windows

Изначально для диагностики применения групповых политик в Windows использовалась графическая консоль
RSOP.msc
. Эта оснастка позволяет получить настройки результирующих политик (доменных + локальных), примененных к компьютеру и пользователю в графическом виде аналогичном консоли редактора GPO. На скриншоте показа вид консоли RSOP.msc в которой видно, что настройки Windows Update на компьютере заданы доменной политикой WSUS_SERVERS.

консоль результирующей групповой политики - RSOP.msc

В современных версиях Windows RSOP.msc не получится использовать для полноценного анализа примененных GPO. Она не отражает настройки, примененные через расширения групповых политик CSE (Сlient Side Extensions), таких как GPP (Group Policy Preferences), не позволяет выполнять поиск, предоставляет мало диагностической информации. В Windows 10 и 11 при запуске
rsop.msc
появилось предупреждение, что основной инструмент для диагностики применения GPO это утилита gpresult.

Starting with Vista, the Resultant Set of Policies (RSoP) report does not show all Microsoft Group Policy settings. To see the full set of Microsoft Group Policy settings applied for a computer or user, use the command-line tool gpresult.

rsop.msc в Windows не показывает все примененные политики
В этой статье мы рассмотрели, как использовать утилиту GPResult для анализа результирующих групповых политик, которые применяются в Windows. Также для анализа применения GPO в домене рекомендуем использовать инструкции из статьи “Почему групповая политика не применяется к компьютеру или OU”.

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