:quality(80)/images.vogel.de/vogelonline/bdb/1779100/1779143/original.jpg)
Windows Tools, die man kennen sollte – Shutdown & PsShutdown Drei Arten, einen Windows-Computer richtig herunterzufahren
Mit diesen Microsoft-Tools kann ein Administrator einen Windows-basierenden Computer neu starten oder herunterfahren. Vorgestellt werden die bewährten Kommandozeilen-Tools „Shutdown“ und „PsShutdown“ sowie Befehle für die Powershell. Das Schöne an allen drei Arten ist, dass sie sich problemlos skripten lassen.
Firmen zum Thema

Der Kommandozeilenbefehl Shutdown.exe existiert seit Microsoft Windows XP und wurde im Laufe der Zeit immer wieder mit Optionen erweitert. Die Grundidee, einen Computer lokal oder remote neu zu starten ist dabei immer gleich geblieben.
Mit der Option /i (bei XP „-i“) gibt es sogar eine grafische Variante. Weitere Informationen zum Befehl gibt es unter „shutdown /?“ bzw. „shutdown -?“.
Syntax Windows 7:
shutdown [/i | /l | /s | /r | /g | /a | /p | /h | /e] [/f] [/m \\Computer][/t xxx][/d [p:]xx:yy [/c „Kommentar“]]
Syntax Windows XP:
shutdown [-i | -l | -s | -r | -a] [-f] [-m \\Computer] [-t xx]
Die wichtigsten Optionen lauten:
- /l für Logout (Abmelden)
- /s für Shutdown (Herunterfahren)
- /r für Reboot (Neustart)
- /h für Hibernate (Ruhezustand)
- /t für Time (Zeit)
- /m \\Computer legt den Remote-Server oder PC fest
Beispiel: Neustart in 10 Sekunden auf dem Server SRV01
Shutdown /m \\SRV01 /r /t 10
Die Verwendung von PsShutdown
PsShutdown ist ein Tool aus den Microsoft Sysinternals, welches ähnliche Optionen, wie der Befehl Shutdown verwendet. Von der Historie ist es sehr alt, was aber zum Vorteil hat, dass es auch für Windows NT und Windows 2000 funktioniert.
Syntax:
psshutdown [\\computer[,computer[,...] | @file [-u username [-p password]]] -s|-r|-h|-d|-k|-a|-l|-o [-f] [-c] [-n s] [-t nn|h:m] [-e [u|p]:xx:yy] [-m „message“]
Die Verwendung der Powershell
Wenn eine Windows Powershell zur Verfügung steht, dann können entweder alte Kommandozeilenbefehle, wie shutdown.exe oder neue Powershell-Methoden verwendet werden. Zum Einsatz kommt hierbei die Methode Win32Shutdown aus der WMI Klasse Win32_OpteratingSystem. Nicht zu vergessen ist, dass man die Powershell explizit als Administrator starten muss. Dies kann man am einfachsten mit der Hochstelltaste + rechte Maustaste bewirken.
Syntax:
(Get-WmiObject -Class Win32_OperatingSystem -ComputerName
Folgende Flags sind erlaubt:
- 0: Abmelden
- 1: Herunterfahren
- 2: Neustart
- 4: Beschleunigtes (Force) Abmelden
- 5: Beschleunigtes (Force) Herunterfahren
- 6: Beschleunigtes (Force) Neustarten
- 8: Abschalten
- 12: Beschleunigtes Abschalten
Beispiele:
1. Fährt den eigenen Computer herunter (gwmi ist Kurzversion)
(gwmi Win32_OperatingSystem).Win32Shutdown(1)
2. Bootet einen Remote-Server SRV01
(gwmi win32_operatingsystem -ComputerName SRV01).Win32Shutdown(6)
3. Eine weitere schöne Lösung kann man am Beispiel Neustart wie folgt herstellen (siehe Abbildung 4). ComputerObj ist ein beliebiger Containername.
$ComputerObj = gwmi win32_operatingsystem -computer
4. Am Beispiel 3 kann man sehr gut weiterarbeiten und weitere Ideen entwickeln. Möchte man wissen, was in dem Container $ComputerObj enthalten ist, benötigt man das PSBase Objekt. Die Eigenschaft „scope“ führt zu weiteren Optionen:
$ComputerObj.psbase.scope.options | get-member
Aus diesen Informationen heraus findet sich eine Lösung, woraus sich die Boot-Privilegien auslesen oder verändern lassen. Folgender Befehl ist demnach möglich, aber aus Sicherheitsgründen gründlich zu überlegen (Erlaubnis, die Bootprivilegien zu ändern?)!
$ComputerObj = gwmi win32_operatingsystem -computer
Fazit
In der Praxis eines Administrators sind Skripte nicht mehr wegzudenken. Alle drei Methoden erfüllen diesen Zweck, wobei die moderne Powershell wesentlich mehr Möglichkeiten, als ihr Vorgänger bietet.
(ID:2052390)