clapi22
Goto Top

PowerShell zum Ändern des Datums in Windows 10

Ich möchte 2 Scripte erstellen:
Das erste soll das Datum des Betriebssystems auf das Jahr 2000 setzen.
Das zweite soll es wieder auf das aktuelle Datum setzen.

Das erste:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\TimeZoneInformation" -Name "RealTimeIsUniversal" -Value 1  
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\TimeZoneInformation" -Name "TimeZoneKeyName" -Value "W. Europe Standard Time"  
Set-Date -Date "2000-01-01 12:00:00"  

Das zweite:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\TimeZoneInformation" -Name "RealTimeIsUniversal" -Value 1  
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\TimeZoneInformation" -Name "TimeZoneKeyName" -Value "W. Europe Standard Time"  
w32tm /resync

Keins von beiden funktioniert wenn ich sie ausführe
Ich habe mich nur sehr oberflächlich in das Thema eingelesen, weil ich nur diese zwei Funktionen brauche.
Bin über Hilfe sehr dankbar.

Content-ID: 5807389067

Url: https://administrator.de/forum/powershell-zum-aendern-des-datums-in-windows-10-5807389067.html

Ausgedruckt am: 20.04.2025 um 12:04 Uhr

Pjordorf
Pjordorf 03.02.2023 um 01:47:43 Uhr
Goto Top
Hallo,

Zitat von @Clapi22:
Das erste soll das Datum des Betriebssystems auf das Jahr 2000 setzen.
Achte darauf das du keine Zeitsnchronisierung hast die immer wieder das ändert bzw. auf aktuelles Datum/Uhrzeitz zurücksetzt. Kein Internet wäre ein Anfang.

Keins von beiden funktioniert wenn ich sie ausführe
Fehlermeldungen sind nicht nur Blödsinn. Was passiert denn, genau bitte. Was passiert bei dir? Fährt da dann ein Liopard Panzer über dein abgestelltes Mofa?

Ich habe mich nur sehr oberflächlich in das Thema eingelesen, weil ich nur diese zwei Funktionen brauche.
Auch wenn jemand nur mal Schwimmen will, muss er doch die Grundlagen lernen, auch wenn er kein Mark Spitz kenntface-smile

Gruß,
Peter
Clapi22
Clapi22 03.02.2023 um 02:17:24 Uhr
Goto Top
Achte darauf das du keine Zeitsnchronisierung hast die immer wieder das ändert bzw. auf aktuelles Datum/Uhrzeitz zurücksetzt. Kein Internet wäre ein Anfang.
Habe Script 1 mit folgendem ergänzt:
Stop-Service w32time
Hat nichts gebracht.

Was passiert denn, genau bitte.
Es passiert einfach gar nichts. Das aktuelle Datum bleibt wie es ist.
Wenn ich das Datum manuell verändere und anschließend Script 2 starte, bleibt das geänderte Datum.
Clapi22
Clapi22 03.02.2023 um 02:31:14 Uhr
Goto Top
Wenn ich powershell als Admin ausführe, funktioniert der Code.
Ich möchte aber die .ps1 Dateien ausführen ohne die Konsole benutzen zu müssen.
Ich habe das Ausführen von Scripten unter "Set-ExecutionPolicy RemoteSigned" erlaubt.
cykes
cykes 03.02.2023 aktualisiert um 06:53:55 Uhr
Goto Top
Moin,
Zitat von @Clapi22:
Wenn ich powershell als Admin ausführe, funktioniert der Code.
Ist auch klar, Du greifst auf HKLM (Local Machine) in der Registry zu, das benötigt Admin-Rechte.

P.S. Sollte das Ganze auf einem Client in einer Domäne ausgeführt werden, kann das noch zu ganz anderen Problemen führen, wenn Du Zeit/Datum um 23 Jahre zurückstellst.
Bei Standalone sind zumindest Zertifikate nicht mehr gültig, u.a. könnte das Windows auch seine Aktivierung verlieren. Wozu soll der ganze Akt denn dienen?
em-pie
em-pie 03.02.2023 um 07:35:48 Uhr
Goto Top
Moin,

Script auch als Admin ausgeführt?

Gruß
em-pie
5175293307
5175293307 03.02.2023 aktualisiert um 12:58:24 Uhr
Goto Top
Datum manuell setzen und NTP sync deaktivieren
if(!(new-object System.Security.Principal.WindowsPrincipal([System.Security.Principal.WindowsIdentity]::GetCurrent())).IsInRole(544)){start powershell -Verb runas -ArgumentList '-File',$MyInvocation.MyCommand.Definition;exit}  
Stop-Service W32time -Force
Set-ItemProperty "HKLM:\System\CurrentControlSet\Services\W32Time\Parameters" -Name Type -Value NoSync -Force  
Set-TimeZone -Id 'W. Europe Standard Time'  
Set-Date -Date "2000-01-01 12:00:00"  
Zurück zur aktuellen Zeit und NTP sync wieder aktivieren
if(!(new-object System.Security.Principal.WindowsPrincipal([System.Security.Principal.WindowsIdentity]::GetCurrent())).IsInRole(544)){start powershell -Verb runas -ArgumentList '-File',$MyInvocation.MyCommand.Definition;exit}  
Set-ItemProperty "HKLM:\System\CurrentControlSet\Services\W32Time\Parameters" -Name Type -Value NTP -Force  
Set-TimeZone -Id 'W. Europe Standard Time'  
Stop-Service W32time -Force
Start-Service W32Time
w32tm /resync

Natürlich wie schon gesagt wurde, in einer Domäne tödlich.

Gruß Wurstel