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

¿Cómo puedo comprobar la configuración NTP actual de un sistema?

Necesito verificar la configuración NTP actual en algunos sistemas Windows. Idealmente, me gustaría poder hacer esto a través de la línea de comandos en lugar de navegar a través de las pantallas de configuración.

(Estoy trabajando en varias versiones diferentes de sistemas operativos, y las pantallas de configuración tienden a no estar siempre en el mismo lugar en todas las versiones). Sin embargo, un archivo por lotes que pueda llevar conmigo servirá igual de bien.

Específicamente, necesito lo siguiente:

  • Mostrar si el sistema está configurado para recibir tiempo de un servidor NTP.
  • Mostrar el servidor o servidores NTP de los que el sistema está recibiendo tiempo.
  • Mostrar la hora de la última sincronización.
  • Mostrar la hora actual en el sistema.

¿Qué comando(s) serían necesarios para lograr estos resultados?

Buscar una solución que sea compatible con Windows XP, 7, Server 2003 y Server 2008.

Respuestas (6)

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

En la línea de comandos, escriba

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

w32tm /query /configuration le da la configuración que ha establecido.

w32tm /query /status le da información como:

  • estrato
  • indicador de salto
  • precisión
  • última sincronización
  • servidor NTP
  • intervalo de sondeo

time /T da la hora actual del sistema.

Nota: w32tm /query se puso a disposición por primera vez en las versiones cliente de Windows Time de Windows Vista y Windows Server 2008. Ver Herramientas y configuración de servicio de tiempo de Windows

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

Esto responde a tu última pregunta:

Abre un símbolo del sistema y escribe exactamente:

w32tm /stripchart /computer:NTPServerNameOrIP /dataonly /samples:x (cuántas devoluciones quieres)

Devuelve la hora y la diferencia a la hora del servidor NTP. Si devuelve la hora, error: 0x80072746 entonces ese no es su servidor NTP.

Un ejemplo de un comando es el siguiente:

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

Lo intenté:

w32tm /query /status

Tengo:

The command /query is unknown.

En una máquina diferente, tengo:

The following error occurred: The service has not been started. (0x80070426)

Entonces lo intenté:

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

Tengo:

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

Entonces lo intenté: En otra máquina, recibí la página de ayuda, diciendo también:

net time /querysntp

Entonces, básicamente, el servicio no estaba funcionando. Siguiendo estas instrucciones, hice:

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

Finalmente, todo lo anterior funcionaría. (nota: si net start falla, ver abajo) Entonces sólo necesitaba configurar mi ntp… Lo hice con:

The /QUERYSNTP and /SETSNTP options have been deprecated. Please use w32tm.exe to configure the Windows Time Service.

siguiendo las instrucciones de aquí , pero quizás podría haber sido tan fácil como:

w32tm /unregister
w32tm /unregister
w32tm /register
net start w32time

como se indica aquí . (10.0.0.5 es mi servidor NTP local). Si no estás usando un servidor NTP local, puedes usar el genérico:

w32tm /config /manualpeerlist:10.0.0.5 /syncfromflags:manual /reliable:yes /update

Finalmente, podrías necesitar hacer lo siguiente, que no era necesario para mí:

net time /setsntp:10.0.0.5

NOTA: si net start w32time falla con el error 1290 (El inicio del servicio falló ya que uno o más servicios en el mismo proceso tienen un ajuste de tipo de SID de servicio incompatible) entonces siga los pasos aquí :

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

Luego siga como se indica arriba.


NOTA 2: si el servicio NTP no se inicia automáticamente al reiniciar, puede deberse a su configuración de inicio, como se describe aquí : dependiendo de sus ventanas, puede estar configurado para iniciarse sólo cuando se une a un dominio. Puedes comprobarlo con:

w32tm /config /update
w32tm /resync /rediscover

Si está configurado para iniciarse cuando te unes a un dominio, y no tienes un dominio configurado en tu máquina, no iniciará el servicio y establecerá la hora. Es probable que no se una a un dominio porque no quieres que lo haga. En cualquier caso, cambia el disparador que lo inicia. Por ejemplo, para iniciar cuando la máquina tiene red (y por lo tanto puede acceder al servidor), haga:

w32tm /unregister
w32tm /register
sc config w32time type= own
net start w32time
5
5
5
2016-03-01 11:37:26 +0000

Use:

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 archivo .bat de muestra está en https://gist.github.com/thedom85/dbeb58627adfb3d5c3af .

También recomiendo este programa: http://www.timesynctool.com/

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

Desde la línea de mando se puede obtener la información así:

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

Parece que eso debería ser suficiente al menos para ir en esa dirección, es decir, si entendí tu pregunta. AFAIK, el comando ‘reg’ funciona en todas estas diferentes plataformas siempre y cuando tengas los servicios adecuados funcionando.

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

Echa un vistazo a la herramienta de línea de comandos w32tm. Puede configurar y consultar la configuración y reportar un gráfico /stripchart del desfase horario con otro ordenador.