Пользователи домена Active Directory иногда могут жаловаться на замедление скорости входа в систему из-за долгого применения групповых политик. С точки зрения пользователя этом выглядит как долгая загрузка компьютера, когда он несколько минут на этапе Применение параметров компьютера / пользователя. В этой статье мы рассмотрим, как определить, как долго применятся настройки GPO на компьютере, и как выявить какие параметры политик вызывают большие задержки при применении.
- Вывести подробных сообщений на экране загрузки Windows
- Узнать общее время применения групповых политик на компьютере
- Время обработки (применения) параметров Group Policy Preferences в отчете GPResult
- Блокирование наследования групповой политик
- Включить расширенный лог клиента Group Policy (GPSVC)
- Отладочные журналы Group Policy Preferences
- Обнаружение медленных подключений GPO
Вывести подробных сообщений на экране загрузки Windows
На экране загрузки Windows можно вывести расширенную статусную информацию, которая позволяет точно определить на каком этапе загрузки наблюдается наибольшая задержка. Это режим можно включить с помощью параметра групповой политики Display highly detailed status messages в разделе Computer Configuration -> Policies -> System.
REG Add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\" /V "verbosestatus" /T REG_DWORD /D 1 /F
Теперь при загрузке компьютера на экран будет выводится в том числе информация о применяемых компонентах GPO.
Applying Group Policy Network Options policy Applying Group Policy Local Users and Groups policy
На скриншоте ниже видно, что групповая политика используется для установки программы из MSI пакета на компьютер пользователя. Это действительно может занимать длительное время при первичной установке.
Узнать общее время применения групповых политик на компьютере
Чтобы понять, как долго применялись (обрабатывались) настройки GPO на компьютере, откройте журнал событий EventViewer
В консоли
eventvwr.msc
перейдите в раздел Applications and Services Logs– Microsoft – Windows – Group Policy – Operational. Отфильтруйте журнал по следующим Event ID:
- 8000 – событие завершения обработки политик компьютера
- 8001 – завершение обработки политик входа пользователя
В описании таких событии будет содержаться время, затраченное на обработку данного раздела GPO:
Завершена обработка политики загрузки компьютера для CORP\pc212333$ за 28 с. Completed computer boot policy processing for RESLAB\WKS333$ in 43 seconds.
В событиях с кодами 4016 и 5016 содержится информация о времени начале и завершении обработки клиентских расширений GPO (CSE, Client-Side Extensions). Как правило это события обработки отдельных компонентов предпочтений групповых политик (Group Policy Preferences, GPP), таких как политики подключения сетевых дисков, создания заданий планировщика, добавления в локальные группы и т.д. В описании таких событий будет указано название CSE и время применения настроек политик этого раздела:
Завершена обработка расширения Group Policy Local Users and Groups за 1357 мс. Completed Software Installation Extension Processing in 39016 milliseconds.
alert type=’warning’]Событие 5312 содержит список применённых политик, а в событии 5317 есть список отфильтрованных GPO. [/alert]
Время обработки (применения) параметров Group Policy Preferences в отчете GPResult
Сформируйте HTML отчет gpresult, который будет содержать подробную информацию о результирующих настройках групповых политик на компьютере:
gpresult /h c:\ps\gpreport.html
Помимо информации о примененных настройках GPO в секции Component Status (доступна как в Computer, так и User секции GPO) будет указано время применения различных компонентов Group Policy Preferences.
Для каждого используемого компонента предпочтения групповых политик (включает GPO для настройки реестра, создания ярлыков и т.д.) указано суммарное время применения.
В нашем случае видно, что политика подключения сетевого диска (Group Policy Drive Maps) применялась 19 секунд (что довольно много). Чтобы узнать возможные причины долгого применения, щелкните по кнопке View Log.
Также откройте журнал Event Viewer -> Applications и отфильтруйте события по источнику Group Policy Drive Maps. В этом примере причина долгой обработки политики в том, что в настройках одного из подключаемых сетевых дисков указано несуществующее/недоступное имя. Если таких дисков несколько, то таймаут для каждого из них будет около 20 секунд, что существенно увеличит суммарное время загрузки компьютера. Проверьте доступность сетевого пути, и отредактируйте указанную GPO, удалив подключение сетевого диска или изменив UNC путь.
Блокирование наследования групповой политик
Чтобы убедиться, что проблема связана именно с доменными GPO, создайте в домене отдельную OU, перенесите в нее проблемный компьютер и с помощью консоли Group Policy Management Console (GPMC.msc) включите блокирование наследование политик для данного контейнера (Block Inheritance). Таким образом на компьютер перестанут действовать все доменные политики (исключение — политики, для которых включен режим Enforced).
Перезагрузите компьютер и проверьте, сохранилась ли проблема с долгим применением GPO. Если сохранилась, вероятнее всего проблема с самим компьютером или локальными политиками (попробуйте их сбросить на дефолтные).
Включить расширенный лог клиента Group Policy (GPSVC)
Для получения детального лога применения GPO можно включить отладочный журнал службы Group Policy Client Service (GPSVC). Для этого нужно создать папку usermode и параметр реестра GPSvcDebugLevel:
md %windir%\debug\usermode
REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Diagnostics" /v GPSvcDebugLevel /t REG_DWORD /d 0x00030002 /f
После перезагрузки, служба Group Policy Client будет записывать все события обработки политик в файл gpsvc.log (
%WINDIR%\debug\UserMode\gpsvc.log
).
Откройте лог файл, найдите события вызвавшие большие задержки и проанализируйте, могут ли они повлиять на долгую загрузку компьютера при применении политик.
Отладочные журналы Group Policy Preferences
Расширения Group Policy Preferences также могут вести подробные лог загрузки каждого компонента CSE (Client-Side Extensions). Отладочные журналы CSE можно включить в разделе GPO: Computer Configuration -> Policies -> Administrative Templates -> System ->Group Policy -> Logging and tracing.
Можно включить лог для каждого компонента GPP отдельно. В настройках политики можно указать тип событий, записываемых в журнал (Informational, Errors, Warnings или все), максимальный размер журнала и местоположение лога. По умолчанию это:
- Лог пользовательских политик:
%SYSTEMDRIVE%\ProgramData\GroupPolicy\Preference\Trace\User.log
- Лог политик компьютера:
%SYSTEMDRIVE%\ProgramData\GroupPolicy\Preference\Trace\Computer.log
После сбора логов нужно проанализировать их на ошибки, а также попытаться найти соседние события, время между которыми отличается на несколько минут.
Обнаружение медленных подключений GPO
По умолчанию на компьютерах AD используется режим обнаружения медленного канала подключения к контроллеру домена. Идея в том, что, если клиент обнаружил что скорость подключения к контроллеру домена недостаточна (клиент подключен по медленному каналу связи или через VPN), клиент будет игнорировать применение некоторых расширений GPO.
По умолчанию канал считается медленным, если его пропускная способность менее 500 кбит/с.
Проверить, какой тип подключения к AD (быстрый или медленный) определил клиент и текущий порог можно в отчете
gpresult /r
:
Connected over a slow link?: No Group Policy slow link threshold: 500 kbps
Или в событии с EventID 5314:
A fast link was detected. The Estimated bandwidth is 1000000 kbps. The slow link threshold is 500 kbps.
Если компьютер обнаружил, что он работает через медленное подключение, расширения GPP которые требуют высокой пропускной способности (CSE установки программ, запуск скриптов и т.д.) не будут применены.
Пороговое значение может быть увеличено с помощью параметра GPO Configure Group Policy slow link detection (Computer Configuration -> Administrative Templates -> System -> Group Policy). Если администратор увеличил этот лимит (или отключил, задав 0), некоторые клиенты на медленных каналах начнут применять настройки групповых политик, которые могут занять длительное время.
Итак, в этой статье мы рассмотрели основные способы диагностики проблем долгого применения групповых политик на компьютерах домена. На самом деле есть еще множество причин, которые могут вызывать медленную обработку GPO:
- Некорректность конфигурации сайтов AD
- Сложный WMI фильтры и LDAP запросы в политиках или скриптах
- Медленные (плохо оптимизированные) логон скрипты (по умолчанию логон скрипты выполняются асинхронно)
- Тяжелые пакеты установщиков в GPO
- И т.д.