Windows 10 cmd - Wyświetlanie czasu zdalnego NTP z pominięciem zegara systemowego


(mesmariusz) #1

Cześć. Poddałem się w temacie synchronizacji zegara Windows 10 z serwerem NTP w sieci LAN. Rozwiązania teoretyczne (wbudowane w system) nie działają w praktyce. 

Zamierzam inaczej podejść do tematu. Niech skrypt .bat oleje zegar systemowy i podejmuje decyzje na podstawie czasu pobieranego bezpośrednio z serwera NTP działającego na bramie 192.168.1.1 

Ktoś ma pomysł jak za pomocą linii komend Windows 10 wyświetlić bieżącą godzinę pobraną z serwera NTP?


(bachus) #2

w32tm /stripchart /computer:ie.pool.ntp.org /samples:1 | findstr d:

Wyparsuj sobie. 

 


(mesmariusz) #3

Dzięki!

 

Gdyby ktoś szukał gotowego rozwiązania:

@echo off





	call :getntptime

	echo %ntptime%

	pause

	goto :eof





	:getntptime

	  FOR /F "delims=" %%I IN ('w32tm /stripchart /computer:217.96.29.26 /samples:1') do SET VAR=%%I

	  SET ntptime=%VAR:~0,8%

	exit /b

To rozwiązanie ma pewną wadę. Nie działa gdy wybierzemy niedziałający NTP, lub gdy NTP przestanie działać.

Użyłem: 

w32tm /stripchart /computer:192.168.1.1 /samples:1

zamiast:

w32tm /stripchart /computer:192.168.1.1 /samples:1 | findstr d:

gdyż składnia:

  FOR /F “delims=” %%I IN (‘w32tm /stripchart /computer:217.96.29.26 /samples:1 | findstr d:’) do SET VAR=%%I

zadziałać nie chce.

Jeśli ktoś ma pomysł, jak do tego dodać odnajdowanie wiersza zawierającego “d:” będę wdzięczny za podpowiedź.