Tipps, Tricks & Tools für Systemdienste unter Windows 8.1

Alle Windows-Dienste managen

03.06.2015
Von  und
Frank-Michael Schlede arbeitet seit den achtziger Jahren in der IT und ist seit 1990 als Trainer und Fachjournalist tätig. Nach unterschiedlichen Tätigkeiten als Redakteur und Chefredakteur in verschiedenen Verlagen arbeitet er seit Ende 2009 als freier IT-Journalist für verschiedene Online- und Print-Publikationen. Er lebt und arbeitet in Pfaffenhofen an der Ilm.
Thomas Bär, der seit Ende der neunziger Jahre in der IT tätig ist, bringt weit reichende Erfahrungen bei der Einführung und Umsetzung von IT-Prozessen im Gesundheitswesen mit. Dieses in der Praxis gewonnene Wissen hat er seit Anfang 2000 in zahlreichen Publikationen als Fachjournalist in einer großen Zahl von Artikeln umgesetzt. Er lebt und arbeitet in Günzburg.

Kann wirklich Dienste "beseitigen": das Programm "sc"

Geht es dann darum, einen Dienst nicht nur zu deaktivieren, sondern ihn endgültig aus dem Windows-System zu entfernen, so muss das Kommandozeilenprogramm "sc" zum Einsatz kommen. Dieses Programm wird vom Microsoft als zentrale Schnittstelle zur Kommunikation mit dem Dienststeuerungs-Manager (der im Prinzip alle Dienste "unter sich hat") und den Diensten selbst bezeichnet. Ein einfacher Aufruf des Befehls zeigt dann auch eine sehr umfangreiche Liste mit Parametern und Möglichkeiten, die dieser Befehl zu bieten hat. Im Zusammenhang mit ungewollt auf dem System installierten Diensten ist es besonders interessant, dass dieses Programm einen Parameter "delete" aufweisen hat, mit dessen Hilfe die Entfernung des Dienstes möglich ist. Der grundsätzliche Aufruf sieht dabei folgendermaßen aus:

sc delete <Name des Dienstes>

Wichtiger Hinweis: Der Anwender muss in diesem Zusammenhang jedoch noch eine kleine Schwierigkeit bewältigen: Ein Dienst kann unter Windows durchaus unterschiedliche Namen haben und selbst die von uns vorgestellten Systemprogrammen zeigen zwar alle die gleichen Systemdienste an, sortieren sie aber nach anderen Kriterien. Während der Task-Manger die Namen der Prozesse unter "Name" auflistet, zeigt die Systemkonsole unter der Spalte "Name" die Beschreibung des Dienstes. Wer dieses Verhalten ausprobieren möchte, sollte einmal den "Gatewaydienst auf Anwendungsebene" in der Systemkonsole suchen, wo er unter diesem Namen auch zu finden ist. Im Task-Manager ist er dann aber in der Spalte "Name" unter "ALG" gelistet, was dem Namen des Programm "alg.exe" entspricht. "Gatewaydienst" findet sich im Task-Manger hingegen in der Spalte "Beschreibung".

Kann zu Verwirrungen führen: Zwar listen Task-Manager und Systemkonsole die gleichen Dienste auf, sortieren sie aber nach anderen Kriterien. Während der Task-Manger die Namen der Prozesse unter „Name“ auflistet, zeigt die Systemkonsole unter Name die Beschreibung des Dienstes an.
Kann zu Verwirrungen führen: Zwar listen Task-Manager und Systemkonsole die gleichen Dienste auf, sortieren sie aber nach anderen Kriterien. Während der Task-Manger die Namen der Prozesse unter „Name“ auflistet, zeigt die Systemkonsole unter Name die Beschreibung des Dienstes an.
Foto: Frank-Michael Schlede / Thomas Bär

Woher bekommt ein Anwender also den richtigen Namen des Dienstes, wenn er diesen mittels des Kommandos "sc" entfernen möchte? Dieser ist am einfachsten über die Konsole und das Eigenschaftenfenster des jeweiligen Dienstes auszumachen. Wir haben uns als ein Beispiel einen Dienst mit dem Namen "BotKind Service" ausgesucht, der durch eine Software, die bereits wieder deinstalliert wurde, auf eines unserer Testsysteme kam. Ein Blick in die Konsole und auf die Eigenschaften des Dienstes enthüllte, dass sein Dienstname "BotKindSyncService" lautet. Stellt sich dabei heraus, dass der Dienst noch aktiv ist, musste der Anwender ihn zunächst einmal stoppen.

Die sicherste Art, einen unerwünschten Dienst aus dem System zu löschen: Nach dem Stoppen des Dienstes, kann das Kommandozeilenprogramm „sc“ diese Aufgabe mit Administratorrechten ausführen.
Die sicherste Art, einen unerwünschten Dienst aus dem System zu löschen: Nach dem Stoppen des Dienstes, kann das Kommandozeilenprogramm „sc“ diese Aufgabe mit Administratorrechten ausführen.
Foto: Frank-Michael Schlede / Thomas Bär

Wichtig: Alle Zugriffe auf Dienst mit Hilfe des sc-Programms erfordern die Rechte eines Administrators. Die Eingabeaufforderung muss also durch einen Rechtsklick im Kontextmenü mit "Als Administrator ausführen" gestartet werden. Danach kann dann der entsprechende Aufruf gestartet werden:

sc stop BotKindSyncService

Danach kann dann der Aufruf folgen, der den Dienst aus dem System entfernt:

sc delete BotKindSyncService

Der Befehl meldet dann auch direkt zurück, dass der Dienst (service) erfolgreich gelöscht wurde. Davon kann sich der Anwender dann auch durch einen Blick in die Konsole überzeigen.

Natürlich können Anwender einen Dienst auch aus dem System löschen, in dem sie in die Registry eingreifen. Die Dienste finden sie unter folgendem Schlüssel:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

Dort ist dann nur jeweils der entsprechende Namen des Dienstes zu suchen und der Schlüssel zu löschen. Wir raten grundsätzlich von dieser Methode ab, da sie erwiesenermaßen auch zu instabilen Systemzuständen führen kann. (sh)