Feilsøke Group Policy
En liten blog post rundt dette emnet, som jeg har jobbet litt med i det siste på Windows Vista. Det finnes flere verktøy, men det viktigste er nok å sette seg inn i eventid'ene, ta utgangspunktet i f.eks tidspunktet brukeren logger på og se hva som skjer i loggen på dette tidspunktet og utover.
Event Log
På Windows Vista har GP en egen logg, det logges ikke lenger til userenv.log:
- Start Event Viewer
- Gå inn under Application and Services logs
- I katalogen Microsoft og i underkatalogen Windows finner du loggen Group Policy
I denne loggen finner du alt som skjer med Group Policy prosessering på maskina. Du finner også overordnede statusmeldinger i System loggen.
Gplogview
Dette er et lite verktøy for å eksportere group policy log til html eller xml f.eks. Det følger også med en xsl fil for formatering av xml fila om du ønsker å se denne direkte i nettlesern din.
Du finner det her: Group Policy Log View
Lite utklipp av xml rapporten i nettleseren min, generert med kommandoen:
Kommandoen Gplogview -m gjør at programmet går i monitor mode og viser deg realtime hva som skjer med Gp prosessering på maskina.
Powershell og Eventlog
Du kan lett hente ut og dermed parse events relatert til group policy med følgende PS kommando:
get-eventlog -logname System -newest 1000 | where-object {$_.Source -eq "Microsoft-Windows-GroupPolicy"}
Utvid where klausulen eller legg til formatering for å få mer brukbar output.
Event elementer
Under finner du forklaring på noen av de viktigste event idene i forbindelse med GP Prosessering
Eventid | Forklaring |
4000 | Maskinene starter (4000 serien er GP prosessering "Start events") |
4001 | Bruker logger på (du kan også få oppstart av policy refresh pga Network state endring, id 4002) |
4006 / 4007 | Periodisk refresh for maskin / bruker |
5326 / 6326 / 7326 | Domain Controller Discovery, henholdsvis Suksess / Varsel / Feil |
4017 / 5017 / 6017 / 7317 | Systemkall, henholdsvis Forsøk / Suksess / Varsel / Feil. Dette kan f.eks være kall for å få tak i filer (gpt.ini) eller for å få konto informasjon om brukeren som logger på. |
5320 / 6320 / 7320 | Interaksjon med andre komponenter. F.eks vellykket discovery av DC. 7320 vil også inneholde info om hvor lang tid det tok før feiling. Greit å se om man feilsøker treg oppstart i offline modus |
5324 | Winlogon notification mottat. Winlogon varsler f.eks Logon, Logoff, Startshell etc. Mer her |
5322 | Forteller hvor lenge GP venter på nettverket ved oppstart. 4000 forteller deg når prosessering starter |
7000 / 7001 | Logges dersom prosessering for maskin eller bruker feil. |
8000 serien | Hører sammen med 4000 serien, "start events". Denne serien er vellykkede "end events" som motsvarer samme event i 4000. 8001 - 4001 |
5315 | Forteller når neste prosessering vil bli forsøkt |
Generelt sett bør du se en oppstarts event av et slags først, 4000 serien. Prosseringsstart vil bli trigget av maskin oppstart, brukerpålogging, periodisk refresh eller nettverkstilstand som endres. F.eks at du plugger i kabelen på jobb om morgenen. Deretter bør du få et loggelement som forteller at GP henter kontoinformasjon og deretter 4017 som forteller at et systemkall blir utført med påfølgende 5017 for suksess. Kontoinformasjon hentes to ganger, for både maskin og bruker, bortsett fra ved boot. Deretter vil GP forsøke å finne en DC. I forbindelse med dette vil du se flere 4017 med tilhørende status. Deretter vil du se forsk på å hente gp filer fra Sysvol, selvsagt bare om maskina er på nett. Hvis ikke feiler det før maskina kommer så langt. Dersom noe feiler med group policy prossering er dette en god framgangsmåte å ta utgangspunkt, følg prosessen fra et tidspunkt, fra start event på det tidspunktet det feilet og fram til du får en eventid som starter med 6 eller 7, dvs noe feilet.
Jeg fant til slutt en god post om dette på Technet også, se oversikt over alle events der.