Un server NTP (Network Time Protocol) permette di mantenere sincronizzato l’orario del computer locale, che nel tempo potrebbe cambiare, con quello di questo server di riferimento che abbiamo scelto. A livello aziendale potrebbe essere presente un server di riferimento interno alla rete, in modo che tutti i computer aziendali abbiamo lo stesso orario.
Se il computer presenta troppo spesso delle differenze nell’orario, a volte anche molto marcate, prendete in considerazione la sostituzione della batteria tampone del computer.Al lavoro, spesso, mi chiedono di regolare l’orario dei computer aziendali perché ci sono delle differenze, il più delle volte molto piccole, ma che poi gli sballano le timbrature e possono portare a delle contestazioni.
Così mi apro il sito dell’ora esatta e utilizzo il prompt dei comandi e Ninja per modificare l’orario da remoto, ma dato che si può fare tutto con uno script “Sincronizza_orario_pc.ps1
”, che trovate allegato all’articolo, utilizzerò Powershell in futuro.
Durante le prove fatte nel primo utilizzo dello script la differenza nell’orario era di soli 0.08 secondi e quindi non è partita la sincronizzazione, al secondo utilizzo avevo modificato manualmente l’orario ma trovo un errore di “Servizio non avviato (0x80070426)”, una volta riavviato il servizio ho il nuovo problema “La nuova sincronizzazione non è stata eseguita in quanto non erano disponibili dati sull'ora.” e la sincronizzazione non riusciva.
Errore Servizio non avviato (0x80070426)
Per risolvere l’errore basta andare nei Servizi di Windows e controllare lo stato di “Ora di Windows
”, il suo Tipo di avvio e se è in esecuzione.
La nuova sincronizzazione non è stata eseguita in quanto non erano disponibili dati sull'ora
Una volta riavviato il servizio riprovo a rifare una sincronizzazione ma non riesce per l’errore “La nuova sincronizzazione non è stata eseguita in quanto non erano disponibili dati sull'ora.” che abbiamo visto in una delle foto precedenti.
Con il commando w32tm /query /status
possiamo vedere quando è stata eseguita l’ultima sincronizzazione e se esiste una origine che sarebbe il nostro server NTP. Nel mio caso non era configurato.
Comando simile, almeno per visualizzare il server NTP, è w32tm /query /configuration
Per configurare un server NTP possiamo usare il commando: w32tm /config /manualpeerlist:"time.windows.com" /syncfromflags:manual /reliable:yes /update
Ora l’utilizzo dello script è riuscito e l’ora del computer si è sincronizzata con il server NTP che abbiamo appena impostato.
Nello script, che trovate allegato all’articolo, sono due le voci che possiamo cambiare [double]$Max = 30,
indica la differenza di tempo, in secondi, tra il nostro computer e il server NTP scelto nella riga [string]$NtpServer = "time.windows.com"
.
Se la differenza di tempo supera i trenta secondi, come nel mio caso, scatta la sincronizzazione dell'orario con il server NTP.