Windows-Aufgabenplanung: Programme automatisch starten
Kurz: Die Aufgabenplanung (Task Scheduler) führt Programme und Skripte zu festen Zeiten oder bei Ereignissen aus, etwa Backups, Aufräumjobs oder Skripte beim Anmelden.
Genauer: Unter Windows ist die Aufgabenplanung das Gegenstück zu cron und systemd-Timern. Sie startet Aufgaben zeitgesteuert oder ereignisgesteuert, auch ohne angemeldeten Benutzer.
Im Detail
Aufgabe anlegen
Start → „Aufgabenplanung“ → Einfache Aufgabe erstellen oder Aufgabe erstellen (mehr Optionen). Du legst fest: Trigger (täglich, wöchentlich, beim Start, bei Anmeldung, bei Ereignis, im Leerlauf), Aktion (Programm starten, Argumente, Arbeitsordner) und Bedingungen (nur im Netzbetrieb, nur mit Netzwerk). Wichtig: Option „Unabhängig von der Benutzeranmeldung ausführen“ für Hintergrundjobs und „Mit höchsten Berechtigungen“ nur, wenn nötig.
Per Kommandozeile
$a = New-ScheduledTaskAction -Execute 'powershell.exe' -Argument '-File C:\Skripte\backup.ps1'
$t = New-ScheduledTaskTrigger -Daily -At 3am
Register-ScheduledTask -TaskName 'Backup' -Action $a -Trigger $t
Get-ScheduledTask | Where State -eq Ready
Start-ScheduledTask -TaskName 'Backup'Klassisch: schtasks /create /tn Backup /tr "C:\Skripte\backup.bat" /sc daily /st 03:00.
Typische Aufgaben und Fallen
- Backups, Temp-Dateien löschen, Berichte erzeugen, Sync-Skripte.
- Absolute Pfade verwenden und Arbeitsordner setzen, sonst findet das Skript Dateien nicht.
- Passwort/Konto: Läuft die Aufgabe als Benutzer, muss das Passwort stimmen (Fehler 0x8007052e/0x1).
- Ausführungsrichtlinie für PowerShell (
-ExecutionPolicy Bypassnur bewusst). - Im Reiter Verlauf (aktivieren) und in der Ereignisanzeige nachsehen, warum etwas fehlschlug; „Letztes Ergebnis“
0x0= Erfolg. - Laptop im Akkubetrieb startet Aufgaben oft nicht; Bedingungen prüfen.
- Verpasste Aufgaben: „Aufgabe so schnell wie möglich nach einem verpassten Start ausführen“.
Sicherheit
Aufgaben mit hohen Rechten sind ein beliebter Persistenz-Mechanismus von Schadsoftware. Prüfe gelegentlich unbekannte Aufgaben (Autoruns von Sysinternals), schütze Skriptordner vor Schreibzugriff normaler Benutzer und speichere keine Passwörter im Klartext in Skripten. Auf Linux entspricht das cron/systemd-Timern, auf macOS launchd.
Siehe auch: PowerShell