Die Aufgabenplanung (vormals Taskplaner) ist ein Bestandteil aller modernen Versionen von Microsoft Windows und ermöglicht das Starten von Anwendungen einmalig oder wiederkehrend zu festgelegten Zeitpunkten.
Vorläufer der Aufgabenplanung war der Zeitplandienst (bzw. ab Windows NT 4.0 unter dem englischen Begriff Schedule) genannte Systemdienst, der ursprünglich Bestandteil des LAN Managers war und später in Windows NT 3.1 und alle nachfolgenden Versionen übernommen wurde. Der Dienst konnte ausschließlich über das Kommandozeilenprogramm AT.EXE
gesteuert werden. Konzipiert war er ursprünglich zum regelmäßigen Starten von Hintergrundanwendungen (z. B. Erstellen eines Backups), weshalb er gewisse Einschränkungen besaß; so konnten die ausgeführten Programme in keiner Weise mit dem Anwender kommunizieren (es sei denn, es wurde der Parameter /INTERACTIVE
übergeben[1]), die Anwendungen erschienen nicht im Task-Manager und das Beenden eines so gestarteten Programms erforderte einen Neustart des gesamten Rechners.[2] Wurde mittels AT.EXE
ein Netzlaufwerk verbunden, ohne dieses anschließend wieder zu trennen, war das Netzlaufwerk für alle Benutzer sichtbar, konnte aber nur von Administratoren über die Kommandozeile wieder getrennt werden.[3]
Die Syntax von AT.EXE
wurde zwischen Windows NT 3.51 und Windows NT 4.0 geändert, um etwa die Übergabe von Dateinamen und Pfaden mit Leerzeichen als Parameter zuzulassen. Über einen Eintrag in der Windows-Registrierungsdatenbank kann die Verwendung der alten Syntax erzwungen werden, um Kompatibilitätsprobleme mit älteren Skripten zu beheben. Erst seit Service Pack 4 wird diese Einstellung beibehalten und nicht nach jedem Systemstart gelöscht.[4]
Die Urform der heutigen Aufgabenplanung erschien unter der Bezeichnung „Geplante Tasks“ zunächst als Teil des Plus!-Pakets für Windows 95, später war er in überarbeiteter Form als optionale Komponente Bestandteil des Internet Explorer 4.0 und so für Windows 95 und Windows NT 4.0 verfügbar, wobei gegebenenfalls der bereits vorhandene Zeitplandienst ersetzt wurde.[5] Alle späteren Versionen von Windows, in denen der Internet Explorer bereits integriert war, enthielten die Aufgabenplanung ebenfalls. Die Aufgabenplanung lief als Systemdienst im Hintergrund (bzw. unter Windows 9x als ausführbare Datei MSTASK.EXE
) und ermöglichte über einen virtuellen Ordner „Geplante Tasks“ das Eintragen und Löschen von zu startenden Anwendungen. Ein Kommandozeilenprogramm zur Steuerung des Dienstes fehlte zunächst, der alte Befehl AT.EXE
blieb aber weiter funktionsfähig (auch wenn mit AT hinzugefügte Aufgaben mit denen im Ordner „Geplante Tasks“ inkompatibel waren[6]). Erst ab Windows XP gab es das neue Kommandozeilenprogramm schtasks
, mit dem AT.EXE
abgelöst wurde; aus Kompatibilitätsgründen ist aber AT weiterhin auch in heutigen Versionen von Windows enthalten. Problematisch ist, dass die Parameter des Befehls schtasks
in den einzelnen Sprachversionen von Windows übersetzt wurden, Skripte somit nicht zwischen verschiedensprachigen Windows-Systemen portiert werden können.[7] Programmierer konnten die Aufgabenplanung über COM-Objekte ansteuern und manipulieren. Ab Windows 2000 hieß der Dienst „Taskplaner“.
Einzelne Tasks wurden unter Internet Explorer 4.0 in der Windows-Registrierungsdatenbank gespeichert. Internet Explorer 5.0 speichert Tasks stattdessen als Dateien mit der Dateiendung .JOB
auf der Festplatte.[8]
Mit Windows Vista erhielt die „Aufgabenplanung“ (englisch Task Scheduler) ihre heutige Bezeichnung und wurde komplett neu konzipiert und gestaltet. Die wichtigsten Neuerungen sind:
Die Eingaben für das Erstellen einer Aufgabe lauten folgendermaßen:
oder