Synchronisieren Sie die Windows-Zeit häufiger als standardmäßig

21

Ich habe einige PCs, die Zeit verlieren, und ich möchte, dass Windows sie häufiger mit der Internetzeit synchronisiert. Ich denke, der Windows-Standard versucht, nur einmal pro Tag zu aktualisieren, und aktualisiert sich nicht, wenn der Zeitserver nicht verfügbar ist (was anscheinend ziemlich oft vorkommt), was bedeutet, dass die PCs 20 oder 30 Sekunden ausfallen können.

Ich möchte eine geplante Aufgabe erstellen, um dies beispielsweise alle 5 Minuten zu tun, und wenn der Standardzeitserver nicht verfügbar ist, verwenden Sie mul

DermFranzösisch
quelle
2
Wäre es nicht einfacher festzustellen, warum die betreffenden Computer keine Verbindung zum Zeitserver herstellen können?
Ramhound
2
Haben Sie sich W32tm angesehen? technet.microsoft.com/en-us/library/cc773263(v=ws.10).aspx
Jane T
Die Standardserver fallen mir auch oft aus. Versuchen Sie es pool.ntp.orgwie in dieser Antwort
jan-glx

Antworten:

14

Leute, ich habe dies mit Windows in w32tm und einer geplanten Aufgabe zum Laufen gebracht (siehe unten).

Der erste Schritt bestand darin, w32tm so zu konfigurieren, dass es viele verschiedene Zeitserver verwendet (und auch zu protokollieren, damit wir sehen können, was passiert). Der zweite Schritt bestand darin, w32tm im Taskplaner einzuplanen. Ich mochte diese Lösungen, da sie keine Werkzeuge des 3. Teils erforderten. Es ist sehr wichtig, die verschiedenen Zeitserver einzurichten, da sie häufig nicht reagieren.

Konfigurieren Sie w32tm

Öffnen Sie die Eingabeaufforderung (Führen Sie Folgendes als Administrator aus)

w32tm /config /manualpeerlist:"time.nist.gov time.windows.com time-nw.nist.gov time-a.nist.gov time-b.nist.gov time-a.timefreq.bldrdoc.gov time-b.timefreq.bldrdoc.gov time-c.timefreq.bldrdoc.gov utcnist.colorado.edu" /syncfromflags:manual /update

w32tm /query /configuration

Überprüfen Sie, ob die NTP-Serverliste korrekt aktualisiert wurde, dh die soeben eingegebene Peer-Liste

w32tm /debug /enable /file:C:\windows\temp\w32time.log /size:10000000 /entries:300

Navigieren Sie zum Verzeichnis und prüfen Sie, ob das Protokoll erstellt wurde

Ändern Sie die Systemzeit manuell (sodass die Zeit jetzt nicht mehr synchron ist), kehren Sie zur Eingabeaufforderung zurück und führen Sie den Befehl resync aus

w32tm /resync

Überprüfen Sie, ob die Systemzeit aktualisiert wurde. ** Wenn Sie eine Fehlermeldung erhalten, dass der Zeitdienst nicht gestartet wurde, können Sie den Befehl verwenden net start w32timeund eine neue Synchronisierung versuchen

Wenn Sie die folgende Fehlermeldung erhalten: The compter did not resync because the required time change was too big.Verwenden Sie diesen Befehl, um erneut zu synchronisieren:w32tm /resync /force

Wenn dies erfolgreich funktioniert, müssen Sie lediglich die folgende geplante Task so konfigurieren, dass sie so oft ausgeführt wird, wie Sie möchten (dabei wird die oben konfigurierte Peer-Liste verwendet).

Planen Sie w32tm

Programm- / Skriptargument

%windir%\system32\sc.exe start w32time task_started
%windir%\system32\w32tm.exe /resync
DermFranzösisch
quelle
1
Standardmäßig wird die Windows-Zeit mindestens alle 9,1 Stunden aktualisiert . Dies wird durch den MaxPollIntervalRegistrierungseintrag gesteuert, der unter diesem Link beschrieben wird. Die Daten dieses Eintrags werden mit der Formel in Sekunden umgewandelt 2^Value. Wenn zB MaxPollIntervals Wert ist 11, dann 2^11=2048sec=34minutes. Wenn Sie die Aktualisierungshäufigkeit reduzieren möchten, ohne eine geplante Aufgabe zu verwenden, ändern Sie einfach diesen Registrierungseintrag und starten Sie den Windows-Zeitdienst mit net stop w32timedann neu net start w32time.
Ich sage Reinstate Monica
" /entries:300" ist nicht die richtige Option. Es werden nur Einträge angezeigt, die mit dem Code Nr. 300 protokolliert wurden, bei dem es sich nicht um viele Einträge handelt. Die Idee ist, diesen Parameter als Liste der anzuzeigenden Eintragsnummern zu verwenden, sodass " /entries:0-300" alle möglichen Ereignisse im Protokoll angezeigt werden.
MikeB
9

