No description
  • PowerShell 100%
Find a file
2026-09-01 21:45:42 +02:00
PowerShell 7.x/src initial commit 2026-09-01 21:45:42 +02:00
README.md initial commit 2026-09-01 21:45:42 +02:00

Um den Trigger-Zeitpunkt flexibel per Parameter zu steuern, verpacken Sie Ihr Skript in eine Funktion oder nutzen einen param()-Block am Anfang der Datei. Dabei setzen Sie den Standardwert für den Parameter einfach auf 21:00 Uhr des aktuellen Tages. Wird das Skript ohne Parameter aufgerufen, greift automatisch diese Vorgabe.

Das angepasste PowerShell-Skript

Ersetzen Sie Ihr gesamtes Skript durch diesen Code. Sie können ihn als .ps1-Datei abspeichern.

param ( [Parameter(Mandatory=$false)] [datetime]$StartZeit = ((Get-Date).Date.AddHours(21)) # Standardwert: Heute um 21:00 Uhr )

1. Name und Beschreibung der Aufgabe definieren

$TaskName = "Einmaliger_Server_Neustart_Heute" $TaskDescription = "Startet den Server einmalig um $($StartZeit.ToString('HH:mm')) Uhr neu unter Verwendung des SYSTEM-Kontos."

2. Aktion definieren (shutdown.exe mit den Argumenten für den Neustart)

$Action = New-ScheduledTaskAction -Execute "shutdown.exe" -Argument "/r /t 0 /f"

3. Trigger definieren (Nutzt die übergebene oder die Standard-Zeit)

$Trigger = New-ScheduledTaskTrigger -Once -At $StartZeit

4. Sicherheitskonfiguration festlegen (SYSTEM-Konto mit hoechsten Privilegien)

$Principal = New-ScheduledTaskPrincipal -UserId "NT AUTHORITY\SYSTEM" -LogonType ServiceAccount -RunLevel Highest

5. Einstellungen für die Aufgabe festlegen (Inklusive Zeitlimit von 1 Stunde)

$Settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries ` -ExecutionTimeLimit ([TimeSpan]::FromHours(1))

6. Registrieren der neuen Aufgabe in der Aufgabenplanung

Register-ScheduledTask -TaskName $TaskName -Description $TaskDescription -Action $Action -Trigger $Trigger -Principal $Principal -Settings $Settings -Force

Write-Host "Die Aufgabe '$TaskName' wurde erfolgreich angelegt. Geplanter Start: $($StartZeit.ToString('dd.MM.yyyy HH:mm')) Uhr." -ForegroundColor Green

So rufen Sie das Skript jetzt auf

Option 1: Ohne Parameter (Standardzeit 21:00 Uhr) [1]

.\MeinSkript.ps1

Option 2: Mit Parameter für eine andere Uhrzeit heute (z. B. 23:30 Uhr)

.\MeinSkript.ps1 -StartZeit "23:30"

Option 3: Mit Parameter für ein komplett anderes Datum und Uhrzeit

.\MeinSkript.ps1 -StartZeit "24.12.2026 02:00"

Möchten Sie das Skript so erweitern, dass sich die Aufgabe nach erfolgreicher Ausführung automatisch selbst löscht, um die Aufgabenplanung sauber zu halten?

[1] https://support.google.com