В GPResult пользователь не имеет данных RSOP
В GPResult пользователь не имеет данных RSOP
Добрый день! Уважаемые читатели и гости IT блога Pyatilistnik.org. В прошлый раз мы с вами подробно разобрали сетевую технологию VLAN и ее применение. В сегодняшней статье я расскажу, как решил вот такую ситуацию на одном из терминальных столов. Нужно мне было проверить применение групповых политик для пользователя, в момент диагностики я, как обычно попытался воспользоваться утилитой GPresult, но в итоге получил ошибку «Пользователь не имеет данных RSOP«. Давайте разбираться в чем дело.
Я первый раз получил такую ошибку в своей практике. Мое окружение, это RDS хост с Windows Server 2012 R2. Командная строка работает в режиме администратора. Напоминаю, что GPresult — это утилита показывающая подробный отчет по примененным или отклоненным групповым политикам пользователя и компьютера, чтобы системный администратор имел представление и знал, где диагностировать проблему. Вот так вот выглядит ошибка «gpresult /r Пользователь не имеет данных RSOP (The user does not have RSoP data)»
Я подумал, ладно пойду другим путем и попробую проверить применение политик GPO через RSOP, но и тут я получил ошибку:
Если посмотреть журнал с логами Windows, то вы обнаружите вот такое предупреждение:
Первым делом проверьте, что у вас в запущенном состоянии служба инструментария управления Windows (Winmgmt). Для этого откройте оболочку PowerShell и введите команду:
Если у вас будет статус «Stop», то введите команду:
Так же вы можете перезапустить сервис, командой:
Следующим шагом я вам советую добавить ключ в реестр Windows. Переходим в ветку:
Создаем ключ dword32
с именем GroupPolicyMinTransferRate и значением 0
И точно такой же в ветке:
Создаем ключ dword32 с именем GroupPolicyMinTransferRate и значением 0. Перезагружаем компьютер или сервер. Данная манипуляция в большинстве случаев исправляет ошибку GPResult пользователь не имеет данных RSOP.
Если первый метод не помог, то пробуем удалить из реестра всю историю объекта групповой политики из профиля пользователя. Перед удалением обязательно сделайте резервную копию ветки реестра.
После чего в командной строке вводим gpupdate /force, а затем gpresult /h. В итоге ошибка «Пользователь не имеет данных RSOP», должна пропасть. Еще одним методом устранения проблемы в обработке результирующей политики, является вывод компьютера из домена Active Directory, и повторный ввод в домен.
Я наблюдал ошибку «The user does not have RSoP data», когда люди пытались удаленно выполнять команду результирующей политики, для еще не вошедшего в систему пользователя, или наоборот у них командная строка запущена от имени другого пользователя, например с большими правами, но он так же не вошел интерактивно на сервер. Тут два варианта, либо вы заходите под ним на сервер или же в в выводе gpresult вы используете его данные, простой пример:
Команда 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 в современных версиях 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), выполните команду:
Результаты выполнения команды разделены на 2 секции:
- COMPUTERSETTINGS(Конфигурация компьютера)– раздел содержит информацию об объектах GPO, действующих на компьютер (как объект Active Directory);
- USERSETTINGS – пользовательский раздел политик (политики, действующие на учетную запись пользователя в AD).
Вкратце пробежимся по основным параметрам/разделам, которые нас могут заинтересовать в выводе GPResult:
- SiteName (Имя сайта:)– имя сайта AD , в котором находится компьютер;
- CN – полное каноническое пользователя/ компьютера, для которого были сгенерированы данные RSoP;
- LasttimeGroupPolicywasapplied (Последнее применение групповой политики)– время, когда последний раз применялись групповые политики;
- GroupPolicywasappliedfrom (Групповая политика была применена с)– контроллер домена, с которого была загружена последняя версия GPO;
- DomainNameи DomainType (Имя домена, тип домена)– имя и версия схемы домена Active Directory;
- AppliedGroupPolicyObjects(Примененные объекты групповой политики) – списки действующих объектов групповой политики;
- ThefollowingGPOswerenotappliedbecausetheywerefilteredout (Следующие политики GPO не были применены, так как они отфильтрованы)— не примененные (отфильтрованные) GPO;
- Theuser/computerisapartofthefollowingsecuritygroups (Пользователь/компьютер является членом следующих групп безопасности) – доменные группы, в которых состоит пользователь.
В нашем примере видно, что на объект пользователя действуют 4 групповые политики.
- Default Domain Policy;
- Enable Windows Firewall;
- DNS Suffix Search List;
- Disable Cached Credentials.
Если вы не хотите, чтобы в консоль одновременно выводилась информация и о политиках пользователя и о политиках компьютера, вы можете с помощью опции /scope вывести только интересующий вас раздел. Только результирующие политики пользователя:
gpresult /r /scope:user
или только примененные политики компьютера:
gpresult /r /scope:computer
Т.к. утилита Gpresult выводит свои данные непосредственно в консоль командной строки, что бывает не всегда удобно для последующего анализа, ее вывод можно перенаправить в буфер обмена:
или текстовый файл:
Gpresult /r > c:\gpresult.txt
Чтобы вывести сверхподробную информацию RSOP, нужно добавить ключ /z.
HTML отчет RSOP с помощью GPResult
Кроме того, утилита GPResult может сгенерировать HTML-отчет по примененным результирующим политикам (доступно в Windows 7 и выше). В данном отчете будет содержаться подробная информация обо всех параметрах системы, которые задаются групповыми политиками и именами конкретных GPO, которые их задали (получившийся отчет по структуре напоминает вкладку Settings в консоли управления доменными групповыми политиками – GPMC). Сгенерировать HTML отчет GPResult можно с помощью команды:
GPResult /h c:\gp-report\report.html /f
Чтобы сгенерировать отчет и автоматически открыть его в браузере, выполните команду:
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
Если вы не знаете имя учтённой записи, которая залогинена на удаленном компьютере, учетную запись можно получить так:
Также проверьте время (и часовой пояс) на клиенте. Время должно соответствовать времени на PDC (Primary Domain Controller).
Следующие политики GPO не были применены, так как они отфильтрованы
При траблшутинге групповых политик стоит также обращать внимание на секцию: The following GPOs were not applied because they were filtered out (Следующие политики GPO не были применены, так как они отфильтрованы). В этой секции отображается список GPO, которые по той или иной причине не применяются к этому объекту. Возможные варианты, по которым политика может не применяться:
- Filtering: NotApplied(Empty) (Фильтрация: Не применено (пусто)) – политика пустая (применять, собственно, нечего);
- Filtering: Denied(UnknownReason) (Фильтрация: Не применено (причина неизвестна)) – скорее всего у пользователя или компьютера отсутствуют разрешения на чтение/применение этой политики (разрешения настраиваются на вкладке 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 и рассмотрели типовые сценарии ее использования.