Windows jako klient NTP

Synchronizacja czasu to ważna rzecz dla każdego administratora. Poniższy wpis przedstawia proces uruchomienia klienta NTP (Network Time Protocol) na systemie operacyjnym Windows.

Na początek sprawdzamy, czy usługa Windows Time jest zainstalowana w systemie Windows. Robimy to za pomocą polecenia, z wiersza poleceń systemu Windows, uruchomionego jako Administrator:

sc queryex w32time

Jeżeli otrzymujemy komunikat jak powyżej, to instalujemy usługę za pomocą polecenia:

w32tm /register

Zachęcam do zapoznania się z dokumentacją do w32tm na stronach Microsoft.

Następnie uruchamiamy tą usługę:

net start w32time

Kolej teraz na konfigurację, w poniższym poleceniu, po parametrze /manualpeerlist: podajemy w cudzysłowach adres serwera czasu. W tym przypadku "time.windows.com".

w32tm /config /manualpeerlist:"time.windows.com" /syncfromflags:manual /update

Jeżeli wykonujemy powyższe polecenie na kontrolerze domeny to dodajemy jeszcze parametr: /reliable:yes

Prawidłowe wykonanie polecenia potwierdzone jest komunikatem The command completed successfully.:

Następnie zatrzymujemy usługę i uruchamiamy ją ponownie aby konfiguracja mogła się przeładować. Robimy to za pomocą dwóch poleceń:

net stop w32time
net start w32time

Weryfikujemy adres serwera, z jakiego korzysta usługa NTP:

w32tm /query /source

Czasami trzeba odczekać kilka, kilkanaście sekund po uruchomieniu usługi zanim zacznie pokazywać się prawidłowy adres serwera Jeżeli uruchomimy polecenie za wcześnie, to możemy otrzymać informację: Local CMOS Clock.

To tyle, jeżeli chodzi o konfigurację. Warto jeszcze dodać, że jeżeli konfigurujemy taką usługę na maszynie wirtualnej, to po weryfikacji adresu serwera z jakiego korzysta aktualnie usługa pojawi się informacja VM IC Time Synchronization Provider. Aby to obejść należy edytować odpowiedni klucz rejestru Windows. Można to zrobić za pomocą polecenia PowerShell uruchomionego jako administrator:

Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\VMICTimeProvider -Name Enabled -Value 0

Jeżeli po wykonaniu polecenia pojawia się błąd mówiący o blokadzie wykonywania skryptów to przed Set-ItemProperty... trzeba wykonać polecenie: Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope CurrentUser.

Następnie zatrzymujemy i uruchamiamy usługę. Po takiej operacji powinniśmy zobaczyć prawidłowy adres serwera czasu na maszynie wirtualnej:

Można jeszcze wspomnieć, że do usunięcia usługi synchronizacji czasu z serwerem NTP potrzebne jest następujące polecenie:

w32tm /unregister

Koniec 🙂

Jeżeli pomogłem to Postaw mi kawę na buycoffee.to ,a będę miał więcej energii na pisanie kolejnych ciekawych wpisów.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *