Ein PowerShell-Script, das die Uhrzeit mit NTP (Network Time Protocol) synchronisiert und die Zeit auf dem System anschliessend mit dem NTP Server vergleicht.
# Synchronisiere die Uhrzeit mit dem NTP-Server
w32tm /config /manualpeerlist:"0.de.pool.ntp.org 1.de.pool.ntp.org 2.de.pool.ntp.org" /syncfromflags:manual /reliable:yes /update
# Warte 10 Sekunden, um sicherzustellen, dass die Synchronisierung abgeschlossen ist
Start-Sleep -s 10
# Führe 5 Tests der Uhrzeit durch
for ($i = 1; $i -le 5; $i++) {
# Abrufen der aktuellen Uhrzeit
$time = Get-Date
# Abrufen der aktuellen Uhrzeit vom NTP-Server
$ntpTime = (Get-Date (w32tm /query /source)).ToUniversalTime()
# Berechne die Abweichung zwischen der aktuellen Uhrzeit und der Uhrzeit vom NTP-Server in Millisekunden
$difference = ([int64]$time.Ticks - [int64]$ntpTime.Ticks) / 10000
# Ausgabe der aktuellen Uhrzeit und der Abweichung zur Uhrzeit vom NTP-Server
Write-Output "Test $i : Aktuelle Uhrzeit ist $time. Abweichung zur Uhrzeit vom NTP-Server beträgt $difference Millisekunden."
# Warte 5 Sekunden, bevor der nächste Test durchgeführt wird
Start-Sleep -s 5
}
Das obige Script synchronisiert zunächst die Uhrzeit des Computers mit dem NTP-Server 0.de.pool.ntp.org
, 1.de.pool.ntp.org
und 2.de.pool.ntp.org
. Anschliessend wird eine Schleife gestartet, die 5 Tests der Uhrzeit durchführt. In jedem Durchlauf wird die aktuelle Uhrzeit abgerufen und die Uhrzeit vom NTP-Server abgefragt. Die Abweichung zwischen beiden Zeiten wird in Millisekunden berechnet und ausgegeben. Zwischen den einzelnen Tests wird eine Pause von 5 Sekunden eingelegt.
Um das Script auszuführen, öffne eine PowerShell-Konsole und führe das Script einfach wie einen normalen Befehl aus. Du kannst auch das Script in eine Textdatei speichern und es dann mit dem Befehl `.\Scriptname.