So kann man den Windows Dienst deinstallieren

Sind Sie auf eine Situation gestoßen, in der die Deinstallation einer Software ihren Dienst- oder Treibereintrag in der Registry belässt, und Windows versucht, sie bei jedem Start zu laden, schlägt fehl und protokolliert den Fehler bei jedem Start im Systemereignisprotokoll?

Dieser Beitrag erklärt Ihnen, wie Sie windows dienst deinstallieren können. Bevor Sie fortfahren, erstellen Sie einen Systemwiederherstellungspunkt und/oder eine vollständige Sicherung der Registry.

Wie kann man einen Dienst unter Windows löschen?

Wenn Sie feststellen, dass für einen Dienst keine Abhängigen existieren, können Sie mit einer der folgenden Methoden fortfahren, den verbleibenden oder unerwünschten Dienst in Windows zu löschen.

Methode 1: Löschen eines Dienstes mit dem Befehl SC.EXE

Mit dem SC-Befehlszeilentool unter Windows können Dienste erstellt, bearbeitet oder gelöscht werden. Um einen Dienst unter Windows zu löschen, verwenden Sie die folgende Befehlszeilensyntax aus der admin Eingabeaufforderung:

sc delete service_name löschen

Wenn sich service_name auf den Kurznamen oder den Schlüsselnamen des Dienstes bezieht, öffnen Sie die Dienste MMC und doppelklicken Sie auf einen Dienst, um den Kurznamen zu finden.

  • Beispiel 1: Der Kurzname für automatische Updates lautet wuauserv, und der Anzeigename lautet „Automatische Updates“.
  • Beispiel 2: Google Update Service (gupdate) ist der Anzeigename und gupdate ist der Kurzname.

Eine weitere Möglichkeit, den Kurznamen eines Dienstes zu finden, ist die Verwendung dieser Befehlszeile:

sc getkeyname „service display name“.
was in diesem Beispiel so ist:
sc getkeyname “ Google Update Service (gupdate) „.

Sobald der Kurzname des Dienstes mit einer der oben genannten Methoden erhalten wurde, verwenden Sie diesen Befehl, um den Dienst zu löschen:
sc löschtest
Du wirst die Ausgabe sehen: [SC] DeleteService SUCCESS erfolgreich

Dadurch wird der angegebene Dienst („test“ Dienst in diesem Beispiel) vom Computer gelöscht.
Wenn der Dienst ausgeführt wird oder ein anderer Prozess ein offenes Handle für den Dienst hat, wird der Dienst einfach zum Löschen markiert und beim nächsten Neustart entfernt.

Methode 2: Löschen eines Dienstes mit Autoruns aus Windows Sysinternals

Autoruns, von Microsoft Windows Sysinternals, ist ein unverzichtbares Werkzeug, mit dem Sie den Windows-Start, Dienste, Treiber, Winsock-Anbieter, Internet Explorer-Add-ons, Shell-Erweiterungen und vieles mehr verwalten können.

  • Autoruns herunterladen und ausführen
  • Aktivieren Sie auf der Registerkarte Optionen das Kontrollkästchen Microsoft-Einträge ausblenden, so dass nur die Einträge von Drittanbietern aufgelistet werden.
  • Drücken Sie F5, um die Liste zu aktualisieren.
  • Klicken Sie auf die Registerkarte Dienste, wo Sie die Dienste löschen können, die unerwünscht oder übrig geblieben sind.
    Schließen Sie die Autoruns.

Methode 3: Löschen eines Dienstes mit dem Registrierungseditor

Um einen Dienst manuell aus der Windows-Registrierung zu entfernen, führen Sie diese Schritte aus:

1. Starten Sie Regedit.exe und navigieren Sie zu dem folgenden Zweig:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
Registrierungsschlüssel für Dienste.
Jeder Unterschlüssel unter dem obigen Registrierungsschlüssel repräsentiert einen Treiber oder einen Dienst. Der Schlüsselname ist auch der Kurzname des Dienstes. Außerdem sollten Sie in der Lage sein, den Eintrag leicht zu identifizieren, indem Sie sich die Werte DisplayName und ImagePath im rechten Bereich des Registrierungseditors ansehen.
2. Suchen Sie den Eintrag, den Sie löschen möchten.
3. Sichern Sie den entsprechenden Schlüssel, indem Sie ihn in eine.reg-Datei exportieren.
4. Klicken Sie nach dem Export mit der rechten Maustaste auf den Schlüssel und wählen Sie Löschen.
5. Verlassen Sie den Registrierungseditor.
Methode 4: Löschen eines Dienstes mit PowerShell
Im PowerShell-Administratorfenster können Sie die folgenden Befehle verwenden, um einen Dienst zu löschen.
$service = Get-WmiObject -Class Win32_Service -Filter „Name=’servicename'““.
$service.delete()

Der Rückgabewert von 0 zeigt an, dass die Operation erfolgreich war. Der Dienst wird gelöscht und erscheint nun länger in der Dienste-MMC.
Um die Bedeutung für einen Rückgabewert zu erfahren, lesen Sie den Microsoft-Artikel Delete method of the Win32_Service class.

Oder Sie können den Befehl sc.exe in PowerShell ausführen. Das würde auch funktionieren. Sie müssen jedoch die Dateierweiterung (sc.exe) verwenden, wenn Sie sie in PowerShell ausführen. Dies liegt daran, dass der Befehl SC (ohne Erwähnung der Erweiterung.exe) als Set-Content interpretiert wird, das ein in PowerShell eingebautes Cmdlet ist.

Noch einfacher ist es, wenn Sie PowerShell 6.0 installiert haben. In PowerShell 6 und höher können Sie diese Syntax verwenden, um einen Dienst zu entfernen:

Dienst entfernen -Name ServiceName ServiceName
Das Ausführen des Befehls Remove-Service in älteren Versionen von PowerShell (<6.0) zeigt den Fehler an: Der Begriff „Remove-Service“ wird nicht als Name eines Cmdlets, einer Funktion, einer Skriptdatei oder eines funktionsfähigen Programms erkannt.