Internetzeit in einem Windows-Skript synchronisieren?

11

Gibt es eine Möglichkeit, die Systemuhr über die Befehlszeile mit einem Internet-Zeitserver (dh time.nist.gov) zu synchronisieren? Dies sollte vorzugsweise über BAT oder PowerShell ausgeführt werden.

Dieser besondere Bedarf entsteht, weil ich einige VMs habe, für die ich regelmäßig die Funktion "Maschinenzustand speichern" verwende, und diese ihre Uhren normalerweise nicht neu synchronisieren, wenn ich sie "wecke". Oft lade ich sie neu, um festzustellen, dass die Uhr Tage nicht synchron ist (und bleibt).

Das erneute Synchronisieren der Uhr über das Dialogfeld "Internet-Zeiteinstellungen" funktioniert normalerweise einwandfrei, erfordert jedoch viel Mausklick, um dies zu tun. Ich möchte lieber ein Skript auf dem Desktop behalten, auf das ich doppelklicken und die Arbeit für mich erledigen kann.

Im Moment ist dies für ein System mit Windows 7 Home x64, aber eine Abwärtskompatibilität mit XP SP3 wäre schön.

Iszi
quelle
1
Die meisten VM-Programme (Virtual PC, VirtualBox) werden mit Treibern ("Ergänzungen") geliefert, die unter anderem die Uhr des Gastes mit dem Host synchronisieren.
user1686
@grawity - Verwenden Sie diese, aber es scheint nicht den Job zu machen.
Iszi

Antworten:

13

Weitere Informationen finden Sie in der Referenz zu W32tm, "Ein Tool zur Diagnose von Problemen mit Windows Time": http://technet.microsoft.com/en-us/library/bb491016.aspx . Ebenfalls,w32tm /?

Verwenden Sie w32tm /resync. Möglicherweise müssen Sie auch einen Server einrichten, net timewenn Sie dies noch nicht getan haben.

Jeff Ferland
quelle
2
Okay, ich habe ... @echo off && w32tm /resync && PAUSEDas in eine BAT-Datei geworfen und eine Verknüpfung auf dem Desktop festgelegt, wobei "Als Administrator ausführen" aktiviert ist. Vielen Dank!
Iszi
Unter Windows 7 bekomme ich dabei:The following error occurred: The service has not been started.
Benutzer
@echo off && w32tm / resync - Befehl propmpt sagt, dass es Befehl nicht erkennt (w32tm)
Arpit Parekh
.. Der Befehl konnte ich unter Windows 7 nicht ausführen.
Arpit Parekh
1
@DeepakKamat, Sie müssen wahrscheinlich Windows-Dienste verwenden (geben Sie "services.msc" in ein Lauf- oder Suchfeld ein). Scrollen Sie nach unten, um Windows Time zu finden. Klicken Sie mit der rechten Maustaste darauf und wählen Sie Eigenschaften. Dort können Sie den Starttyp auf automatisch einstellen.
Kirk Liemohn
1
@echo off
net start W32Time
w32tm /resync
echo sync complete
  1. Kopieren Sie diesen Code in den Editor und speichern Sie ihn als .batDatei.
  2. Führen Sie die Batchdatei mit Administratorrechten aus oder planen Sie eine Aufgabe, um diese Batchdatei nach Bedarf über den Taskplaner auszuführen.

Hinweis: Hierfür sind Administratorrechte und eine funktionierende Internetverbindung erforderlich.

Sainath Prabhu
quelle
0

Ich habe es mit dem Befehl net gemacht.

für ntp

Nettozeit ntp.server.foo

für Windows

Nettozeit \\ Server

Ich kann mich nicht erinnern, ob Sie eine Art / ntp-Flag für das ntp benötigt haben ... es wird Ihnen sagen, ob Sie dies tun.

Kyle__
quelle