2012-05-16 13:22:14 +0000 2012-05-16 13:22:14 +0000
66
66

Come posso verificare l'attuale configurazione NTP di un sistema?

Devo verificare l'attuale configurazione NTP su alcuni sistemi Windows. Idealmente, mi piacerebbe poterlo fare da riga di comando invece di navigare attraverso le schermate di configurazione.

(sto lavorando su diverse versioni del sistema operativo, e le schermate di configurazione tendono a non essere sempre nello stesso posto tra le versioni)

Spero di trovare un comando veloce e memorabile che posso semplicemente perforare in una console CMD per ottenere il risultato. Un file batch che posso portare con me andrà bene, però.

In particolare, ho bisogno di quanto segue:

  • Mostra se il sistema è configurato o meno per ricevere il tempo da un server NTP.
  • Mostra il server NTP dal quale il sistema riceve il tempo.
  • Mostra l'ora dell'ultima sincronizzazione.
  • Mostra l'ora attuale del sistema.

Quale(i) comando(i) sarebbe(sarebbero) necessario(i) per ottenere questi risultati?

Cerco una soluzione che sia cross-compatibile con Windows XP, 7, Server 2003 e Server 2008.

Risposte (6)

83
83
83
2012-05-16 14:39:48 +0000

Nella riga di comando, il tipo

w32tm /query /configuration
w32tm /query /status
Time /T

w32tm /query /configuration fornisce la configurazione che avete impostato.

w32tm /query /status fornisce informazioni quali:

  • strato
  • indicatore di salto
  • precisione
  • ultima sincronizzazione
  • server NTP
  • intervallo di polling

time /T emette il tempo corrente del sistema.

Nota: w32tm /query è stato reso disponibile per la prima volta nelle versioni client Windows Time di Windows Vista e Windows Server 2008. Vedere Windows Time Service Tools and Settings

17
17
17
2016-07-11 22:30:57 +0000

Questo risponde alla vostra ultima domanda:

Aprite un prompt di comandi e digitate esattamente:

w32tm /stripchart /computer:NTPServerNameOrIP /dataonly /samples:x (quanti ritorni volete)

Restituisce il tempo e la differenza al tempo del server NTP. Se restituisce il tempo, errore: 0x80072746 allora quello non è il vostro server NTP.

Di seguito è riportato un esempio di comando:

8
8
8
2015-03-13 22:33:22 +0000

Ho provato:

w32tm /query /status
``` ```
The command /query is unknown.

Ho ottenuto:

The following error occurred: The service has not been started. (0x80070426)
``` ```
reg QUERY [\machine\]HKLM\SYSTEM\CurrentControlSet\Services\W32Time

In una macchina diversa, ho ottenuto:

ERROR: The system was unable to find the specified registry key or value.

Poi ho provato:

net time /querysntp

Ho ottenuto:

This computer is not currently configured to use a specific SNTP server.

Poi ho provato:

The /QUERYSNTP and /SETSNTP options have been deprecated. Please use w32tm.exe to configure the Windows Time Service.
``` ```
w32tm /unregister
w32tm /unregister
w32tm /register
net start w32time

Ho ottenuto:

w32tm /config /manualpeerlist:10.0.0.5 /syncfromflags:manual /reliable:yes /update
``` ```
net time /setsntp:10.0.0.5

In un'altra macchina, ho ottenuto la pagina di aiuto, dicendo anche:

w32tm /config /manualpeerlist:pool.ntp.org /syncfromflags:manual /reliable:yes /update
``` ```
w32tm /config /update
w32tm /resync /rediscover

Quindi, fondamentalmente, il servizio non era in funzione. Seguendo queste istruzioni, ho fatto:

w32tm /unregister
w32tm /register
sc config w32time type= own
net start w32time
``` ```
sc qtriggerinfo w32time

Infine, tutto quanto sopra avrebbe funzionato. (nota: se net start fallisce, vedi sotto) Allora dovevo solo impostare il mio ntp… L'ho fatto con:

sc triggerinfo w32time start/networkon stop/networkoff
``` &001 


seguendo le istruzioni [ qui ](http://blogs.technet.com/b/nepapfe/archive/2013/03/01/it-s-simple-time-configuration-in-active-directory.aspx), ma forse sarebbe stato facile come: 


&001 



come indicato [ qui ](http://www.tech-recipes.com/rx/466/xp2000-configure-client-sntp-time-protocol-settings/). (10.0.0.0.5 è il mio server NTP locale). Se non si utilizza un server NTP locale, si può usare quello generico: 


&001 &001 


Infine, potrebbe essere necessario fare quanto segue, che non era necessario per me: 


&001 


* * * * 


NOTA: se `net start w32time` fallisce con l'errore 1290 (l'avvio del servizio non è riuscito poiché uno o più servizi nello stesso processo hanno un'impostazione di tipo SID di servizio incompatibile) allora seguire i passi [ qui ](https://social.technet.microsoft.com/Forums/ie/en-US/5828b5a6-9f70-4129-a086-34c25c1fe948/system-error-1290-after-register-w32time-service?forum=winservergen): 


&001 &001 



Poi seguire come sopra. 


* * * * 


NOTA 2: se il servizio NTP non si avvia automaticamente al riavvio, potrebbe essere dovuto alle sue impostazioni di avvio, come descritto [ qui ](https://support.microsoft.com/en-ca/help/2385818/windows-time-service-doesn-t-start-automatically-on-a-workgroup-comput): a seconda delle vostre finestre, potrebbe essere impostato per avviare solo quando entra in un dominio. Potete controllare con: 


&001 &001 


Se è configurato per avviarsi quando si entra in un dominio, e non avete un dominio impostato nella vostra macchina, non avvierà il servizio e imposterà il tempo. Probabilmente non entra a far parte di un dominio perché non volete che lo faccia. In ogni caso, basta cambiare l'attivazione del servizio. Per esempio, per avviare quando la macchina ha la rete (e quindi è in grado di accedere al server), fare: 


&001
5
5
5
2016-03-01 11:37:26 +0000

Uso:

net stop w32time
w32tm /config /syncfromflags:manual /manualpeerlist:"0.it.pool.ntp.org 1.it.pool.ntp.org 2.it.pool.ntp.org 3.it.pool.ntp.org"
net start w32time
w32tm /config /update
w32tm /resync /rediscover

Un file campione .bat si trova all'indirizzo https://gist.github.com/thedom85/dbeb58627adfb3d5c3af .

Raccomando anche questo programma: http://www.timesynctool.com/

3
3
3
2012-05-16 14:10:42 +0000

Dalla riga di comando si possono ottenere le informazioni in questo modo:

reg QUERY [\machine\]HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Parameters
reg QUERY [\machine\]HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Config

Sembra che dovrebbe essere sufficiente almeno per andare in quella direzione, cioè, se ho capito la tua domanda. AFAIK, il comando ‘reg’ funziona su tutte queste diverse piattaforme, purché si abbiano i giusti servizi in esecuzione.

2
2
2
2012-05-16 14:25:34 +0000

Date un'occhiata allo strumento a riga di comando w32tm. Può impostare e interrogare la configurazione e riportare un /stripchart dell'offset temporale con un altro computer.