Depanarea serviciului de timp Windows
On ianuarie 4, 2022 by adminServiciul de timp Windows este foarte important în Active Directory. În mod implicit, autentificarea Kerberos necesită ca ceasurile de pe toate mașinile din domeniu să fie sincronizate la o diferență de cinci minute unul față de celălalt, atunci când sunt corectate pentru diferențele de fus orar și pentru ora de vară. Mașinile ale căror ceasuri se află în afara acestui interval nu se vor putea autentifica și, prin urmare, nu vor avea acces la resursele domeniului.
În cadrul unui domeniu AD, controlorul de domeniu (DC) care deține rolul PDC Emulator FSMO este serverul principal de timp pentru întregul domeniu. Totuși, acest lucru nu înseamnă că fiecare mașină din domeniu își sincronizează ceasul direct cu PDC Emulator. Celelalte DC-uri se sincronizează cu PDC Emulator, în timp ce serverele și clienții membri se pot sincroniza cu orice DC. În această ierarhie, PDC Emulator ar trebui să fie singura mașină care este configurată să se sincronizeze cu o sursă de timp externă, cum ar fi un server NTP public. Toate celelalte elemente din domeniu ar trebui să fie configurate să se sincronizeze cu AD. Orice altă configurație poate duce la pierderea sincronizării ceasului.
Referiți-vă la acest site TechNet pentru informații detaliate despre modul în care funcționează serviciul Windows Time.
Determinați amploarea problemei
Primul pas în depanarea unei probleme a serviciului Windows Time ar trebui să fie acela de a determina câte mașini sunt afectate. Dacă ora este incorectă pe o singură mașină, pașii necesari pentru a remedia problema vor fi diferiți de pașii necesari pentru a remedia o problemă de timp la nivelul întregului domeniu.
Dacă doar câteva mașini sunt afectate
- Dacă mașina afectată rulează Windows Vista sau o versiune ulterioară, rulați w32tm /query /source la un prompt de comandă pentru a determina sursa de timp a mașinii afectate. O sursă de timp externă ar trebui să fie listată numai dacă această comandă este rulată pe PDC Emulator; în caz contrar, comanda ar trebui să afișeze numele unui DC din domeniu.
- Comanda w32tm /query /status arată, de asemenea, sursa de timp a mașinii, precum și alte informații potențial utile. Comutatorul /verbose oferă și mai multe informații. Ca și în cazul primei comenzi, aceste comutatoare sunt disponibile numai pe mașinile care rulează Windows Vista sau o versiune ulterioară.
- Dacă este listată sursa de timp corectă, puteți utiliza w32tm /resync pentru a încerca să resincronizați ceasul mașinii cu sursa de timp. Adăugarea comutatorului /rediscover la această comandă face ca mașina să încerce mai întâi să descopere sursele de timp din rețea, apoi să încerce o resincronizare.
- Pentru a schimba sursa de timp a mașinii, puteți utiliza una dintre cele două comenzi:
w32tm /config /syncfromflags:DOMHIER /update configurează mașina pentru a utiliza ierarhia domeniului (AD) ca sursă de timp.
w32tm /config /syncfromflags:MANUAL /manualpeerlist:<list> /update configurează mașina pentru a utiliza serverele de timp din <list> ca sursă de timp.NOTĂ: Dacă sunt specificate mai multe servere de timp în <list>, acestea trebuie să fie separate prin spații, iar întreaga listă trebuie să fie inclusă între ghilimele.
Dacă întregul domeniu este afectat
- Dacă ora este incorectă pe toate mașinile din domeniu, este foarte probabil ca sursa problemei să fie Emulatorul PDC. Rulați comanda netdom query fsmo pe un DC pentru a determina care DC deține rolul PDC Emulator.
- Rulați w32tm /query /source de la un prompt de comandă pe PDC Emulator pentru a vă asigura că acesta este configurat să se sincronizeze cu o sursă de timp externă. Emulatorul PDC nu ar trebui să fie niciodată configurat să se sincronizeze cu domeniul, deoarece acesta este sursa de timp principală a domeniului.
- Dacă Emulatorul PDC este o mașină virtuală (VM), dezactivați sincronizarea ceasului guest-host. Procedura pentru a face acest lucru depinde de sistemul de operare care rulează pe gazda de virtualizare.
- Pentru a configura PDC Emulator pentru a se sincroniza cu unul sau mai multe servere de timp externe, utilizați următoarea comandă:
w32tm /config /syncfromflags:MANUAL /manualpeerlist:<list> /updateNOTĂ: Dacă sunt specificate mai multe servere de timp în <list>, acestea trebuie să fie separate prin spații, iar întreaga listă trebuie să fie cuprinsă între ghilimele.
Setări de registru ale serviciului Windows Time
Comenzile w32tm specificate în procedurile de mai sus efectuează modificări ale valorilor de registru ale serviciului Windows Time, care sunt toate localizate sub următoarea cheie de registru:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time
Este posibil să setați aceste valori manual, mai degrabă decât să folosiți comenzile w32tm, desigur. Dacă alegeți să faceți acest lucru, următoarele site-uri se pot dovedi utile:
- Windows Time Service Tools and Settings (include o secțiune privind setările din registru)
- Cum se configurează un server de timp autoritar în Windows Server
Group Policy
Dacă efectuați modificări la serviciul Windows Time folosind comenzile w32tm sau prin intermediul registrului, dar aceste modificări nu își fac efectul deloc sau își fac efectul doar pentru o perioadă scurtă de timp înainte de a reveni la valorile anterioare, este posibil să existe un obiect de politică de grup (GPO) care să anuleze modificările dumneavoastră. Setările Group Policy pentru serviciul Windows Time includ multe dintre aceleași elemente care pot fi configurate prin intermediul registrului sau al comenzilor w32tm. Aceste setări pot fi găsite în următoarea locație:
Computer Configuration\Policies\Administrative Templates\System\Windows Time Service
Reinițializați valorile din registru ale serviciului Windows Time la setările implicite
Dacă toate celelalte nu reușesc, această procedură va reinițializa serviciul Windows Time la setările implicite:
- Deschideți consola Services și opriți serviciul Windows Time (sau rulați net stop w32time din promptul de comandă) dacă acesta este în curs de execuție.
- Deschideți un prompt de comandă ridicat și rulați w32tm /unregister pentru a elimina serviciul Windows Time din registru. Serviciul nu va mai fi listat în consola Services.
- Executați w32tm /register pentru a recrea serviciul cu setările sale implicite din registru.
- Realizați orice modificări necesare în registru, apoi porniți serviciul Windows Time în consola Services sau cu comanda net start w32time.
.
Lasă un răspuns