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

image

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

image

Lite utklipp av xml rapporten i nettleseren min, generert med kommandoen:

image

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.

https://technet2.microsoft.com/WindowsVista/en/library/7e940882-33b7-43db-b097-f3752c84f67f1033.mspx?mfr=true