Synchroniser l'heure Internet dans un script Windows?


11

Existe-t-il un moyen de synchroniser l'horloge système avec un serveur de temps Internet (ie: time.nist.gov) via la ligne de commande? De préférence, cela devrait être quelque chose d'exécutable via le script BAT ou PowerShell.

Ce besoin particulier se pose parce que j'ai certaines machines virtuelles pour lesquelles j'utilise régulièrement la fonction "enregistrer l'état de la machine", et celles-ci ne resynchronisent généralement pas leurs horloges lorsque je les "réveille". Souvent, je vais les recharger pour trouver que l'horloge est (et reste) jours désynchronisée.

La resynchronisation de l'horloge via la boîte de dialogue Paramètres d'heure Internet fonctionne généralement bien, mais il faut beaucoup de clics de souris pour ce faire. Je préfère de loin garder un script sur le bureau sur lequel je peux double-cliquer et faire le travail pour moi.

Pour le moment, c'est pour un système exécutant Windows 7 Home x64, mais la compatibilité descendante avec XP SP3 serait bien d'avoir.


1
La plupart des logiciels VM (Virtual PC, VirtualBox) sont livrés avec des pilotes ("Additions") qui maintiennent, entre autres, l'horloge de l'invité synchronisée avec l'hôte.
user1686

@grawity - Utiliser ceux-ci, mais il ne semble pas faire le travail.
Iszi

Réponses:


13

Consultez la référence pour W32tm, «Un outil utilisé pour diagnostiquer les problèmes survenant avec l'heure de Windows»: http://technet.microsoft.com/en-us/library/bb491016.aspx . Également,w32tm /?

Utilisez w32tm /resync. Vous devrez peut-être également définir un serveur avec net timesi vous ne l'avez pas encore fait.


2
D'accord, je l'ai fait ... J'ai @echo off && w32tm /resync && PAUSEjeté cela dans un fichier BAT et défini un raccourci sur le bureau avec "Exécuter en tant qu'administrateur" coché. Merci!
Iszi

Sur Windows 7, lorsque je fais cela, j'obtiens:The following error occurred: The service has not been started.
utilisateur le

@echo off && w32tm / resync - La proposition de commande dit qu'elle ne reconnaît pas la commande (w32tm)
Arpit Parekh

.. La commande que je n'ai pas pu exécuter sur Windows 7.
Arpit Parekh

1
@DeepakKamat, vous devez probablement utiliser les services Windows (tapez "services.msc" dans une zone d'exécution ou de recherche). Faites défiler vers le bas pour trouver Windows Time. Faites un clic droit dessus et choisissez Propriétés. Là, vous pouvez définir le type de démarrage pour qu'il soit automatique.
Kirk Liemohn

1
@echo off
net start W32Time
w32tm /resync
echo sync complete
  1. Copiez ce code dans le Bloc-notes et enregistrez-le sous forme de .batfichier.
  2. Exécutez le fichier de commandes avec des privilèges d'administrateur ou planifiez une tâche pour exécuter ce fichier de commandes à partir du Planificateur de tâches, selon les besoins.

Remarque: cela nécessite des privilèges d'administrateur et une connexion Internet fonctionnelle.


0

Je le faisais avec la commande net.

pour ntp

temps net ntp.server.foo

Pour les fenêtres

temps net \\ serveur

Je ne me souviens pas si vous aviez besoin d'une sorte d'indicateur / ntp pour le ntp ... il vous dira si vous le faites.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.