Sincronizza automaticamente l'ora di Windows più spesso di quella predefinita


21

Ho alcuni PC che stanno perdendo tempo e vorrei che Windows li sincronizzasse più spesso con l'ora di Internet. Penso che il valore predefinito di Windows tenti di aggiornare solo una volta al giorno e non si aggiorni se il time server non è disponibile (il che sembra accadere abbastanza spesso), il che significa che i PC possono finire per 20 o 30 secondi.

Vorrei creare un'attività pianificata per fare questo dire ogni 5 minuti e se il server orario predefinito non è disponibile utilizzare mul


2
Non sarebbe più facile determinare il motivo per cui i computer in questione non possono connettersi al time server?
Ramhound,


Anche i server predefiniti falliscono spesso. Prova a cambiarlo pool.ntp.orgcome suggerito in questa risposta
Jan-glx,

Risposte:


14

Gente, ho funzionato con Windows integrato in w32tm e un'attività pianificata (vedi sotto).

Il primo passo è stato configurare w32tm per utilizzare molti time server diversi (e anche per accedere in modo da poter vedere cosa stava succedendo). Il secondo passo era pianificare w32tm nell'utilità di pianificazione. Mi sono piaciute queste soluzioni in quanto non richiedevano strumenti di terze parti. È davvero importante configurare i diversi time server poiché trovo abbastanza spesso che non rispondano.

Configura w32tm

Apri prompt dei comandi (esegui quanto segue come amministratore)

w32tm /config /manualpeerlist:"time.nist.gov time.windows.com time-nw.nist.gov time-a.nist.gov time-b.nist.gov time-a.timefreq.bldrdoc.gov time-b.timefreq.bldrdoc.gov time-c.timefreq.bldrdoc.gov utcnist.colorado.edu" /syncfromflags:manual /update

w32tm /query /configuration

Verificare che l'elenco dei server NTP sia aggiornato correttamente, ovvero rifletta l'elenco peer appena inserito

w32tm /debug /enable /file:C:\windows\temp\w32time.log /size:10000000 /entries:300

Passare alla directory e verificare che sia stato creato il registro

Modifica l'ora di sistema manualmente (in modo che l'ora non sia più sincronizzata), quindi torna al prompt dei comandi ed esegui il comando resync

w32tm /resync

Verificare che l'ora del sistema sia stata aggiornata. ** Se viene visualizzato un errore relativo al tempo in cui il servizio non viene avviato, è possibile utilizzare il comando, net start w32timequindi provare un'altra risincronizzazione

Se viene visualizzato il seguente errore: The compter did not resync because the required time change was too big.utilizzare questo comando per risincronizzare:w32tm /resync /force

Se funziona correttamente, tutto ciò che devi fare è configurare la seguente attività pianificata per l'esecuzione tutte le volte che vuoi (utilizzerà l'elenco dei peer configurato in precedenza).

Programma w32tm

Argomento del programma / script

%windir%\system32\sc.exe start w32time task_started
%windir%\system32\w32tm.exe /resync

1
Per impostazione predefinita, l'ora di Windows viene aggiornata almeno ogni 9,1 ore . Questo è controllato dalla MaxPollIntervalvoce di registro discussa a quel link. I dati di questa voce vengono convertiti in secondi con la formula 2^Value. es. Se il valore di MaxPollInterval è 11, allora 2^11=2048sec=34minutes. Per coloro che vogliono ridurre la frequenza di aggiornamento , senza utilizzare un'operazione pianificata, è sufficiente modificare questa voce del Registro quindi riavviare il servizio Ora di Windows con net stop w32timeallora net start w32time.
Dico Reinstate Monica il

" /entries:300" non è l'opzione giusta. Mostrerà solo le voci registrate con il codice # 300, che non è affatto molte voci. L'idea è di utilizzare questo parametro come un elenco di numeri di voce da mostrare, quindi " /entries:0-300" mostrerà tutti i possibili eventi nel registro.
MikeB,

9

Vai a Pannello di controllo> Strumenti di amministrazione> Utilità di pianificazione

sinistra è un albero di cartelle, espandere: Libreria scheduler> Microsoft> Windows> Sincronizzazione ora

fare clic con il tasto destro del mouse sull'attività: SynchronizeTime> proprietà

Nella scheda: trigger è possibile aggiungere i trigger desiderati.


L'OP ha richiesto un intervallo di sincronizzazione temporale di 20-30 secondi. Questo è possibile solo con il trucco per definire più trigger
nixda,

2
Malinteso comune, ma davvero non si può essere incolpati! Questa attività pianificata garantisce solo che il servizio Ora di Windows sia in esecuzione ... Pertanto, anche se si attiva l'attività più spesso, è comunque il servizio a decidere quando sincronizzare, che apparentemente è settimanale.
Gras Double,

6
Per modificare la frequenza di polling: chiave di registro HKLM\SYSTEM\CurrentControlSet\services\W32Time\TimeProviders\NtpClient, modifica DWORD SpecialPollInterval, in secondi (ad es. Per un giorno: 15180 esadecimale o 86400 decimale).
Gras Double,

Grande! questo trucco ha funzionato per me sul mio sistema operativo W7
razor7,

2
Grazie a Microsoft per aver creato un compito semplice come la sincronizzazione dell'ora SO DAMN COMPLICATED. L'unica soluzione sana è quella di eseguire regolarmente un'utilità di terze parti su base regolare.
Gras Double,

4

È possibile utilizzare TimeSync per automatizzare la sincronizzazione temporale.

  • lato positivo: non registra un intero servizio come W32tm (che hai quando usi W32tm)
  • /autolato positivo: è portatile e può essere eseguito con l' opzione dalla cartella di avvio
  • aspetto negativo: strumento di terze parti e non una soluzione integrata

    inserisci qui la descrizione dell'immagine

TimeSync ottiene l'ora corrente da un server NIST e, se necessario, regola l'orologio del PC. La precisione è di solito entro un secondo. [...] TimeSync proverà server alternativi, nel caso in cui non sia possibile ottenere l'orario dal server preferito.

Opzione / auto viene fornita per eseguire TimeSync dalla cartella StartUp. In questa modalità la finestra TimeSync non mostrerà se l'offset dell'orologio è inferiore a un dato minimo.


Ovviamente puoi comunque registrare la soluzione integrata con W32tm cmd.exe → W32tm /registere impostare l'attività pianificata da chiamare cmd.exe → W32tm /resyncogni 5 minuti.



-1

Eseguo questo comando su chioschi che gestisco.

net start w32time 
w32tm /resync /force

per impostare manualmente l'ora della data:

date 5/24/2017
time 18:37:00

per impostare il fuso orario:

tzutil/s Pacific Standard Time

1
Cosa fanno i comandi nel primo blocco di codice? Il secondo e il terzo blocco di codice hanno qualcosa a che fare con questa domanda?
Scott,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.