Windows-7-Dienste

Windows-7-Dienste verstehen und aufräumen

23.07.2012
Von Mike Hartmann und
Moritz Jäger ist freier Autor und Journalist in München. Ihn faszinieren besonders die Themen IT-Sicherheit, Mobile und die aufstrebende Maker-Kultur rund um 3D-Druck und selbst basteln. Wenn er nicht gerade für Computerwoche, TecChannel, Heise oder ZDNet.com schreibt, findet man ihn wahlweise versunken in den Tiefen des Internets, in einem der Biergärten seiner Heimatstadt München, mit einem guten (e-)Buch in der Hand oder auf Reisen durch die Weltgeschichte.

Rechte-Probleme

Zum Starten eines Dienstes benötigt man keine besonderen Rechte, da ansonsten das Prozedere mit Diensten die auf den Starttyp „Manuell“ gesetzt sind, nicht funktionieren würde. Das Stoppen von Diensten ist dagegen nur mit erweiterten Rechten möglich. Nun könnte man also den gesamten Batch per „Als Administrator ausführen“ starten. Das ist aber unerwünscht, da dadurch auch das Programm mit erweiterten Rechten ausgeführt würde. Hier helfen die Script-Elevation-Power-Toys von Microsoft TechNet. Seit Vista wurden die Toys deutlich weiterentwickelt, für Windows 7 benötigen Sie daher eine aktuelle Version. Im dazu passenden Technet-Blog finden Sie weitere Informationen.

Die Script Elevation Power Toys bringen das aus Linux bekannte Sudo-Prinzip auf die Windows-Kommandozeile. Mit dem Befehl elevate kann man die Rechte der nachfolgenden Aktion anheben, und so bestimmte Aufgaben auch als Nicht-Admin durchführen. Ein Beispiel wäre das Script elevate net stop p2pimsvc. Solle in Dienst gestoppt werden, frägt Windows explizit nach. Würden wir also jeden Dienst einzeln per elevate stoppen, hätte das einen Haufen solcher Dialoge zur Folge. Darum fassen wir die beiden Punkte „Benötigte Dienste starten/Ungewollte stoppen“ und „Ungewollte Dienste wieder stoppen/Benötigte wieder starten“ in jeweils eigenen Batch-Dateien zusammen:

elevate svcprep.cmd
REM Gewünschtes Programm starten
elevate svcclean.cmd

Dadurch kommt der Dialog nur zweimal auf. Das Verfahren hat noch einen weiteren Vorteil: svcprep.cmd und svcclean.cmd lassen sich mehrfach verwenden. Die Dateien bestehen lediglich aus einer Reihe von net start und net stop Anweisungen.