В Windows XP и Windows 2003 для детального анализа применения групповых политик на клиентах мог использоваться отладочный журнал Userenv.log (%Systemroot%DebugUserModeUserenv.log). С его помощью можно было отследить порядок и время применения групповых политик, найти политики, из-за которых компьютер долго загружается и решить другие проблемы с применением GPO.
В Windows 7 (и выше), разработчики Microsoft решили отказаться от использования файла Userenv.log в качестве основного инструмента отладки применения GPO. Большинство событий, относящихся к процессу применения GPO теперь доступны в журнале событий Event Viewer (eventvwr) в разделе Applications and Services Logs –> Microsoft -> Windows -> Applications and Services Logs -> Group Policy -> Operational
Однако, события, содержащиеся в этом журнале не настолько подробны, как лог Userenv.log в Windows XP.
Аналогичный отладочный журнал службы Group Policy Client Service (GPSVC) можно включить и в Windows 7+. Эта недокументированная возможность включения ведения расширенного лога применения GPO также работает в Windows 8, 10 и Windows Server 2008/2012.
Включить ведение журнала GPO можно через реестр, создав в ветке HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionDiagnostics ключ Dword с именем GPSvcDebugLevel и значением 00030002 . (Возможно, ветку Diagnostics придется создать вручную).
Примечание . Параметр можно создать такой командой:
REG ADD "HKLMSOFTWAREMicrosoftWindows NTCurrentVersionDiagnostics" /v GPSvcDebugLevel /t REG_DWORD /d 0x00030002 /f
Обновите политики командой gpupdate /force (или перезагрузите компьютер, если нужно выполнить отладку политик, применяемых при загрузке).
После перезагрузки служба Group Policy Client будет записывать расширенную отладочную информацию в файл gpsvc.log ( WINDIR%debugusermodegpsvc.log )
В качестве примере кусок содержимого лога gpsvc.log:
..........
GPSVC(3a8.ce8) 09:14:50:494 MaxTimeToWaitForNetwork: 120000ms
GPSVC(3a8.ce8) 09:14:50:494 TimeRemainingToWaitForNetwork: 0ms
GPSVC(3a8.ce8) 09:14:50:494 UserPolicy: Waiting for machine policy wait for network event with timeout 0 ms
GPSVC(3a8.ce8) 09:14:50:541 GPLockPolicySection: Sid = (null), dwTimeout = 30000, dwFlags = 65538
GPSVC(3a8.ce8) 09:14:50:541 LockPolicySection called for user <Machine>
GPSVC(3a8.ce8) 09:14:50:541 Sync Lock Called
GPSVC(3a8.ce8) 09:14:50:541 Reader Lock got immediately. m_cReadersInLock : 1
GPSVC(3a8.ce8) 09:14:50:541 Lock taken successfully
GPSVC(3a8.ce8) 09:14:50:541 UnLockPolicySection called for user <Machine>
GPSVC(3a8.ce8) 09:14:50:541 Found the caller in the ReaderHavingLock List. Removing it...
GPSVC(3a8.ce8) 09:14:50:541 Setting lock state as notLocked
GPSVC(3a8.ce8) 09:14:50:541 UnLocked successfully
GPSVC(3a8.ce8) 09:14:50:556 Opened Existing Registry key
GPSVC(3a8.ce8) 09:14:50:556 UncPath :'\CORP.DOMAIN.RUSYSVOL'
............
Ручной анализ лога gpsvc.log довольно трудоемкая задача. Несколько облегчить задачу может бесплатная утилита Policy Reporter (http://www.sysprosoft.com/policyreporter.shtml), позволяющая в сгруппированном по времени древовидном виде представить журнал с логами обработки GPO.
Данные из лога gpsvc.log и результатов полученных с помощью утилиты GPResult можно использовать для детального анализа процесса применения групповых политик на клиентах.