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

Утилита GPResult.exe – представляет собой консольное приложение, предназначенное для анализа настроек и диагностики групповых политик, которые применяются к компьютеру и/или пользователю в домене Active Directory. В частности, GPResult позволяет получить данные результирующего набора политик (Resultant Set of Policy, RSOP), список примененных доменных политик (GPO), их настройки и детальную информацию об ошибках их обработки. Утилита входит в состав ОС Windows начиная со времен Windows XP. Утилита GPResult позволяет ответить на такие вопросы: применяется ли конкретная политика к компьютеру, какая именно GPO изменила ту или иную настройку Windows, разобраться с причинами долгого применения GPP/GPO.

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

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

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

Однако, консоль RSOP.msc в современных версиях Windows использовать нецелесообразно, т.к. она не отражает настройки, примененные различными расширениями групповых политик (client side extensions — CSE), например GPP (Group Policy Preferences), не позволяет выполнять поиск, предоставляет мало диагностической информации. Поэтому на данный момент именно команда GPResult является основным средством диагностики применения GPO в Windows (в Windows 10 даже появляется предупреждение, что RSOP не дает полный отчет в отличие от GPResult).

Использование утилиты GPResult.exe

Команда 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  (Последнее применение групповой политики)– время, когда последний раз применялись групповые политики;
  • 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 групповые политики.

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

gpresult /r /scope:user

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

gpresult /r /scope:computer

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

Gpresult /r |clip

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

Gpresult /r > c:\gpresult.txt

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

Gpresult /r /z

HTML отчет RSOP с помощью GPResult

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

GPResult /h c:\gp-report\report.html /f

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

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

GPResult /h GPResult.html & GPResult.html

В HTML отчете gpresult содержится довольно много полезной информации: видны ошибки применения GPO, время обработки (в мс.) и применения конкретных политик и CSE (в разделе Computer Details -> Component Status). Например, на скриншоте выше видно, что политика Enforce password history с настройками 24 passwords remember применена политикой Default Domain Policy (столбец Winning GPO). Как вы видите, такой отчет HTML намного удобнее для анализа применённых политик, чем консоль rsop.msc.

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

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

GPResult /s server-ts1 /r

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

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

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

gpresult /r /user:tn\edward

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.Фильтрация групповых политик

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

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


Предыдущая статья Следующая статья


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

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)