· 16 мин чтения

Диагностика групповых политик: gpresult, rsop, Event Log

Диагностика групповых политик: gpresult, rsop, Event Log

Привет! Я, Семёнов Евгений Сергеевич, возглавляю ITFresh. За 15 лет в IT мы насмотрелись на всякое – особенно на десятки, если не сотни, случаев, когда «GPO почему-то не применяется, хотя просто обязана». Знаете, в корпоративных сетях это, пожалуй, вторая по популярности головная боль после извечного «где у него интернет?». В этой статье я подробно расскажу, как мы подходим к диагностике, какими инструментами пользуемся и, главное, какие реальные причины этой вечной проблемы приходится устранять буквально каждый месяц.

Первый шаг: gpresult

Наш первый шаг? Всегда gpresult. Он, как рентген, чётко покажет, что именно применилось на клиентской машине.

REM Простой отчёт
gpresult /r

REM HTML-отчёт для подробного анализа
gpresult /h %userprofile%\gpo.html /f
start %userprofile%\gpo.html

REM Отчёт для конкретного пользователя
gpresult /user "domain\ivanov" /h c:\temp\ivanov-gpo.html

REM Только настройки компьютера (когда нет интерактивной сессии)
gpresult /scope computer /v

В HTML-отчёте смотрим:

rsop.msc — графический взгляд

Он, конечно, уже устарел и выдаёт меньше информации, чем gpresult /h. Но знаете, иногда по старинке с ним всё равно удобнее работать.

rsop.msc

На Windows Server 2022 он уже не справляется: часть настроек Preferences просто не видно. Пришлось окончательно пересесть на HTML-отчёт.

Event Log: операционные события GPO

Куда ещё посмотреть? Загляните прямо сюда: Event Viewer → Applications and Services Logs → Microsoft → Windows → GroupPolicy → Operational. Ищите конкретные EventID – они наши главные помощники.

IDЧто означает
4016 / 5016Начало/успех обработки компьютерной GPO
4017 / 5017Начало/успех обработки LDAP
5312Список применённых GPO
5313Список отфильтрованных GPO
7016Ошибка CSE
8194Ошибка доступа к SYSVOL
1058Не удалось прочитать GPO (часто SYSVOL/DFSR)

Ошибка 1058? О, это прямо моя «любимица»! Она почти в 100% случаев сигнализирует о бедах с DFSR-репликацией SYSVOL между контроллерами. Что же делать? Не теряем времени – идём прямо на контроллер домена и моментально проверяем состояние репликации. Это первое, с чего мы всегда начинаем.

Типичные причины неприменения GPO

1. Security Filtering после MS16-072

Помните тот патч MS16-072 от 2016 года? Он здорово изменил правила игры: теперь GPO читает компьютер, а не пользователь. И вот тут кроется западня: если вы когда-то убрали Authenticated Users из Security Filtering, чтобы точечно отфильтровать по группе, – всё, GPO просто перестанет работать. Мы такое часто видим.

Наше решение максимально простое: Authenticated Users оставляем, даём им право Read, но *без* Apply. А уже потом добавляете ту самую нужную группу, но уже с полным комплектом: Read + Apply. Вот и всё.

2. WMI Filter «не стрельнул»

Ох, как часто мы видим такую картину: для GPO ставится WMI-фильтр «только для Windows 10».

SELECT * FROM Win32_OperatingSystem WHERE Version LIKE "10.%"

А потом начинается: почему на Windows 11 (которая, кстати, имеет Version 10.0.22000+) политика не применяется? Да потому что она не проходит фильтры вроде «Windows Server» или «Windows 7»! Всегда проверяйте это.

gpresult /r /scope:computer  # показывает, какой WMI-фильтр отфильтровал

3. GPO-link отключен / не на нужной OU

Как часто админы создают прекрасную GPO, а потом просто забывают привязать (Link) её к нужной OU! Или привязывают сразу к Domain Root, хотя хотели, чтобы она действовала только на Workstations. Это распространённая ошибка. Где проверить? Открываем gpmc.msc, идём по дереву OU и смотрим свойства Link. Мы всегда начинаем с этого.

