Systemuhr automatisch aktualisieren lassen

  • Hallo,
    seit dem ich Windows 8 auf meinem MacBook Pro habe stellt sich meine Uhr einfach immer wieder mal paar Minuten zurück (zwischen 10 und 30) und das im laufenden Betrieb.
    Da ich leider keine Lösung dafür gefunden habe, möchte ich mir einfach ein Script schreiben.
    Ich möchte ungern Seiten wie z.B. http://www.schnelle-online.info/Atomuhr-Uhrzeit.html benutzen, die Uhrzeit vergleichen lassen und sie dann ändern wenn sie falsch ist. Ich würde lieber die Funktion um sie zu aktualisieren benutzen die Windows schon besitzt.

    Kennt sich jemand damit aus und würde mir verraten wie ich diese Funktion aufrufe?

    Mit freundlichen Grüßen,
    Freaky

  • Ich verwende in einem meiner Scripte diese 3 Zeilen, die erste setzt einen beliebigen Timeserver. Wo genau der Unterschied zwischen den anderen beiden lag und warum ich letzlich beide verwende ist mir atm nicht mehr ganz klar, aber es hatte jedenfalls funktioniert und bewirkt, dass die Zeit anhand des gesetzten Timeservers sofort synchronisiert wurde.

    [autoit]


    RunWait(@ComSpec & " /c " & "NET TIME /setsntp:" & $timeserver,"",@SW_HIDE)
    RunWait(@ComSpec & " /c " & "w32tm /config /update","",@SW_HIDE)
    Run(@ComSpec & " /c " & "w32tm /resync /nowait","",@SW_HIDE)

    [/autoit]

    Sehe aber gerade, dass das im Link von i2c erklärt wird...

    Du wirst vermutlich nur die letzte Zeile ab und an aufrufen müssen, allerdings ist das Standardintervall (1 Woche?) welches Windows für die Aktualisierung verwendet glaube ich auch änderbar, was wohl sinnvoller wäre als permanent selbst eine Synchronisation anzustossen.

  • Okay, lustigerweise reicht einfach der Befehl "w32tm /resync" aus :D

    Ja weil Windows standardmässig schon einen Zeitserver konfiguriert hat, die erste Zeile ist wie bereits erwähnt nur zum ändern des Servers gedacht. Das Script lief damals btw unter Windows XP, durchaus möglich, dass dies unter Vista/7/8 mittlerweile wie in deinem cmdline output angedeutet auch über die w32tm.exe geht.

    EDIT:

    Darüber kannst du auch eigene Zeitserver hinterlegen, sofern notwendig. Deine Peerliständerung kannst du dann mit dieser Zeile prüfen:

    Code
    w32tm /query /peers


    EDIT2:

    Ahja hier wird beschrieben wo man in der Registry das Aktualisierungsintervall in Sekunden ändern kann: http://www.rz.uni-osnabrueck.de/Dienste/NTP/win7.htm
    Es ist also nicht notwendig die Aktualisierung durch die resync Zeile von Hand anzustossen, es würde auch reichen die Aktualisierung auf einmal pro Tag oder Stunde zu ändern. Eine starke Abweichung der Zeit nach wenigen Tagen deutet aber im übrigen auf eine fast leere cmos Batterie hin.

    3 Mal editiert, zuletzt von misterspeed (20. Juli 2013 um 11:22)