Gehen Sie zu Systemsteuerung> Verwaltung> Taskplaner

Links befindet sich eine Ordnerstruktur. Erweitern Sie: Taskplaner-Bibliothek> Microsoft> Windows> Zeitsynchronisierung

Klicken Sie mit der rechten Maustaste auf die Aufgabe: SynchronizeTime> Eigenschaften

Auf der Registerkarte: Trigger können Sie die gewünschten Trigger hinzufügen.

Rudger
quelle
Das OP forderte ein Zeitsynchronisationsintervall von 20-30s. Dies ist nur mit dem Trick möglich , mehrere Trigger
nixda
2
Häufiges Missverständnis, aber Sie können wirklich nicht beschuldigt werden! Diese geplante Aufgabe stellt nur sicher, dass der Windows-Zeitdienst ausgeführt wird. Selbst wenn Sie die Aufgabe häufiger auslösen, entscheidet also immer noch der Dienst, wann synchronisiert werden soll, was anscheinend wöchentlich ist.
Gras Double
6
So ändern Sie die HKLM\SYSTEM\CurrentControlSet\services\W32Time\TimeProviders\NtpClientAbrufhäufigkeit : Registrierungsschlüssel : Bearbeiten Sie DWORD SpecialPollIntervalin Sekunden (z. B. für einen Tag: hexadezimal 15180 oder dezimal 86400).
Gras Double
Groß! Dieser Trick hat bei meinem W7-Betriebssystem
funktioniert
2
Vielen Dank an Microsoft, dass Sie eine einfache Aufgabe wie die Zeitsynchronisation SO DAMN COMPLICATED ausgeführt haben. Die einzig vernünftige Lösung besteht darin, ein Drittanbieter-Dienstprogramm regelmäßig im Hintergrund auszuführen.
Gras Double
4

Sie können TimeSync verwenden, um die Zeitsynchronisierung zu automatisieren.

  • nach oben: registriert keinen ganzen Dienst wie W32tm (den Sie haben, wenn Sie W32tm verwenden)
  • Oberseite: sein bewegliches und kann mit /autoWahl vom Startordner laufen gelassen werden
  • Nachteil: Drittanbieter-Tool und keine integrierte Lösung

    Bildbeschreibung hier eingeben

TimeSync bezieht die aktuelle Uhrzeit von einem NIST-Server und passt die PC-Uhr bei Bedarf an. Die Genauigkeit liegt normalerweise innerhalb einer Sekunde. [...] TimeSync versucht es mit alternativen Servern, falls die Zeit nicht vom bevorzugten Server bezogen werden kann.

Mit der Option / auto können Sie TimeSync über den Autostart-Ordner ausführen. In diesem Modus wird im TimeSync-Fenster nicht angezeigt, ob der Zeitversatz unter einem bestimmten Minimum liegt.


Natürlich können Sie die integrierte Lösung W32tm weiterhin bei registrieren cmd.exe → W32tm /registerund Ihre geplante Aufgabe so einrichten, dass sie cmd.exe → W32tm /resyncalle 5 Minuten anruft .

Nixda
quelle
2

Sie können dieses Programm auch ausprobieren: http://www.worldtimeserver.com/atomic-clock/ Mit diesem Programm können Sie die Einstellungen des Windows-Zeitdienstes auf einfache Weise ändern.

Auch das Erzwingen der Synchronisierung funktioniert, während das "Jetzt aktualisieren" von Windows fast nie funktioniert.

NickSoft
quelle
-1

Ich führe diesen Befehl auf von mir verwalteten Kiosken aus.

net start w32time 
w32tm /resync /force

um das Datum und die Uhrzeit manuell einzustellen:

date 5/24/2017
time 18:37:00

So stellen Sie die Zeitzone ein:

tzutil/s Pacific Standard Time
user1449936
quelle
1
Was bewirken die Befehle im ersten Codeblock? Haben der zweite und dritte Codeblock etwas mit dieser Frage zu tun?
Scott