4. Block Inheritance и Enforced

Ещё один подводный камень: OU иногда имеет Block Inheritance – это значит, она просто не наследует политики сверху. Но учтите, отдельные GPO могут быть Enforced, и вот они-то как раз протыкают эту блокировку! Поэтому всегда, просто всегда проверяйте настройки OU и не забывайте про флаг Enforced.

5. Проблемы с SYSVOL / репликацией

Отредактировали GPO на одном DC, а она так и не дошла до другого? Вот тут счёт идёт на минуты – вам нужно срочно, просто немедленно проверить DFSR. Это наш главный подозреваемый в таких ситуациях.

dcdiag /v /test:replications
repadmin /replsummary
repadmin /showrepl
wevtutil qe "DFS Replication" /c:10 /rd:true /f:text

6. Slow Link Detection

Знаете, если канал до контроллера домена слишком медленный – то есть меньше стандартных 500 kbps – то часть расширений GPO, например, Software Installation или Scripts, просто не сработает. Это факт. Где проверить? Идём по пути: Computer Configuration → Policies → Administrative Templates → System → Group Policy → Configure Group Policy slow link detection. Очень часто мы находим здесь ответ.

7. Время и Kerberos

А если часы на DC и клиентской машине расходятся более чем на пять минут? Всё, Kerberos просто рухнет, и GPO, само собой, даже не начнут применяться. Это критично! Вот несколько команд, которые могут быстро помочь нам в такой ситуации:

w32tm /query /status
w32tm /resync /force

Алгоритм диагностики

  1. gpresult /h report.html — что применилось, что отфильтровано.
  2. Когда что-то идёт не так, первым делом стоит заглянуть в Event Log GroupPolicy/Operational. Там, как правило, вы увидите ошибки 1058 или 7016, которые многое расскажут о сути проблемы.
  3. Проверить членство в группах: whoami /groups для пользователя, gpresult /scope:computer для компьютера.
  4. Не забудьте проверить параметры Link и Enforced на Organizational Unit (OU) прямо в консоли gpmc.msc. Иногда причина кроется именно там, мы уже сталкивались с этим не раз.
  5. И обязательно просмотрите Security Filtering, а также все WMI-фильтры, которые применены к вашей GPO. Это частый источник неожиданных проблем, который очень легко упустить из виду.
  6. Проверить репликацию: dcdiag, repadmin /replsummary.
  7. Проверить время: w32tm /query /status.
  8. И важный нюанс: когда работаете с пользовательскими политиками, всегда убедитесь, что применены и соответствующие настройки Computer. Без них может случиться так, что часть User-политик просто не сработает, как положено. Мы это не раз видели на практике.
  9. Если ничего не помогло — gpupdate /force /boot с перезагрузкой и повторный gpresult.

Loopback processing

Когда речь заходит о специфической настройке для терминальных серверов или специальных киосков, это действительно критично. Где найти нужный параметр? Ищите его по длинному, но важному пути: Computer Configuration → Policies → Administrative Templates → System → Group Policy → Configure user Group Policy loopback processing mode.

Знаете, это жутко удобно! Особенно когда на терминальном сервере нужно, скажем, принудительно выставить один и тот же фон для всех пользователей. Или, например, жёстко ограничить доступ к определённым элементам панели управления. С такой настройкой всё становится намного проще, мы на практике убедились.

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

Однажды в 2024 году мы обслуживали проектный институт на 75 рабочих мест в Москве. Сотрудник сменил позицию — перевели из OU «Проектировщики» в OU «Инженеры». На новой должности не смаппился общий диск Z:. gpresult показал, что GPO «Engineers-Drives» не применена, хотя пользователь в нужной группе. Event Log — тишина.

