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

Comment puis-je vérifier la configuration NTP actuelle d'un système ?

Je dois vérifier la configuration NTP actuelle sur certains systèmes Windows. Idéalement, j'aimerais pouvoir le faire en ligne de commande au lieu de naviguer dans les écrans de configuration.

(Je travaille sur plusieurs versions de systèmes d'exploitation différents, et les écrans de configuration n'ont pas toujours la même place d'une version à l'autre.)

J'espère trouver une commande rapide et mémorisable que je puisse simplement taper dans une console CMD pour obtenir le résultat. Un fichier batch que je peux emporter avec moi fera tout aussi bien l'affaire.

Plus précisément, j'ai besoin de ce qui suit :

  • Montrer si le système est configuré pour recevoir du temps d'un serveur NTP ou non.
  • Montrer le(s) serveur(s) NTP dont le système reçoit du temps.
  • Afficher l'heure de la dernière synchronisation.
  • Afficher l'heure actuelle du système.

Quelle(s) commande(s) serait(seraient) nécessaire(s) pour obtenir ces résultats ?

Recherche d'une solution qui soit cross-compatible avec Windows XP, 7, Server 2003 et Server 2008.

Réponses (6)

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

Dans la ligne de commande, tapez

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

w32tm /query /configuration vous donne la configuration que vous avez mise en place.

w32tm /query /status vous donne des informations telles que :

  • strate
  • indicateur de saut
  • précision
  • dernière synchronisation
  • serveur NTP
  • intervalle de sondage

time /T sort l'heure système actuelle.

Note : w32tm /query a été mis à disposition pour la première fois dans les versions client Windows Time de Windows Vista, et Windows Server 2008. Voir Windows Time Service Tools and Settings

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

Ceci répond à votre dernière question :

Ouvrez une invite de commande et tapez exactement :

w32tm /stripchart /computer:NTPServerNameOrIP /dataonly /samples:x (combien de retours vous voulez)

Il retourne l'heure et la différence avec l'heure du serveur NTP. S'il renvoie l'heure, il y a erreur : 0x80072746 alors ce n'est pas votre serveur NTP.

Un exemple de commande est donné ci-dessous :

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

J'ai essayé :

w32tm /query /status

J'ai obtenu :

The command /query is unknown.

Dans une autre machine, j'ai obtenu :

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

Puis j'ai essayé :

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

J'ai obtenu :

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

Puis j'ai essayé : Dans une autre machine, j'ai obtenu la page d'aide, qui disait aussi :

net time /querysntp

Donc, en gros, le service ne fonctionnait pas. En suivant les instructions de [ these ]&3, j'ai fait :

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

Enfin, tout ce qui précède allait fonctionner. (note : si net start échoue, voir ci-dessous) Ensuite, j'ai juste eu besoin de mettre en place mon ntp… Je l'ai fait avec :

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

en suivant les instructions de ici , mais peut-être que cela aurait pu être aussi facile que :

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

comme indiqué ici . (10.0.0.5 étant mon serveur NTP local). Si vous n'utilisez pas de serveur NTP local, vous pouvez utiliser le serveur générique :

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

Enfin, vous pourriez avoir besoin de faire ce qui suit, ce qui n'était pas nécessaire pour moi :

net time /setsntp:10.0.0.5

NOTE : si net start w32time échoue avec l'erreur 1290 (Le démarrage du service a échoué car un ou plusieurs services dans le même processus ont un paramètre de type SID de service incompatible) alors suivez les étapes ici :

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

Puis suivez comme ci-dessus.


NOTE 2 : si le service NTP ne démarre pas automatiquement au redémarrage, cela peut être dû à ses paramètres de démarrage, comme décrit ici : en fonction de vos fenêtres, il peut être configuré pour ne démarrer que lorsqu'il rejoint un domaine. Vous pouvez vérifier avec :

w32tm /config /update
w32tm /resync /rediscover

Si le service est configuré pour démarrer lorsque vous rejoignez un domaine, et que vous n'avez pas de domaine configuré sur votre machine, il ne démarrera pas le service et ne fixera pas l'heure. Il ne rejoint probablement pas un domaine parce que vous ne le voulez pas. Dans tous les cas, il suffit de changer le déclencheur qui le fait démarrer. Par exemple, pour démarrer lorsque la machine dispose d'un réseau (et peut donc accéder au serveur), faites :

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

Utilisation :

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 fichier d'exemple .bat se trouve à https://gist.github.com/thedom85/dbeb58627adfb3d5c3af .

Je recommande également ce programme : http://www.timesynctool.com/

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

Sur la ligne de commande, vous pouvez obtenir les informations suivantes :

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

Il semble que cela devrait suffire pour aller dans cette direction, si j'ai bien compris votre question. AFAIK, la commande “reg” fonctionne sur toutes ces différentes plates-formes tant que vous avez les bons services en marche.

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

Jetez un coup d'œil à l'outil de ligne de commande w32tm. Il peut définir et interroger la configuration et signaler un /stripchart du décalage temporel avec un autre ordinateur.