Der Taskscheduler in Windows 7 bzw Server 2008R2

Dieser Artikel gilt für: Windows 7, Windows 2008 R2

Heute möchte ich Ihnen den Taskscheduler in Windows 7 / Server 2008R2 vorstellen. Nun, Sie werden sich fragen: „Was ist an einem Scheduler schon besonders erwähnenswert, er führt eben zu einem bestimmen Zeitpunkt eine bestimmte Aktion aus.“

Doch das ist nur eine der vielen Möglichkeiten, die der Windows Task Scheduler, in deutschen Systemen als Aufgabenplaner bekannt, beherrscht. Mit der Einführung von Windows Vista bzw Server 2008 hat Microsoft die Möglichkeiten dieses Tools erheblich aufgebohrt.

Ich möchte Ihnen zunächst in diesem ersten Teil einen Überblick über die Konfigurationsmöglichkeiten geben um dann im zweiten Teil zu einigen Aufgabenstellungen des Admin-Alltags zu kommen, welche wir Admins im ESCde mit Hilfe des Task-Schedulers realisiert haben.

Starten wir zunächst einmal den Task Scheduler. Sie erreichen ihn am schnellsten über die Windows-Taste und die Eingabe von task bzw Aufgabe.

Beginnen wollen wir mit der Erstellung eines Task, dies erreichen wir durch einen Klick in die rechte Menüleiste auf Create Task.

An dieser Stelle können Sie sehen, dass Sie sich keineswegs auf dem Computer befinden müssen, auf welchem Sie den Task erstellen möchten, denn über einen Klick auf Connect to another Computer ist diese MMC wie die allermeisten MMCs komplett remotefähig. Dies setzt natürlich die entsprechenden Berechtigungen voraus, Sie müssen den Task Scheduler dann über Rechsklick -> Run as Administrator starten.

Wenn Sie Create Basic Task auswählen, startet ein kleiner Wizard, welcher Sie in wenigen Schritten durch die Erstelung des Task führt. In meinen Augen eine etwas überflüssige Einstellung, denn gerade die praktischen Einstellungen sind so nicht direkt zugänglich.

Nach einem Klick auf Create Task… sollten Sie nun folgendes Fenster sehen:

Das Feld Name ist denke ich selbsterklärend, hier hinterlegen Sie den Anzeigenamen des Tasks. Sehr hilfreich finde ich hier gerade in größeren Umgebungen mit vielen Administratoren das Description Feld. Hier können Sie detaillierte Notizen zum Task hinterlegen, in meinen Augen ideal zur einfachen Dokumentation.

Im Abschnitt Security Options müssen Sie angeben, unter wessen User-Account der Task laufen soll, per default ist hier der Benutzer in dessen Kontext der Task Scheduler ausgeführt wird eingetragen. Allgemein ist zu sagen, dass sich hier in den meisten Fällen ein spezieller Service-Account anbietet, welcher aus Sicherheitsgründen mit minimalen Berechtigungen augestattet sein sollte. Vor allem SYSTEM sollte mit Vorsicht genossen werden, da dieser Account höchste lokale Berechtigungen besitzt. Sollten Sie einen Service Account für diese Zwecke erstellen, benötigt dieser das Privileg Log on as batch job.

Das Häkchen Run with highest Privileges lässt sich am besten mit dem Bestätigen der User Account Control (UAC) vergleichen. Wenn ein Task höhere Berechtigungen benötigt als ein Standard-User besitzt, so muss dieser Haken gesetzt werden.

Im Tab Triggers können Sie einen oder mehrere „Auslöser“ für einen Task definieren. Wenn Sie mehrere Trigger definieren, so wird die unter Actions defnierte Aktion ausgeführt, wenn eine der Trigger-Bedingungen eintritt.

Nach einen Klick auf New erscheint folgendes Fenster:

Die Trigger-Bedingung On a Schedule bedarf wohl keiner weiteren Erläuterung, sie entspricht dem eines klassichen Schedulers. Die Bedingungen On Startup und On Logon etc. sind in einer AD-Umgebung von untergeordneter Bedeutung, da Sie über Gruppenrichtlinien zentral Startup/Shutdown bzw Logon/Logoff Skripts weitaus einfacher warten und verteilen können.

Die Bedingung On Idle ist recht selbsterklärend, die Bedingungen, was genau als Idle zu verstehen ist, können Sie im Tab Conditions definieren.

Etwas näher möchte ich hier auf die On an event Bedingung, auch „Eventtrigger“ genannt, eingehen. Hier können Sie eine bestimmte Aktion nach Auftreten eines bestimmten Events in einem bestimmten Log ausführen lassen. Ich denke hier wird deutlich, wie mächtig der Task-Scheduler eigentlich ist.