Как-то раз мы взялись за проблему и обнаружили интереснейшую деталь: на Group Policy Object (GPO) висел WMI-фильтр, настроенный строго под «Windows 10 Pro». А у сотрудника, как назло, только что появился новенький ноутбук, но уже с «Windows 11 Home»! Что делать в такой ситуации? Мы оперативно всё исправили: просто убрали тот устаревший фильтр (он был уже, можно сказать, 'исторический артефакт') и договорились о замене ноутбука на подходящую модель с «Windows 11 Pro». Представляете, вся эта работа заняла у нас всего 40 минут и была выполнена удалённо. И самое главное – клиент ничего не доплачивал, ведь это уже входило в его абонентскую плату. Мы такую работу отдельно не тарифицируем.

Полезные команды на заметку

REM Принудительное обновление
gpupdate /force
gpupdate /force /boot    # с перезагрузкой для Computer Config
gpupdate /force /logoff  # с logoff для User Config

REM Показать все политики в домене
Get-GPO -All | Select DisplayName, GpoStatus, CreationTime

REM Связи OU → GPO
Get-GPInheritance -Target "OU=Users,DC=corp,DC=company,DC=ru"

REM Бэкап конкретной GPO
Backup-GPO -Name "Engineers-Drives" -Path C:\GPOBackup

REM Отчёт по GPO
Get-GPOReport -All -ReportType HTML -Path C:\gpo-all.html

Починим ваши групповые политики

15+ лет опыта с Active Directory и GPO. У нас на практике в обслуживании десятки корпоративных доменов. Удалённая и выездная диагностика, быстрый аудит, наведение порядка в «зоопарке» политик. Инфраструктура АйТи Фреш — 8 серверов Dell Xeon Platinum 8280 с 40G Mellanox в дата-центре МТС Москва.

Телефон: +7 903 729-62-41
Telegram: @ITfresh_Boss
Семёнов Евгений Сергеевич, директор АйТи Фреш

FAQ — диагностика GPO

Чем gpresult отличается от rsop.msc?
gpresult — консольная утилита, быстро выводит применённые GPO, поддерживает HTML-отчёт. rsop.msc — MMC-оснастка с графическим деревом примененных настроек. Для анализа первая удобнее, для чтения — вторая.
Почему политика показана как применённая, но настройка не действует?
Два классических случая: настройка из Preferences выполнилась один раз и потом не применяется (Apply once), либо другая GPO перезаписывает в обратном порядке. Проверяйте порядок применения и winning GPO в gpresult.
Как включить GPO только для одной группы?
В Security Filtering снимите Authenticated Users, добавьте нужную группу с Read и Apply group policy. Не забудьте добавить Authenticated Users обратно с Read, иначе 2016+ клиенты не прочитают GPO (MS16-072).
Что такое loopback processing?
Loopback применяет пользовательские настройки GPO исходя из объекта Computer, а не User. Используется для терминальных серверов, где все пользователи должны получать одинаковые настройки при логине, независимо от OU.
Как посмотреть события GPO в логах?
Event Viewer → Applications and Services Logs → Microsoft → Windows → GroupPolicy → Operational. Там видны все события применения: успех, ошибки, время. EventID 4016/5016 — начало/успех, 4017/5017 — завершение, 7016 — ошибка.

Подпишитесь на рассылку ITfresh

Ищете реально полезные советы? Каждую неделю мы публикуем практические гайды специально для IT-руководителей и сисадминов. Здесь найдёте всё: от вопросов безопасности и работы с 1С до сложных миграций, настройки резервных копий и, конечно, проверенные лайфхаки, которые мы сами используем в наших реальных проектах.

Реквизиты оператора персональных данных

ООО «АЙТИ-ФРЕШ», ИНН 7719418495, КПП 771901001. Юридический адрес: 105523, г. Москва, Щёлковское шоссе, д. 92, корп. 7. Контакт: info@itfresh.ru, +7 903 729-62-41. Оператор обрабатывает e-mail подписчика в целях рассылки информационных и рекламных материалов до момента отзыва согласия.