Диагностика групповых политик: 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-отчёте смотрим:
- Applied GPOs — список применённых политик.
- Denied GPOs — с причиной (Filtering, Empty, Disabled).
- Security Group Membership — в каких группах состоит объект.
- Winning GPO для каждой настройки — кто именно задал значение.
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
Алгоритм диагностики
gpresult /h report.html— что применилось, что отфильтровано.- Когда что-то идёт не так, первым делом стоит заглянуть в Event Log GroupPolicy/Operational. Там, как правило, вы увидите ошибки 1058 или 7016, которые многое расскажут о сути проблемы.
- Проверить членство в группах:
whoami /groupsдля пользователя,gpresult /scope:computerдля компьютера. - Не забудьте проверить параметры Link и Enforced на Organizational Unit (OU) прямо в консоли gpmc.msc. Иногда причина кроется именно там, мы уже сталкивались с этим не раз.
- И обязательно просмотрите Security Filtering, а также все WMI-фильтры, которые применены к вашей GPO. Это частый источник неожиданных проблем, который очень легко упустить из виду.
- Проверить репликацию:
dcdiag,repadmin /replsummary. - Проверить время:
w32tm /query /status. - И важный нюанс: когда работаете с пользовательскими политиками, всегда убедитесь, что применены и соответствующие настройки Computer. Без них может случиться так, что часть User-политик просто не сработает, как положено. Мы это не раз видели на практике.
- Если ничего не помогло —
gpupdate /force /bootс перезагрузкой и повторный gpresult.
Loopback processing
Когда речь заходит о специфической настройке для терминальных серверов или специальных киосков, это действительно критично. Где найти нужный параметр? Ищите его по длинному, но важному пути: Computer Configuration → Policies → Administrative Templates → System → Group Policy → Configure user Group Policy loopback processing mode.
- Merge — применяет пользовательские настройки И из OU пользователя, И из OU компьютера (последние побеждают).
- Replace — применяет только из OU компьютера, игнорируя OU пользователя.
Знаете, это жутко удобно! Особенно когда на терминальном сервере нужно, скажем, принудительно выставить один и тот же фон для всех пользователей. Или, например, жёстко ограничить доступ к определённым элементам панели управления. С такой настройкой всё становится намного проще, мы на практике убедились.
Реальный кейс: у нового сотрудника не маппится общая папка
Однажды в 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 — ошибка.
