Aufgabenplanung

aus Wikipedia, der freien Enzyklopädie

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

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]

Aufgabenplanung 1.0

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]

Aufgabenplanung 2.0

Mit Windows Vista erhielt die „Aufgabenplanung“ (englisch Task Scheduler) ihre heutige Bezeichnung und wurde komplett neu konzipiert und gestaltet. Die wichtigsten Neuerungen sind:

  • Die Aufgabenplanung ist in die Microsoft Management Console integriert und kann über ein MMC-Applet aufgerufen werden; der alte Ordner „Geplante Tasks“ entfällt. Einzelne Tasks werden als XML-Dateien gespeichert und können dadurch in jedem Texteditor bearbeitet werden.
  • Aufgaben können nicht mehr nur einmalig zu einem bestimmten Zeitpunkt oder wiederkehrend in regelmäßigen Abständen, sondern auch in Abhängigkeit von einem bestimmten Ereignis (z. B. Eintrag im Ereignisprotokoll, keine Benutzeraktivität) gestartet werden
  • Es können auch mehrere zu startende Anwendungen in einer Aufgabe zusammengefasst werden, die dann nacheinander ausgeführt werden
  • Es kann auch festgelegt werden, was passieren soll, wenn eine Aufgabe scheitert.
  • Die API zum Zugriff auf die Aufgabenplanung wurde deutlich erweitert, jedoch fehlt eine Möglichkeit, über das .Net-Framework darauf zuzugreifen. PowerShell ab Version 3.0 verfügt über Cmdlets zum Erstellen und Ändern von Tasks.[9]

Weblinks

Einzelnachweise

  1. Microsoft Knowledge Base - Q121562: Applications Started with AT Are Not Interactive
  2. Microsoft Knowledge Base - Q138340: Trouble Quitting Program Started with AT.EXE Scheduler
  3. Microsoft Knowledge Base - Q103650: Network Connections Made with the AT Command are Persistent
  4. Microsoft Knowledge Base - Q177651: Windows NT 4.0's AT Command Handles Quotation Marks Differently Than Windows NT 3.51
  5. Microsoft Knowledge Base - Q196731: Application That Requires Schedule Service Fails
  6. Microsoft Knowledge Base - Q220149: AT Tasks Cannot Be Viewed Using the Task Scheduler Tool
  7. Beschreibung des SCHTASKS-Befehls
  8. Microsoft Knowledge Base - Q279830: Internet Explorer May Not Convert Jobs to Task Scheduler Jobs When You Upgrade to Internet Explorer 5
  9. About Scheduled Jobs - Windows PowerShell