Felsökning av Windows Time Service
On januari 4, 2022 by adminWindows Time Service är mycket viktig i Active Directory. Som standard kräver Kerberos-autentisering att klockorna på alla maskiner i domänen synkroniseras till inom fem minuter från varandra när de korrigeras för skillnader mellan tidszoner och sommartid. Maskiner vars klockor ligger utanför det här intervallet kan inte autentisera sig och har därför ingen tillgång till domänresurser.
I en AD-domän är domänkontrollanten (DC) med rollen PDC Emulator FSMO huvudtidsserver för hela domänen. Detta innebär dock inte att varje maskin i domänen synkroniserar sin klocka direkt med PDC Emulator. Andra DC:er synkroniserar med PDC Emulator, medan medlemsservrar och klienter kan synkronisera med vilken DC som helst. I den här hierarkin bör PDC-emulatorn vara den enda maskin som är konfigurerad för att synkroniseras med en extern tidskälla, t.ex. en offentlig NTP-server. Allt annat i domänen bör konfigureras för att synkroniseras med AD. Alla andra konfigurationer kan leda till att klocksynkroniseringen går förlorad.
Se den här TechNet-webbplatsen för detaljerad information om hur Windows Time-tjänsten fungerar.
Det första steget i felsökningen av ett problem med Windows Time-tjänsten bör vara att fastställa hur många maskiner som påverkas. Om tiden är felaktig på endast en maskin kommer de steg som krävs för att åtgärda problemet att skilja sig från de steg som krävs för att åtgärda ett domänövergripande tidsproblem.
Om endast ett fåtal maskiner påverkas
- Om den drabbade maskinen kör Windows Vista eller senare kör du w32tm /query /source i en kommandotolk för att fastställa tidskällan för den drabbade maskinen. En extern tidskälla bör endast anges om det här kommandot körs på PDC-emulatorn, annars bör kommandot ge ut namnet på en DC i domänen.
- Kommandot w32tm /query /status visar också maskinens tidskälla samt annan potentiellt användbar information. Med växeln /verbose får du ännu mer information. Liksom för det första kommandot är dessa växlar endast tillgängliga på maskiner som kör Windows Vista eller senare.
- Om rätt tidskälla listas kan du använda w32tm /resync för att försöka resynkronisera maskinens klocka med tidskällan. Om du lägger till växeln /rediscover till det här kommandot får maskinen att först försöka upptäcka nätverkstidskällor och sedan försöka göra en nysynkronisering.
- För att ändra maskinens tidskälla kan du använda ett av följande två kommandon:
w32tm /config /syncfromflags:DOMHIER /update konfigurerar maskinen så att den använder domänhierarkin (AD) som tidskälla.
w32tm /config /syncfromflags:MANUAL /manualpeerlist:<list> /update konfigurerar maskinen så att den använder tidsservrarna i <list> som tidskälla.OBS: Om flera tidsservrar anges i <list> måste de skiljas åt med mellanslag och hela listan måste omges av citattecken.
Om hela domänen påverkas
- Om tiden är felaktig på alla maskiner i domänen är det mycket troligt att PDC-emulatorn är källan till problemet. Kör kommandot netdom query fsmo på en DC för att avgöra vilken DC som har rollen PDC Emulator.
- Kör w32tm /query /source från en kommandotolk på PDC Emulator för att se till att den är konfigurerad för att synkronisera med en extern tidskälla. PDC-emulatorn ska aldrig konfigureras för att synkroniseras med domänen, eftersom den är domänens huvudtidskälla.
- Om PDC-emulatorn är en virtuell maskin (VM) inaktiverar du klocksynkronisering med gästvärd. Proceduren för att göra detta beror på vilket operativsystem som körs på virtualiseringsvärden.
- För att konfigurera PDC Emulator för att synkronisera med en eller flera externa tidsservrar använder du följande kommando:
w32tm /config /syncfromflags:MANUAL /manualpeerlist:<list> /updateOBS: Om flera tidsservrar anges i <list> måste de separeras med mellanslag, och hela listan måste omges av citattecken.
Registerinställningar för Windows Time-tjänsten
De w32tm-kommandon som anges i ovanstående procedurer gör ändringar i registervärdena för Windows Time-tjänsten, som alla finns under följande registernyckel:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time
Det är förstås möjligt att ställa in dessa värden manuellt i stället för att använda w32tm-kommandon. Om du väljer att göra det kan följande webbplatser vara användbara:
- Windows Time Service Tools and Settings (innehåller ett avsnitt om registerinställningar)
- How to Configure an Authoritative Time Server in Windows Server
Group Policy
Om du gör ändringar i Windows Time-tjänsten med hjälp av w32tm-kommandon eller via registret, men ändringarna inte träder i kraft alls eller endast under en kort tid innan de återgår till sina tidigare värden, kan det finnas ett grupprincipobjekt (GPO) som åsidosätter dina ändringar. Grupprincipinställningarna för Windows Time-tjänsten innehåller många av de objekt som kan konfigureras via registret eller w32tm-kommandon. Dessa inställningar finns på följande plats:
Datorkonfiguration\Policy\Administrativa mallar\System\Windows Time Service
Återställ registervärdena för Windows Time-tjänsten till standardinställningarna
Om allt annat misslyckas återställer den här proceduren Windows Time-tjänsten till standardinställningarna:
- Öppna konsolen Services och stoppa Windows Time-tjänsten (eller kör net stop w32time från en kommandotolk) om den är igång.
- Öppna en förhöjd kommandotolk och kör w32tm /unregister för att ta bort Windows Time-tjänsten från registret. Tjänsten kommer inte längre att listas i Services-konsolen.
- Kör w32tm /register för att återskapa tjänsten med dess standardinställningar i registret.
- Företa eventuella ändringar i registret och starta sedan Windows Time-tjänsten i Services-konsolen eller med kommandot net start w32time.
Lämna ett svar