Устранение неполадок, связанных с медленной обработкой GPO и снижением скорости входа в систему
Довольно часто пользователи домена жалуются на медленный запуск компьютера и время входа в систему, вызванные длительной обработкой групповых политик (GPO). С точки зрения пользователя, компьютер долго загружается и, кажется, зависает на несколько минут на этапе «Применение настроек компьютера/пользователя». В этой статье я постараюсь собрать полезные средства диагностики и методы, позволяющие администратору определять причины медленного применения GPO на компьютерах домена.
На самом деле, существует ряд причин, по которым групповые политики требуют много времени для применения: это могут быть проблемы с DNS, доступность DC и скорость подключения к нему, неправильная конфигурация сайтов AD или проблемы репликации, неправильно настроенные групповые политики, неправильные скрипты и так далее. Трудно описать универсальный алгоритм для диагностики всех этих проблем. При решении подобных задач, как правило, важную роль играет опыт и навыки администратора, проводящего диагностику. В этой статье мы сосредоточимся только на диагностике проблем с механизмами GPO и GPClient.
Как заблокировать наследование групповой политики
Чтобы убедиться, что проблема связана с GPO домена, создайте в домене отдельную OU и переместите на неё проблемный компьютер. Затем с помощью консоли управления групповыми политиками (GPMC.msc) включите блокировку наследования политики для этого контейнера (Block Inheritance). Таким образом, все политики домена перестанут применяться к этому контейнеру (за исключением политик с включённым принудительным режимом).
Перезагрузите компьютер и проверьте, сохраняется ли проблема с медленным применением GPO. Если проблема не исчезнет, скорее всего, проблема в самом компьютере или в локальных групповых политиках (попробуйте сбросить их до значений по умолчанию).
Как отобразить подробную информацию на экране загрузки
В Windows можно включить отображение подробной информации о состоянии, что позволяет пользователям и администратору наглядно понять, на каком этапе загрузки компьютера наблюдается наибольшая задержка. Если вы включите эту политику, также отображается информация о применяемых компонентах GPO.
Вы можете включить эту политику в Group Policy Management Editor («Редакторе управления групповыми политиками»). Для этого откройте откройте Group Policy Management («Управление групповой политикой»), например, это можно сделать в командной строке:
GPMC
Выберите групповую политику, которую вы хотите изменить, кликните по ней правой кнопкой мыши и нажмите Edit («Изменить»).
Вы найдёте нужную настройку следующем разделе GPO:
- в Windows 7/Vista: Computer Configuration → Policies -> System → Verbose vs normal status messages = Enabled (в русскоязычной версии это Конфигурация компьютера → Политики → Система → Подробные и обычные сообщения о состоянии = Включено)
- в Windows 8/10: Computer Configuration → Policies → Administrative Templates → System → Display highly detailed status messages = Enabled (в русскоязычной версии это Конфигурация компьютера → Политики → Административные шаблоны → Система → Выводить очень подробные сообщения о состоянии системы = Включено)
Этот же параметр можно активировать через реестр. Для этого создайте параметр DWORD с именем verbosestatus и значением 1 в разделе реестра HKEY_LOCAL_MACHINE\SOFTWARE Microsoft \Windows \CurrentVersion\Policies\System.
В результате во время загрузки вы увидите на экране следующие сообщения:
Отчёт GPResult
Лучше проанализировать результирующую политику, применённую к компьютеру, с помощью HTML-отчета GPResult, который можно создать с помощью следующей команды, запущенной с правами администратора:
gpresult /h c:\scripts\gpreport.html
Смотрите также: Использование инструмента GPResult для проверки того, какие объекты групповой политики применяются
Этот отчёт довольно удобен для анализа и содержит ссылки на ошибки при применении GPO.
Кроме того, в разделе Computer Details → Component Status (на русском это «Сведения о компьютере» → «Состояние компонента») отчёта содержатся полезные данные о времени затраченное на применение (в мс) различных компонентов GPO, которые выглядят следующим образом:
Group Policy Files (N/A) 432 Millisecond(s) 19.02.2017 11:10:01 View Log Group Policy Folders (N/A) 188 Millisecond(s) 19.02.2017 11:10:00 View Log Group Policy Local Users and Groups (N/A) 338 Millisecond(s) 19.02.2017 11:10:00 View Log Group Policy Registry (N/A) 171 Millisecond(s) 19.02.2017 11:10:01 View Log Group Policy Scheduled Tasks (N/A) 353 Millisecond(s) 19.02.2017 11:10:01 View Log Scripts (N/A) 156 Millisecond(s) 19.02.2017 11:09:04 View Log Security (N/A) 3 Second(s) 495 Millisecond(s) 19.02.2017 11:09:08 View Log Registry (N/A) 18 Second(s) 814 Millisecond(s) 19.02.2017 11:10:00 View Log
Анализ событий групповой политики в системных журналах Windows
В журнале приложения идентификатор события 6006 из Winlogon со следующим сообщением может свидетельствовать о медленном применении политики:
The winlogon notification subscriber <GPClient> took 3104 seconds to handle the notification event (CreateSession).
Перевод: Подписчику уведомления winlogon <GPClient> потребовалось 3104 секунды для обработки события уведомления (CreateSession).
Согласно этому событию, пользователю приходилось ждать применения групповых политик при загрузке почти час…
В Windows 7 / Windows 2008 R2 или выше все события, связанные с обработкой групповой политики на клиенте, доступны в Event Viewer («Просмотр событий»), его можно открыть в командной строке:
eventvwr.msc
В окне Event Viewer («Просмотр событий») перейдите по пути Applications and Services Logs → Microsoft → Windows → Applications and Services Logs → Group Policy → Operational (в русскоязычной версии это Журналы приложений и служб → Microsoft → Windows → Group Policy → Operational).
В Event Viewer («Просмотр событий») вы также можете фильтровать события по источнику для этого нажмите «Создать настраиваемое представление» и в качестве источника выберите GroupPolicy (Microsoft-Windows-GroupPolicy).
Вы увидите журнал событий, связанных с применением групповых политик:
Примечание. В системном журнале остаются только события, связанные с работой самого Клиента групповой политики (gpsvc).
Для анализа времени применения политики будут полезны следующие EventID (Коды событий):
- События с идентификаторами 4016 и 5016 показывают время начала и окончания обработки расширений приложения GPO. Последний также указывает общее время обработки расширения. Например, на скриншоте ниже была включена фильтрация Group Policy → Operational по EventID 4016 и 5016. В сообщении EventID 5016 вы можете увидеть время обработки этого компонента GPO.
Завершена обработка расширения Security за 266 мс.
- EventID 5312 содержит список применённых политик, а EventID 5317 показывает список отфильтрованных GPO.
- EventID 8000 и 8001 содержат время обработки политик компьютера и пользователя во время загрузки соответственно. А в EventID 8006 и 8007 есть данные о времени применения политики при регулярных обновлениях.
Завершена обработка политики загрузки компьютера для DS\HACKWARE-WIN$ за 28 с. Завершена обработка политики входа пользователя для DS\Administrator за 5 с.
Анализируя журнал, обратите внимание на время между двумя соседними событиями. Это может помочь найти проблемный компонент.
Журналы отладки предпочтений групповой политики
Расширения предпочтений групповой политики также могут регистрировать загрузку каждого компонента CSE (клиентских расширений). Журналы отладки CSE можно включить в следующем разделе GPO: Computer Configuration -> Policies -> Administrative Templates->System->Group Policy -> Logging and tracing (в русскоязычной версии это путь Конфигурация компьютера → Политики → Административные шаблоны → Система → Групповая политика → Ведение журнала и трассировка).
Как видите, индивидуальные настройки доступны для каждой каждого Client-Side Extensions (CSE). В настройках политики вы можете указать тип регистрируемого события Informational, Errors, Warnings (Информационное, Ошибки, Предупреждения) или все, максимальный размер журнала и путь к его расположению:
- Файл трассировки политики пользователя %SYSTEMDRIVE%\ProgramData\GroupPolicy\Preference\Trace\User.log
- Файл трассировки политики компьютера %SYSTEMDRIVE%\ProgramData\GroupPolicy\Preference\Trace\Computer.log
Подсказка: Если у вас нет подраздела «Ведение журнала и трассировка» в разделе «Групповая политика» консоли gpedit.msc / GPMC, загрузите и установите шаблоны ADMX предпочтений групповой политики и скопируйте GroupPolicyPreferences.admx из %PROGRAMFILES%\Microsoft Group Policy в локальную папку PolicyDefinitions. или в центральный каталог PolicyDefinitions в SYSVOL.
Собрав логи, нужно проанализировать их на наличие ошибок, а также попытаться найти ближайшие события, время между которыми отличается на несколько минут.
Итак, в этой статье мы рассмотрели основные способы диагностики медленной обработки групповой политики на компьютерах домена. Надеюсь, статья будет полезной.
Связанные статьи:
- Использование инструмента GPResult для проверки того, какие объекты групповой политики применяются (100%)
- Устранение неполадок: групповая политика (GPO) не применяется (100%)
- Актуализация настроек групповой политики на компьютерах домена Windows (90.3%)
- Настройка политики паролей домена в Active Directory (66.2%)
- Fine-Grained Password Policy: Как создать детальную политику паролей в Active Directory (66.2%)
- Как установить и использовать Модуль Active Directory для Windows PowerShell (RANDOM - 50%)