Automatisierter Shutdown mit Windows Bordmitteln

Wie bereits im ersten Teil dieses Blogs, Der Taskscheduler in Windows 7 bzw Server 2008R2, angekündigt, möchte ich Ihnen nun anhand einiger Beispiele den Taskscheduler näher bringen. Ich möchte mit einem Szenario beginnen, welches wohl in jedem Poolraum zu finden ist: Das automatische Herunterfahren mehrerer Rechner.

In unserem täglichen Support haben wir die Erfahrung gemacht, das hierfür oft Drittanbietertools verwendet werden, welche häufig zu Problemen führen können. Insbesondere bei Upgrades der Betriebssysteme ist die Kompatibilität solcher Produkte keineswegs immer gewährleistet.

Grundsätzlich bieten sich für diese Aufgabe zwei Lösungsansätze an:

  1. Auf einem Server wird über den Taskscheduler ein Skript ausgeführt, welches den Befehl shutdown /m \\computername ausführt
  2. Über GPO Preferences wird der Task auf die gewünschten Rechner verteilt und dort lokal ausgeführt

Der erstgenannte Ansatz ist zwar auf den ersten Blick leichter zu warten, bedingt aber, dass ständig eine Netzwerkverbindung zum Server besteht. Aus diesem Grund haben wir Admins vom ESCde uns für die zweite Lösung entschieden.

Zunächst benötigen wir einen Service Account, in dessen Kontext der Task ausgeführt werden soll. Generell gilt, dass die Berechtigungen, welche ein solcher Account erhält aus Sicherheitsgründen möglichst eng gefasst werden sollten. Es bietet sich aus Organisationsgründen an, eine eigene OU für Service Accounts zu erstellen. In dieser OU erstellen wir nun einen neuen Benutzer:

Nun erstellen wir eine neue Gruppenrichtlinie, zum Verteilen des Scheduled Tasks verwenden wir wie bereits erwähnt die Group Policy Preferences. Hierfür navigieren wir zu “Computer Configuration -> Preferences -> Control Panel Settings -> Scheduled Tasks”. In diesem Feld erstellen Sie über “Rechtsklick -> New -> Scheduled Task” einen neues Task. “Scheduled Task (Windows Vista and later)” erstellt einen Task, welcher nur unter Windows Vista / Server 2008 und neuer lauffähig ist, für detailliertere Informationen zu den Konfigurationsmöglichkeiten möchte ich auf den ersten Teil dieser Artikelserie “Der Taskscheduler in Windows 7 bzw Server 2008R2″ verweisen. Für unsere Zwecke genügt jedoch ein einfacher “Scheduled Task”, dieser ist auch unter Betriebssystemen die älter sind als Windows Vista / Server 2008 lauffähig.

Der Task führt in diesem Beispiel den Befehl shutdown /s /f /t 600 /c “Dieser Computer fährt in 10 min herunter” aus. Der Parameter /s definiert, dass es sich um einen Shutdown und nicht um einen Neustart (/r) oder einen Logoff (/l) handelt. Der Parameter /f erzwingt den Shutdown, eventuell noch geöffnete Programme werden geschlossen. Mit /t 600 wird die Zeit bis zum Herunterfahren in Sekunden angegeben, in unserem Fall 600s = 10 min. Mit /c “Nachricht” können Sie eine Meldung an den Benutzer senden, so dass dieser Zeit bekommt, seine Daten abzuspeichern. Unter “Run as” geben wir den zuvor erstellten Service Account und die entsprechenden Credentials ein.

Im Tab “Schedule” können Sie den Zeitpunkt nach ihren Wünschen einstellen.

Nun müssen wir noch dem Service-Account das Recht geben, die Computer herunterzufahren. Hierzu verwenden wir das “User Rights Assignment”. Sie finden dies unter “Computer Configuration -> Policies -> Security Settings -> Local Policies -> User Rights Assignment”. In dieser Rubrik müssen wir die Richtlinie “Shut down the system” und “Log on as a batch job” definieren. Wenn diese Richtlinien definiert werden, so werden die default Einstellungen überschrieben. Deswegen muss man darauf achten, die default-Einstellungen, welche imTab “Explain” aufgeführt sind, zusätzlich zum Service-Account hinzufügen:

Nun müssen wir die Gruppenrichtlinie noch auf die entsprechende OU verlinken. Nach einen Reboot, bei welchem die Computer-Gruppenrichtlinen angewandt werden, wird der Shutdown Task verteilt und die Rechner sollten zum gewünschten Zeitpunkt automatisch herunterfahren.

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.

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="">