Ein denkbares Szenario wäre hier z.B. eine Anwendung oder ein Dienst, der sporadisch „hängen bleibt“ und dann teilweise erst nach Beschwerden von Benutzern durch manuelles Neustarten wieder in Funktion gebracht werden kann. Dies ist ein Szenario, welches Sie sonst nur mit weitaus mächtigeren Überwachungsprogrammen wie z.B. dem „System Center Operations Manager (SCOM) 2007 R2“ realisieren können.
Auch zur Diagnose von sehr selten auftretenden Störungen, welche immer mit einem bestimmten Event beginnen, kann diese Einstellung sehr hilfreich sein. Hierbei sind dann denkbare Aktionen z.B. das automatische Starten einen Netzwerktraces mit nmcap.exe (Komandozeilenvariante vom Network Monitor).

Auf dieser Seite möchte ich Ihren Fokus noch auf das Häkchen Stop task if it runs longer than: lenken. Diese Einstellung sollte wenn möglich immer verwendet werden, um eine unnötige Belastung des Rechners durch einen „hängenden“ Task zu vermeiden.

Auf den Tab Actions möchte ich nur kurz eingehen, da es hierzu relativ wenig zu sagen gibt. Wenn Sie hier mehrere Aktionen definieren, so werden diese in der angezeigten Reihenfolge von oben nach unten ausgeführt. Eine Aktion ist erst dann beendet, wenn der Prozess der gestarteten Aktion auch beendet wird.
Über die Aktion Send Email kann man sich einfach z.B. über auftretende Fehlerevents benachrichtigen lassen und sich z.B. sogar gleich ein Logfile als Attachment mitschicken lassen.

Als letzte Einstellung möchte ich noch das Häkchen Allow Task to be run on demand erwähnen. Wenn sich ein Task nicht manuell starten lässt, so ist meist diese Einstellung dafür verantwortlich, die beim Erstellen einen Task leicht übersehen werden kann.

In den nächsten Teilen möchte ich Ihnen anhand zweier Beispiele den Task-Scheduler und die oben erwähnten Optionen noch näherbringen.

Weiterführende Links:

Social Bookmarks:
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay
  • Live
  • Technorati
  • Twitter
Florian Raichle

Über Florian Raichle

Application Deployment, Server und Client Betriebssysteme, Netmon
Dieser Beitrag wurde unter Allgemein abgelegt und mit , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

4 Antworten auf Der Taskscheduler in Windows 7 bzw Server 2008R2

  1. Dieter Brugger sagt:

    Wir stellen gerade eine Anwendung von Win 2003 auf Win 2008 R2 Server um.
    Unser Problem: die Anwendung (ein Perl-Script greift auf eine Excel-Datei zu) läuft wenn sie aus einem DOS-Fenster interactiv gestartet wird. Wenn das Script aus dem Task Scheduler mit dem gleichen User-Account gestartet wird, erfolgt eine Fehlermeldung beim Zugriff auf die Excel-Applikation über Perl – WIN32::OLE Modul.
    Habe inzwischen schon diverse Möglichkeiten geprüft: ENV-Variablen sind in beiden Fällen gleich; in beiden Fällen werden die gleichen (32-bit) Anwendungen benutzt (geprüft über Task Manager). Die Privilegien für den User im Task Scheduler sind auf Highest eingestellt.
    Wo liegt der Unterschied beim Aufruf interactiv oder Aufruf per Scheduler?
    Hat jemand damit schon mal ein Problem gehabt.
    Bin für jeden Hinweis dankbar.
    Dieter

    • Florian Raichle sagt:

      Sehr geehrter Herr Brugger,
      leider ist mir das von Ihnen beschriebene Problem nicht bekannt. In diesem Fall kann ich sie leider nur auf die Microsoft Technet verweisen, speziell in diesem Fall auf den Artikel Troubleshooting Task Scheduler.
      Grüße aus Karlsruhe
      Florian Raichle

  2. Pingback: Automatisierter Shutdown mit Windows Bordmitteln | How the ESCde does IT

  3. Dieter Brugger sagt:

    Hallo,
    Für alle, die vielleicht auch mal auf dieses Problem stoßen; man muss folgendes Verzeichnis anlegen:
    c:\windows\syswow64\config\systemprofile\desktop
    und evtl. noch
    c:\windows\system32\config\systemprofile\desktop
    Gruß
    Dieter

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

*

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">