Para comprobar la hora de un equipo podemos utilizar el comando:
w32tm /stripchart /computer:time.windows.com /dataonly
Con + indicará que vamos adelantados, con – que la hora está atrasada xx segundos.
Para ver el origen de la hora en el sistema podemos ejecutar:
w32tm /query /source
Para sincronizar nuestro equipo/servidor con un servicio online de hora:
w32tm /resync /computer:time.windows.com /nowait
Aunque puede dar error por cuestiones de firewall, etc.
Primero necesitamos saber cual de nuestros servidores es nuestro PDC (Primary Domain Controller) ya que el resto de equipos y servidores sincronizarán la hora con éste, para ello ejecutaremos el comando:
nltest /dclist:nombrededominio
Uno de los servidores tendrá la etiqueta [PDC]
Nos conectamos y cambiamos la hora, o la sincronizamos con un servidor.
Podemos ejecutar en los clientes:
w32tm /resync
Para forzar una sincronización.
Un modificador muy interesante que muestra si algún servidor se está sincronizando con otra máquina es:
w32tm /monitor
Puede mostrar cosas tan curiosas como esta:
Observamos que un servidor se está sincronizando con una máquina en una zona horaria distina. LOCL es el reloj físico de la placa del equipo.
Además, puede ocurrir que el servidor de “Hora de Windows” aparezca como deshabilitado, no podamos arracarlo porque indique que está marcado para borrado.
En este caso ejecutar en cmd:
w32tm /debug /disable w32tm /unregister
Si da error volver a ejecutarlo, y seguir:
w32tm /unregister w32tm /register net start w32time
Y debería aparecer el mensaje que indica que el servicio está arrancando, y ya no dará el error que indica que ha sido marcado para ser eliminado, etc.
Y si queremos forzar un servidor en concreto para la sincronización NTP:
w32tm /config /manualpeerlist:es.pool.ntp.org,0x1 /syncfromflags:manual /reliable:yes /update