Zurück zu PowerShell
Automatisierung Profi

Aufgabenplanung per PowerShell

Geplante Aufgaben erstellen, verwalten und automatisieren — ohne GUI.

Geplante Aufgaben anzeigen

# Alle Aufgaben auflisten
Get-ScheduledTask | Format-Table TaskName, State, TaskPath

# Bestimmte Aufgabe suchen
Get-ScheduledTask -TaskName "*backup*"

# Details einer Aufgabe
Get-ScheduledTask -TaskName "MeinBackup" | Get-ScheduledTaskInfo

Neue Aufgabe erstellen

# 1. Trigger definieren (wann?)
$trigger = New-ScheduledTaskTrigger -Daily -At "06:00"

# 2. Aktion definieren (was?)
$action = New-ScheduledTaskAction -Execute "PowerShell.exe" `
    -Argument "-File C:\Scripts\Backup.ps1 -NoProfile -ExecutionPolicy Bypass"

# 3. Aufgabe registrieren
Register-ScheduledTask -TaskName "TaeglichesBackup" `
    -Trigger $trigger -Action $action `
    -Description "Fuehrt das Backup-Skript taeglich um 6 Uhr aus" `
    -RunLevel Highest

Weitere Trigger-Beispiele

# Beim Systemstart
$trigger = New-ScheduledTaskTrigger -AtStartup

# Woechentlich (Mo, Mi, Fr)
$trigger = New-ScheduledTaskTrigger -Weekly -DaysOfWeek Monday,Wednesday,Friday -At "08:00"

# Bei Anmeldung
$trigger = New-ScheduledTaskTrigger -AtLogOn

Aufgaben steuern

# Aufgabe manuell starten
Start-ScheduledTask -TaskName "TaeglichesBackup"

# Aufgabe deaktivieren / aktivieren
Disable-ScheduledTask -TaskName "TaeglichesBackup"
Enable-ScheduledTask -TaskName "TaeglichesBackup"

# Aufgabe loeschen
Unregister-ScheduledTask -TaskName "TaeglichesBackup" -Confirm:$false

Praxis: Tägliches Temp-Cleanup

$action = New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument @"
-NoProfile -Command "Get-ChildItem $env:TEMP -Recurse -File |
    Where-Object LastWriteTime -lt (Get-Date).AddDays(-7) |
    Remove-Item -Force -ErrorAction SilentlyContinue"
"@
$trigger = New-ScheduledTaskTrigger -Daily -At "03:00"
Register-ScheduledTask -TaskName "TempCleanup" -Action $action -Trigger $trigger -RunLevel Highest

Tipp: Mit -RunLevel Highest läuft die Aufgabe mit erhöhten Rechten. Teste Skripte immer erst manuell, bevor du sie automatisierst.