Медленная загрузка компьютера, вызванная долгим применением групповых политик, является одной из частых проблем в домене, на которые жалуются пользователи. С точки зрения пользователя компьютер загружается очень долго, и как будто зависает на несколько минут на этапе «Применение параметров компьютера / пользователя». В этой статье я попробую собрать полезные диагностические инструменты и приемы, позволяющие администратору выявить причины медленного применения GPO на компьютерах домена.
На самом деле причин, из-за которых на компьютере долго применяются групповые политики может быть множество: это и проблемы с DNS, доступностью и скоростью подключения к DC, неправильной настройкой сайтов AD или проблемы с репликацией, неверно настроенные групповых политики и кривые скрипты и т.п. Проблематично описать универсальный алгоритм по диагностике всех этих проблем. При решении таких проблем, как правило, большую роль имеет опыт и навыки специалиста, производящего диагностику. В этой статье мы остановимся только на диагностики проблем, связанных с самими механизмами работы GPO и клиента GPClient.
Блокирование наследования групповой политик
Чтобы убедиться, что проблема связана именно с доменными GPO, создайте в домене отдельную OU, перенесите в нее проблемный компьютер и с помощью консоли Group Policy Management Console (GPMC.msc) включите блокирование наследование политик для данного контейнера (Block Inheritance). Таким образом на компьютер перестанут действовать все доменные политики (исключение — политики, для которых включен режим Enforced) .
Перезагрузите компьютер и проверьте, сохранилась ли проблема с долгим применением GPO. Если сохранилась, вероятнее всего проблема с самим компьютером или локальными политиками (попробуйте их сбросить на дефолтные).
Вывод подробных сообщений на экране загрузки
В Windows на экране загрузки системы можно включить отображение расширенной статусной информации, позволяющей пользователям и администратору визуально понять на каком этапе загрузки компьютера наблюдается наибольшая задержка. При включении данной политики, в том числе, начинает отображаться информация о применяемых компонентах GPO.
Включить эту политику можно в следующем разделе GPO:
- в Windows 7 / Vista : Computer Configuration -> Policies -> System -> Verbose vs normal status messages = Enabled
- в Windows 8/10 : Computer Configuration -> Policies -> System -> Display highly detailed status messages = Enabled
Этот же параметр можно активировать через реестр, создав в ветке HKEY_LOCAL_MACHINE\SOFTWARE Microsoft \Windows \CurrentVersion\ Policies\System параметр типа DWORD с именем verbosestatus и значением 1.
В результате на экране в процессе загрузки будут отображаться такие сообщения:
Отчет GPResult
Результирующую политику, которая была применена к компьютеру, стоит проанализировать с помощью HTML отчета gpresult, создать который можно такой командой, запущенной с правами администратора:
gpresult /h c:\ps\gpreport.html
Этот отчет достаточно удобен для анализа и может содержать ссылки на различные ошибки при применении GPO.
Кроме того, в разделе отчета Computer Details -> Component Status присутствуют полезные данные о времени (в мс) применения различных компонентов GPO в виде:
Group Policy Files (N/A) 453 Millisecond(s) 18.01.2017 14:10:01 View Log
Group Policy Folders (N/A) 188 Millisecond(s) 18.01.2017 14:10:00 View Log
Group Policy Local Users and Groups (N/A) 328 Millisecond(s) 18.01.2017 14:10:00 View Log
Group Policy Registry (N/A) 171 Millisecond(s) 18.01.2017 14:10:01 View Log
Group Policy Scheduled Tasks (N/A) 343 Millisecond(s) 18.01.2017 14:10:01 View Log
Scripts (N/A) 156 Millisecond(s) 18.01.2017 14:09:04 View Log
Security (N/A) 3 Second(s) 495 Millisecond(s) 18.01.2017 14:09:08 View Log
Реестр (N/A) 18 Second(s) 814 Millisecond(s) 18.01.2017 14:10:00 View Log
Анализ событий от Group Policy в системных журналах Windows
В журнале приложений о медленном применении политик может свидетельствовать событие с EventID 6006 от источника Winlogon с текстом:
Судя по данному событию, пользователю пришлось ждать применения групповых политик при загрузке компьютера в течении почти часа…
В Windows 7 / Windows 2008 R2 и выше все события, касающиеся процесса применения групповых политик на клиенте доступны в журнале событий Event Viewer (eventvwr.msc) в разделе Applications and Services Logs –> Microsoft -> Windows -> Applications and Services Logs -> Group Policy -> Operational.
Для анализа времени применения политик будут полезны следующие EventID:
- События 4016 и 5016 показывают время начала и завышения процесса обработки расширений применения GPO, причем в последнем указано общую длительность обработки расширения.К примеру, на скриншоте ниже был включен фильтр журнала Group Policy -> Operational по событиям 4016 и 5016. По тексту события 5016 можно увидеть время обработки этого компонента GPOЗавершена обработка расширения Group Policy Local Users and Groups за 1357 мс.
- Событие 5312 содержит список применённых политик, а в событии 5317 есть список отфильтрованных GPO.
- В событиях 8000 и 8001 содержится, соответственно, время обработки политик компьютера и пользователя при загрузке компьютера. А в событиях 8006 и 8007 есть данные о времени применения политик при периодическом обновлении.
При анализе журнала стоит также обращать на время, прошедшее между двумя соседними событиями, это может помочь обнаружить проблемный компонент.
Отладочный журнал службы GPSVC
В некоторых ситуациях бывает полезным включить ведение отладочного журнала обработки GPO — gpsvc.log. С помощью временных меток в файле gpsvc.log можно найти компоненты GPO, которые долго отрабатывали.
Отладочные журналы Group Policy Preferences
Расширения Group Policy Preferences также могут вести подробные лог загрузки каждого компоненте CSE (Client-Side Extensions). Отладочные журналы CSE можно включить в разделе GPO: Computer Configuration -> Policies -> Administrative Templates->System->Group Policy -> Logging and tracing
Как вы видите, доступные индивидуальные настройки для каждого CSE. В настройках политики можно указать тип событий, записываемых в журнал (Informational, Errors, Warnings или все), максимальный размер журнала и местоположение лога:
- Трейс файл пользовательских политик %SYSTEMDRIVE%\ProgramData\GroupPolicy\Preference\Trace\User.log
- Трейс файл политик компьютера %SYSTEMDRIVE%\ProgramData\GroupPolicy\Preference\Trace\Computer.log
После сбора логов нужно проанализировать их на ошибки, а также попытаться найти соседние события, время между которыми отличается на несколько минут.
Итак, в этой статье мы рассмотрели основные способы диагностики проблем долгого применения групповых политик на компьютерах домена. Надеюсь, статья будет полезной.
Блокирование наследования не отключит все доменные политики. Если есть политики Enforce, то они продолжат применяться, не смотря на блокирование.
Согласен. Добавил сноску в статью.
У меня была немного другая проблема: долгое выключение компа. Т.е. в логах пишет: «Завершено Сценарий завершения работы для %username% за 600 сек.» Методом долгих раздумий нашел в реестре разделы с названием Shutdown, в которых были прописаны какие-то несуществующие пути для сценария выхода. Поудалял- и компы стали выключаться нормально, а не по 5- 20 минут.
Если не забыли, пришлите эти пути реестра.
Будет полезно другим пользователям.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\Scripts и HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine\Scripts- там есть разделы Start и Shutdown- сюда пишутся политики, которые применяются при включении/выключении. Если удаляем там значения, а они снова появляются- значит, в какой-то политике это прописано. При этом в GPOName можно посмотреть GUID политики, ну и потом найти ее по этому полю в GPMC.
Может кому-то будет полезно. У меня такая проблема возникла из-за того, что в vbs-скрипте, который распространялся групповой политикой в автозагрузку компьютеров домена, использовались << такие кавычки, вместо " таких.
Подскажите, как в отчете по групповой политике включить раздел Summary?