Hi Dennis,
vielen Dank für deine Antwort. Ich habe mich heute (wieder nur) mit der Zeit beschäftigt. Nach Status-Ausgabe scheint es jetzt zu gehen. Ich würde das aber gerne nochmal testen.
Leider benötigt mein code
Uhrzeit automatisch festlegen (Windows-Einstellungen, "Datum und Uhrzeit"). Dieser Knopf scheint den ganzen Dienst zu beenden. Denn, wenn ich diesen drücke, dann werden vom Windows-Zeitgeber die Knöpfe "Starten" und "Beenden" ausgegraut. Verwirrend ist jedoch, dass ich den Windows-Zeitgeber über
net start w32time starten kann- ohne das
Uhrzeit automatisch festlegen aktiviert ist.
Ich müsste es also irgendwie schaffen,
Uhrzeit automatisch festlegen zu aktivieren. Leider finde ich keine Hinweise wie das gehen soll.
Selbst wenn ich
W32tm.exe als Admin starte, tut sich da nix.
Mein code:
Code: Alles auswählen
from elevate import elevate
import os
import ctypes
from time import sleep
def set_admin_privilegs():
ct = 0
print("Admin?:", ctypes.windll.shell32.IsUserAnAdmin())
while ctypes.windll.shell32.IsUserAnAdmin() == 0 and ct <= 3:
ct += 1
print(ct, ": Kein Admin")
elevate()
sleep(1)
if ctypes.windll.shell32.IsUserAnAdmin() == 1:
print("Bin Admin")
if __name__ == '__main__':
set_admin_privilegs() # Admin-Rechte erlangen
os.system('cmd /c "net stop w32time"') # Zeitgeber stoppen
os.system('cmd /c "net start w32time"') # Zeitgeber starten
os.system('cmd /c "sc config w32time start= auto"') # Starttyp "Automatisch"
os.system('cmd /c "w32tm /config /update"')
os.system('cmd /c "w32tm /resync"') # Windows-Zeit aktualisieren
os.system('cmd /c "w32tm /query /status"') # Status
# os.system('cmd /c "w32tm /query /configuration"')
sleep(5)
Ausgabe wenn
Uhrzeit automatisch festlegen aktiviert ist:
Code: Alles auswählen
Admin?: 1
Bin Admin
Windows-Zeitgeber wird beendet.
Windows-Zeitgeber wurde erfolgreich beendet.
Windows-Zeitgeber wird gestartet.
Windows-Zeitgeber wurde erfolgreich gestartet.
[SC] ChangeServiceConfig ERFOLG
Der Befehl wurde erfolgreich ausgeführt.
Befehl zum erneuten Synchronisieren wird an den lokalen Computer gesendet.
Der Befehl wurde erfolgreich ausgeführt.
Sprungindikator: 0(keine Warnung)
Stratum: 3 (Sekundärreferenz - synchr. über (S)NTP)
Präzision: -23 (119.209ns pro Tick)
Stammverzögerung: 0.0210345s
Stammabweichung: 7.7943333s
Referenz-ID: 0x824B0128 (Quell-IP: 130.75.1.40)
Letzte erfolgr. Synchronisierungszeit: 21.04.2021 14:16:00
Quelle: time2.rrzn.uni-hannover.de,0x9
Abrufintervall: 10 (1024s)