Deaktivieren Sie einen Windows-Dienst über die Befehlszeile

55

Ich möchte einen Windows-Dienst deaktivieren, aber nicht:

  1. Öffnen Sie die Verwaltungskonsole "Dienste"
  2. Blättern Sie zum Namen des Dienstes
  3. Klicken Sie mit der rechten Maustaste auf Eigenschaften (oder doppelklicken Sie auf).
  4. Ändern Sie den Starttyp: in deaktiviert
  5. Anwenden
  6. Klicken Sie auf "Stop"

Ich möchte keinen Windows-Dienst entfernen, sondern ihn einfach deaktivieren.

Kevin Driedger
quelle
1
services.msc, geben Sie den Namen des Dienstes ein, klicken Sie mit der rechten Maustaste auf die Menütaste, drücken Sie die Taste, um Stopp auszuwählen, und drücken Sie die Eingabetaste.
Tamara Wijsman
5
Kein Duplikat, da OP beabsichtigt, den automatischen Start zu stoppen und zu deaktivieren
Alfabravo
1
@ TomWijsman in der Regel bedeutet man keine Maus, wenn Sie "Befehlszeile" angeben, daher das Navigieren der GUI von der Tastatur nicht meine Frage beantworten
Kevin Driedger
1
@ KevinDriedger: Ich habe einen Weg vorgeschlagen, um die Schritte zu verkürzen, nimmt weniger Schlüssel als die Antworten.
Tamara Wijsman

Antworten:

93
sc config "Name of Service" start= disabled
sc stop "Name of Service"

Das Leerzeichen nach dem " start=" ist wichtig

Sie können den Dienstnamen anzeigen, indem Sie auf dem Bildschirm Dienste auf einen Dienst doppelklicken:

Dienstname

Kevin Driedger
quelle
12

Zusätzlich zu Kevins Antwort können Sie auch verwenden, wenn Sie mehr als einen Dienst steuern oder diese nach bestimmten Kriterien auswählen müssen wmic. Einfache Verwendung, um nur 1 Dienst zu stoppen (Sqlwriter in meinem Beispiel) wäre:
wmic service where name='SQLWriter' call ChangeStartmode Disabled

Das Tool ist jedoch viel leistungsfähiger. Beispielsweise können Sie den deaktivierten Modus für alle Dienste festlegen, deren Beschriftung mit SQL beginnt und die noch nicht deaktiviert sind.

wmic service where "caption like 'SQL%' and  Startmode<>'Disabled'" call ChangeStartmode Disabled
wmz
quelle
11

SC STOP "<nameservice>"

SC CONFIG "<nameservice>" START=( BOOT, oder SYSTEM, oder AUTO, oder DEMAND, oder DISABLED, oder DELAYED-AUTO)

Link: Sc Konfig

Marc
quelle
4
Wie unterscheidet sich dies von der am höchsten bewerteten Antwort vor fünf Jahren?
Greenonline
4
@ Greenonline: Eigentlich ist es anders, Marc hat eine vollständige Argumentliste und den Link zur Hilfeseite bereitgestellt. Stimmen Sie nicht über nützliche Dinge ab.
SoLaR
-2

Zitat aus KB248660 :

Das Dienstprogramm "Reg.exe" aus dem Microsoft Windows NT Resource Kit muss auf Ihrem Computer installiert sein.

Geben Sie an der Eingabeaufforderung Folgendes ein, um den Startwert für einen Dienst auf einem lokalen Computer über die Befehlszeile zu ändern, und drücken Sie anschließend die [EINGABETASTE]: REG UPDATE HKLM \ SYSTEM \ CurrentControlSet \ Services \ Servicename \ Start = X wobei Servicename der Name ist des Dienstes, wie er in der Registrierung angezeigt wird, und X ist entweder eine 2, eine 3 oder eine 4 (für den automatischen Start, den manuellen Start bzw. die Deaktivierung).

Geben Sie an der Eingabeaufforderung Folgendes ein, um den Startwert für einen Dienst auf einem Remotecomputer über die Befehlszeile lokal zu ändern, und drücken Sie die [EINGABETASTE]: REG UPDATE HKLM \ SYSTEM \ CurrentControlSet \ Services \ Servicename \ Start = X \ Servicename Der Name des Dienstes, wie er in der Registrierung angezeigt wird, ist X entweder eine 2, eine 3 oder eine 4 (für den automatischen Start, den manuellen Start bzw. die Deaktivierung), und der Servername ist der Name des Remoteservers.

Zeigen Sie den folgenden Registrierungsschlüssel an, um zu sehen, wie der Dienstname in der Registrierung angezeigt wird: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \

verdammt
quelle
Schlechte Idee. Sie können den Dienst mit dem REG-Dienstprogramm deaktivieren, der Dienstmanager wird jedoch nicht aktualisiert. Der Dienst kann weiterhin vom Dienstmanager ausgeführt werden, bis der Dienstmanager die interne Liste aktualisiert. In diesem Moment wurde er getestet und der Dienst wird weiterhin mit dem deaktivierten Flag == Gestartet (deaktiviert) gestartet.
SoLaR