Du könntest laufen
shutdown -r -t ([decimal]::round(((Get-Date).AddDays(1).Date.AddHours(3) - (Get-Date)).TotalSeconds))
Dadurch wird die Anzahl der Sekunden zwischen der Ausführung des Skripts und 3:00 Uhr am nächsten Tag ermittelt. Das Ergebnis wird dann an shutdown.exe übergeben. Es ist offensichtlich, dass dies vor Mitternacht ausgeführt werden soll.