Kommuniziert mit dem Dienstcontroller und installierten Diensten. SC.exe ruft Steuerungsinformationen zu Diensten ab und legt sie fest. Sie können SC.exe zum Testen und Debuggen von Dienstprogrammen verwenden. Es kann festgelegt werden, dass die in der Registrierung festgelegten Diensteigenschaften steuern, wie Dienstanwendungen beim Start gestartet und als Hintergrundprozesse ausgeführt werden. Die Parameter von SC.exe können einen bestimmten Dienst konfigurieren, den aktuellen Status eines Dienstes abrufen sowie einen Dienst beenden und starten. Sie können Batchdateien erstellen, die verschiedene Befehle von SC.exe aufrufen, um die Reihenfolge von Diensten beim Start oder beim Herunterfahren zu automatisieren. SC.exe bietet ähnliche Funktionen wie Dienste im Element Verwaltung in der Systemsteuerung.
sc boot
Gibt an, ob der letzte Start als die letzte als funktionierend bekannte Konfiguration gespeichert werden soll.
Syntax
Sc [Servername] boot [{bad | OK}]
Parameter
- Servername
-
Gibt den Namen des Remoteservers an, auf dem sich der Dienst befindet. Für den Namen muss das UNC-Format verwendet werden (\\meinServer). Um SC.exe lokal auszuführen, ignorieren Sie diesen Parameter.
- [{bad | OK}]
-
Gibt an, ob der letzte Start fehlerhaft war oder ob er als die letzte als funktionierend bekannte Startkonfiguration gespeichert werden soll.
- /?
-
Zeigt Hilfe an der Eingabeaufforderung an.
Beispiele
Die folgenden Beispiele zeigen Verwendungsmöglichkeiten für den Befehl sc boot:
sc boot ok
sc boot bad
sc config
Ändert den Wert der Einträge eines Dienstes in der Registrierung und in der Datenbank des Dienststeuerungs-Managers.
Syntax
Sc [Servername] config [Dienstname] [type= {own | share | kernel | filesys | rec | adapt | interacttype= {own | share}}] [start= {boot | system | auto | demand | disabled}] [error= {normal | severe | critical | ignore}] [binpath= Binärdateipfad] [group= Ladegruppe] [tag= {yes | no}] [depend= Abhängigkeiten] [obj= {Kontoname | Objektname}] [displayname= Anzeigename] [password= Kennwort]
Parameter
- Servername
-
Gibt den Namen des Remoteservers an, auf dem sich der Dienst befindet. Für den Namen muss das UNC-Format verwendet werden (\\meinServer). Um SC.exe lokal auszuführen, ignorieren Sie diesen Parameter.
- Dienstname
-
Gibt den durch den Vorgang getkeyname zurückgegebenen Dienstnamen an.
- type= {own | share | kernel | filesys | rec | adapt | interacttype= {own | share}}
-
Bezeichnet den Diensttyp.
|
Wert
|
Beschreibung
|
|---|
own | Der Dienst führt seinen eigenen Prozess aus. Er verwendet nicht dieselbe ausführbare Datei wie ein anderer Dienst. Dies ist die Standardeinstellung. |
share | Dieser Dienst wird als gemeinsam genutzter Prozess ausgeführt. Er verwendet eine ausführbare Datei gemeinsam mit anderen Diensten. |
kernel | Treiber. |
filesys | Dateisystemtreiber. |
rec | Vom Dateisystem erkannter Treiber (identifiziert auf dem Computer verwendete Dateisysteme). |
adapt | Adaptertreiber (identifiziert Hardwareelemente wie beispielsweise Tastatur, Maus und Diskettenlaufwerk). |
interact | Der Dienst kann mit dem Desktop interagieren und Eingaben von Benutzern empfangen. Interaktive Dienste müssen unter dem Konto LocalSystem ausgeführt werden. Dieser Typ muss in Verbindung mit type= own oder type= shared verwendet werden (beispielsweise type= interact type= own). Wenn Sie nur type= interact verwenden, wird ein Fehler aufgrund eines ungültigen Parameters generiert. |
- start= {boot|system|auto|demand|disabled}
-
Gibt den Starttyp für den Dienst an.
|
Wert
|
Beschreibung
|
|---|
boot | Ein Gerätetreiber, der vom Startladeprogramm geladen wird. |
system | Ein Gerätetreiber, der während der Kernelinitialisierung gestartet wird. |
auto | Ein Dienst, der jedes Mal automatisch ausgeführt wird, wenn der Computer gestartet wird, und sogar dann ausgeführt wird, wenn sich kein Benutzer am Computer anmeldet. |
demand | Ein Dienst, der manuell gestartet werden muss. Dies ist der Standardwert, wenn start= nicht angegeben wird. |
disabled | Ein Dienst, der nicht gestartet werden kann. Um einen deaktivierten Dienst zu starten, legen Sie für den Starttyp einen anderen Wert fest. |
- error= {normal|severe|critical|ignore}
-
Gibt den Schweregrad des Fehlers an, falls der Dienst beim Starten des Computers nicht gestartet werden kann.
|
Wert
|
Beschreibung
|
|---|
normal | Der Fehler wird protokolliert, und der Benutzer wird in einem Meldungsfeld informiert, dass ein Dienst nicht gestartet werden konnte. Der Startvorgang wird fortgesetzt. Dies ist die Standardeinstellung. |
severe | Der Fehler wird protokolliert (sofern möglich). Der Computer versucht, mit der letzten als funktionierend bekannten Konfiguration neu zu starten. Dies könnte bedeuten, dass zwar der Computer gestartet werden kann, aber der Dienst weiterhin nicht ausgeführt werden kann. |
critical | Der Fehler wird protokolliert (sofern möglich). Der Computer versucht, mit der letzten als funktionierend bekannten Konfiguration neu zu starten. Wenn die letzte als funktionierend bekannte Konfiguration fehlschlägt, schlägt auch der Startvorgang fehl, und der Bootvorgang wird mit einem Abbruchfehler unterbrochen. |
ignore | Der Fehler wird protokolliert, und der Startvorgang wird fortgesetzt. Der Benutzer erhält keine Benachrichtigung, und der Fehler wird lediglich im Ereignisprotokoll aufgezeichnet. |
- binpath=Binärdateipfad
-
Gibt den Pfad zur Binärdatei des Dienstes an.
- group=Ladegruppe
-
Gibt den Namen der Gruppe an, der dieser Dienst angehört. Die Liste mit den Gruppen wird in der Registrierung im Unterschlüssel HKLM\System\CurrentControlSet\Control\ServiceGroupOrder gespeichert. Der Standardwert ist 0.
- tag= {yes | no}
-
Gibt an, ob vom CreateService-Aufruf eine Tagkennung abgerufen werden soll. Tags werden nur für Boot- und Systemstarttreiber verwendet.
- depend= Abhängigkeiten
-
Gibt die Namen der Dienste oder Gruppen an, die vor diesem Dienst starten müssen. Die Namen sind durch Schrägstriche (/) getrennt.
- obj= {Kontoname | Objektname}
-
Gibt den Namen eines Kontos an, unter dem ein Dienst ausgeführt wird, oder aber den Namen des Windows-Treiberobjekts, in dem der Treiber ausgeführt wird. Die Standardeinstellung ist LocalSystem.
- displayname=Anzeigename
-
Gibt einen angezeigten aussagekräftigen Namen an, der in Benutzeroberflächenprogrammen zum Identifizieren des Dienstes gegenüber Benutzern verwendet werden kann. Beispielsweise lautet der Unterschlüsselname eines Dienstes wuauserv, was dem Benutzer nicht hilft, und der Anzeigename lautet Automatische Updates.
- password=Kennwort
-
Gibt ein Kennwort an. Dies ist erforderlich, wenn ein anderes Konto als LocalSystem verwendet wird.
- /?
-
Zeigt Hilfe an der Eingabeaufforderung an.
Hinweise
-
Ohne ein Leerzeichen zwischen einem Parameter und dessen Wert schlägt der Vorgang fehl (beispielsweise type= own, nicht type=own).
Beispiele
Die folgenden Beispiele zeigen Verwendungsmöglichkeiten für den Befehl sc config:
sc config NewService binpath= "ntsd -d c:\windows\system32\NewServ.exe"
sc continue
Sendet eine CONTINUE-Steuerungsanforderung an einen Dienst, um einen angehaltenen Dienst fortzusetzen.
Syntax
Sc [Servername] continue [Dienstname]
Parameter
- Servername
-
Gibt den Namen des Remoteservers an, auf dem sich der Dienst befindet. Der Name muss im UNC-Format (\\MeinServer) angegeben werden. Um SC.exe lokal auszuführen, ignorieren Sie diesen Parameter.
- Dienstname
-
Gibt den durch den Vorgang getkeyname zurückgegebenen Dienstnamen an.
- /?
-
Zeigt Hilfe an der Eingabeaufforderung an.
Hinweise
-
Verwenden Sie den Vorgang continue, um einen angehaltenen Dienst fortzusetzen.
Beispiele
Das folgende Beispiel zeigt Verwendungsmöglichkeiten für den Befehl sc continue:
sc continue tapisrv
sc control
Sendet einen Befehl CONTROL B an einen Dienst.
Syntax
sc [Servername] control [Dienstname] [{paramchange | netbindadd | netbindremove | netbindenable | netbinddisable | ControlB_benutzerdefiniert}]
Parameter
- Servername
-
Gibt den Namen des Remoteservers an, auf dem sich der Dienst befindet. Der Name muss im UNC-Format (\\MeinServer) angegeben werden. Um SC.exe lokal auszuführen, ignorieren Sie diesen Parameter.
- Dienstname
-
Gibt den durch den Vorgang getkeyname zurückgegebenen Dienstnamen an.
- {paramchange|netbindadd|netbindremove|netbindenable|netbinddisable|ControlB_benutzerdefiniert}
-
Gibt ein an einen Dienst zu sendendes Steuerelement an.
- /?
-
Zeigt Hilfe an der Eingabeaufforderung an.
sc create
Erstellt einen Unterschlüssel und Einträge für den Dienst in der Registrierung und in der Datenbank des Dienststeuerungs-Managers.
Syntax
Sc [Servername] create [Dienstname] [type= {own | share | kernel | filesys | rec | adapt | interacttype= {own | share}}] [start= {boot | system | auto | demand | disabled}] [error= {normal | severe | critical | ignore}] [binpath= Binärdateipfad] [group= Ladegruppe] [tag= {yes | no}] [depend= Abhängigkeiten] [obj= {Kontoname | Objektname}] [displayname= Anzeigename] [password= Kennwort]
Parameter
- Servername
-
Gibt den Namen des Remoteservers an, auf dem sich der Dienst befindet. Der Name muss im UNC-Format (\\MeinServer) angegeben werden. Um SC.exe lokal auszuführen, ignorieren Sie diesen Parameter.
- Dienstname
-
Gibt den durch den Vorgang getkeyname zurückgegebenen Dienstnamen an.
- type= {own | share | kernel | filesys | rec | adapt | interacttype= {own | share}}
-
Bezeichnet den Diensttyp. Die Standardeinstellung ist type= own.
|
Wert
|
Beschreibung
|
|---|
own | Der Dienst führt seinen eigenen Prozess aus. Er verwendet nicht dieselbe ausführbare Datei wie ein anderer Dienst. Dies ist die Standardeinstellung. |
share | Dieser Dienst wird als gemeinsam genutzter Prozess ausgeführt. Er verwendet eine ausführbare Datei gemeinsam mit anderen Diensten. |
kernel | Treiber. |
filesys | Dateisystemtreiber. |
rec | Vom Dateisystem erkannter Treiber (identifiziert auf dem Computer verwendete Dateisysteme). |
interact | Der Dienst kann mit dem Desktop interagieren und Eingaben von Benutzern empfangen. Interaktive Dienste müssen unter dem Konto LocalSystem ausgeführt werden. Dieser Typ muss in Verbindung mit type= own oder type= shared verwendet werden (beispielsweise type= interact type= own). Wenn Sie nur type= interact verwenden, wird ein Fehler aufgrund eines ungültigen Parameters generiert. |
- start= {boot|system|auto|demand|disabled}
-
Gibt den Starttyp für den Dienst an. Die Standardeinstellung für den Start ist start= demand.
boot | Ein Gerätetreiber, der vom Startladeprogramm geladen wird. |
system | Ein Gerätetreiber, der während der Kernelinitialisierung gestartet wird. |
auto | Ein Dienst, der jedes Mal automatisch ausgeführt wird, wenn der Computer gestartet wird, und sogar dann ausgeführt wird, wenn sich kein Benutzer am Computer anmeldet. |
demand | Ein Dienst, der manuell gestartet werden muss. Dies ist der Standardwert, wenn start= nicht angegeben wird. |
disabled | Ein Dienst, der nicht gestartet werden kann. Um einen deaktivierten Dienst zu starten, legen Sie für den Starttyp einen anderen Wert fest. |
- error= {normal|severe|critical|ignore}
-
Gibt den Schweregrad des Fehlers an, falls der Dienst beim Starten des Computers nicht gestartet werden kann. Die Standardeinstellung ist error= normal.
normal | Der Fehler wird protokolliert, und der Benutzer wird in einem Meldungsfeld informiert, dass ein Dienst nicht gestartet werden konnte. Der Startvorgang wird fortgesetzt. Dies ist die Standardeinstellung. |
severe | Der Fehler wird protokolliert (sofern möglich). Der Computer versucht, mit der letzten als funktionierend bekannten Konfiguration neu zu starten. Dies könnte bedeuten, dass zwar der Computer gestartet werden kann, aber der Dienst weiterhin nicht ausgeführt werden kann. |
critical | Der Fehler wird protokolliert (sofern möglich). Der Computer versucht, mit der letzten als funktionierend bekannten Konfiguration neu zu starten. Wenn die letzte als funktionierend bekannte Konfiguration fehlschlägt, schlägt auch der Startvorgang fehl, und der Bootvorgang wird mit einem Abbruchfehler unterbrochen. |
ignore | Der Fehler wird protokolliert, und der Startvorgang wird fortgesetzt. Der Benutzer erhält keine Benachrichtigung, und der Fehler wird lediglich im Ereignisprotokoll aufgezeichnet. |
- binpath=Binärdateipfad
-
Gibt den Pfad zur Binärdatei des Dienstes an. Es gibt keine Standardeinstellung für binpath=, und diese Zeichenfolge muss angegeben werden.
- group=Ladegruppe
-
Gibt den Namen der Gruppe an, der dieser Dienst angehört. Die Liste mit den Gruppen wird in der Registrierung im Unterschlüssel HKLM\System\CurrentControlSet\Control\ServiceGroupOrder gespeichert. Der Standardwert ist 0.
- tag= {yes | no}
-
Gibt an, ob vom CreateService-Aufruf eine Tagkennung abgerufen werden soll. Tags werden nur für Boot- und Systemstarttreiber verwendet.
- depend=Abhängigkeiten
-
Gibt die Namen der Dienste oder Gruppen an, die vor diesem Dienst starten müssen. Die Namen sind durch Schrägstriche (/) getrennt.
- obj= {Kontoname | Objektname}
-
Gibt den Namen eines Kontos an, unter dem ein Dienst ausgeführt wird, oder aber den Namen des Windows-Treiberobjekts, in dem der Treiber ausgeführt wird.
- displayname=Anzeigename
-
Gibt einen angezeigten Namen an, der in Benutzeroberflächenprogrammen zum Identifizieren des Dienstes verwendet werden kann.
- password=Kennwort
-
Gibt ein Kennwort an. Dies ist erforderlich, wenn ein anderes Konto als LocalSystem verwendet wird.
- /?
-
Zeigt Hilfe an der Eingabeaufforderung an.
Hinweise
-
Ohne ein Leerzeichen zwischen einem Parameter und dessen Wert schlägt der Vorgang fehl (beispielsweise type= own, nicht type=own).
Beispiele
Die folgenden Beispiele zeigen Verwendungsmöglichkeiten für den Befehl sc create:
sc \\myserver create NewService binpath= c:\windows\system32\NewServ.exe
sc create NewService binpath= c:\windows\system32\NewServ.exe type= share start= auto depend= "+TDI Netbios"
sc delete
Löscht einen Dienstunterschlüssel aus der Registrierung. Wenn der Dienst ausgeführt wird oder ein anderer Prozess ein Handle für den Dienst geöffnet hat, wird der Dienst zum Löschen gekennzeichnet.
Syntax
Sc [Servername] delete [Dienstname]
Parameter
- Servername
-
Gibt den Namen des Remoteservers an, auf dem sich der Dienst befindet. Der Name muss im UNC-Format (\\MeinServer) angegeben werden. Um SC.exe lokal auszuführen, ignorieren Sie diesen Parameter.
- Dienstname
-
Gibt den durch den Vorgang getkeyname zurückgegebenen Dienstnamen an.
- /?
-
Zeigt Hilfe an der Eingabeaufforderung an.
Hinweise
-
Verwenden Sie Software, um DHCP, DNS oder andere integrierte Betriebssystemdienste zu löschen. Software löscht nicht nur den Registrierungsunterschlüssel für den Dienst, sondern deinstalliert auch den Dienst und löscht alle Verknüpfungen damit.
Beispiele
Das folgende Beispiel zeigt Verwendungsmöglichkeiten für den Befehl sc delete:
sc delete newserv
sc description
Legt die Beschreibungszeichenfolge für einen Dienst fest.
Syntax
Sc [Servername] description [Dienstname] [Beschreibung]
Parameter
- Servername
-
Gibt den Namen des Remoteservers an, auf dem sich der Dienst befindet. Der Name muss im UNC-Format (\\MeinServer) angegeben werden. Um SC.exe lokal auszuführen, ignorieren Sie diesen Parameter.
- Dienstname
-
Gibt den durch den Vorgang getkeyname zurückgegebenen Dienstnamen an.
- Beschreibung
-
Gibt eine Beschreibung für den angegebenen Dienst an. Wenn keine Zeichenfolge angegeben wird, wird die Beschreibung des Dienstes nicht geändert. Eine Einschränkung der Anzahl der Zeichen, die in der Dienstbeschreibung enthalten sein können, ist nicht gegeben.
- /?
-
Zeigt Hilfe an der Eingabeaufforderung an.
Beispiele
Das folgende Beispiel zeigt Verwendungsmöglichkeiten für den Befehl sc description:
sc description newserv "Führt QofS-Steuerung aus."
sc enumdepend
Listet die Dienste auf, die nur ausgeführt werden können, wenn der angegebene Dienst ausgeführt wird.
Syntax
Sc [Servername] enumdepend [Dienstname] [Puffergröße]
Parameter
- Servername
-
Gibt den Namen des Remoteservers an, auf dem sich der Dienst befindet. Der Name muss im UNC-Format (\\MeinServer) angegeben werden. Um SC.exe lokal auszuführen, ignorieren Sie diesen Parameter.
- Dienstname
-
Gibt den durch den Vorgang getkeyname zurückgegebenen Dienstnamen an.
- Puffergröße
-
Gibt die Größe des Aufzählungspuffers (in Byte) an. Als Standardwert gilt 1024 Byte.
- /?
-
Zeigt Hilfe an der Eingabeaufforderung an.
Hinweise
-
Wenn der Puffer nicht groß genug ist, gibt der Vorgang enumdepend Abhängigkeiten nur teilweise aus und gibt die zusätzliche erforderliche Puffergröße an, um alle Abhängigkeiten auszugeben. Wenn die Ausgabe abgeschnitten ist, führen Sie den Vorgang erneut aus, und geben Sie die größere Puffergröße an.
Beispiele
Die folgenden Beispiele zeigen Verwendungsmöglichkeiten für den Befehl sc enumdepend:
sc enumdepend rpcss 5690
sc enumdepend tapisrv
sc failure
Gibt an, welche Aktion bei einem Dienstfehler durchzuführen ist.
Syntax
Sc [Servername] failure [Dienstname] [reset= Fehlerfreier_Zeitraum] [reboot= Broadcastmeldung] [command= Befehlszeile] [actions= Fehlervorgänge_und_Verzögerungszeit]
Parameter
- Servername
-
Gibt den Namen des Remoteservers an, auf dem sich der Dienst befindet. Der Name muss im UNC-Format (\\MeinServer) angegeben werden. Um SC.exe lokal auszuführen, ignorieren Sie diesen Parameter.
- Dienstname
-
Gibt den durch den Vorgang getkeyname zurückgegebenen Dienstnamen an.
- reset=Fehlerfreier_Zeitraum
-
Gibt die Länge des Zeitraums ohne Fehler (in Sekunden) an. Danach sollte der Fehlerzähler auf 0 zurückgesetzt werden. Dieser Parameter muss in Verbindung mit dem Parameter actions= verwendet werden.
- reboot=Broadcastmeldung
-
Gibt die Meldung an, die beim Ausfall des Dienstes zu senden ist.
- command=Befehlszeile
-
Gibt die Befehlszeile an, die bei einem Dienstfehler auszuführen ist. Weitere Informationen zum Ausführen einer Batch- oder VBS-Datei bei einem Fehler finden Sie unter "Hinweise".
- actions=Fehlervorgänge_und_Verzögerungszeit
-
Gibt die Fehlervorgänge und ihre Verzögerungszeit (in Millisekunden) durch einen Schrägstrich (/) getrennt an. Gültige Vorgänge sind z. B.: run, restart und reboot. Dieser Parameter muss in Verbindung mit dem Parameter reset= verwendet werden. Verwenden Sie actions= "", um bei einem Ausfall keine Aktion auszuführen.
- /?
-
Zeigt Hilfe an der Eingabeaufforderung an.
Hinweise
-
Nicht alle Dienste lassen Änderungen an ihren Fehleroptionen zu. Manche werden als Teil einer Dienstgruppe ausgeführt.
-
Geben Sie cmd.exeLaufwerk:\Dateiname.bat für den Parameter command= an, wobei Laufwerk:\Dateiname.bat der vollqualifizierte Name der Batchdatei ist, um bei einem Fehler eine Batchdatei auszuführen.
-
Geben Sie CScript_Laufwerk:\MeinSkript.vbs für den Parameter command= an, wobei Laufwerk:\MeinSkript.vbs der vollqualifizierte Name der Skriptdatei ist, um nach einem Fehler eine VBS-Datei auszuführen.
-
Es können drei verschiedene Aktionen für den Parameter actions= angegeben werden, die beim ersten, zweiten und dritten Fehler eines Dienstes verwendet werden.
-
Ohne ein Leerzeichen zwischen einem Parameter und dessen Wert schlägt der Vorgang fehl (beispielsweise type= own, nicht type=own).
Beispiele
Die folgenden Beispiele zeigen Verwendungsmöglichkeiten für den Befehl sc failure:
sc failure msftpsvc reset= 30 actions= restart/5000
sc failure dfs reset= 60 command= c:\windows\services\restart_dfs.exe actions= run/5000
sc failure dfs reset= 60 actions= reboot/30000
sc failure dfs reset= 60 reboot= "Beim DFS-Dienst ist ein Fehler aufgetreten. Der Computer wird daher in 30 Sekunden neugestartet." actions= reboot/30000
sc failure myservice reset= 3600 reboot= "MyService crashed -- rebooting machine" command= "%windir%\MyServiceRecovery.exe" actions= restart/5000/run/10000/reboot/60000
sc getdisplayname
Ruft den einem bestimmten Dienst zugeordneten Anzeigenamen ab.
Syntax
Sc [Servername] getdisplayname [Dienstname] [Puffergröße]
Parameter
- Servername
-
Gibt den Namen des Remoteservers an, auf dem sich der Dienst befindet. Der Name muss im UNC-Format (\\MeinServer) angegeben werden. Um SC.exe lokal auszuführen, ignorieren Sie diesen Parameter.
- Dienstname
-
Gibt den durch den Vorgang getkeyname zurückgegebenen Dienstnamen an.
- Puffergröße
-
Gibt die Größe des Puffers (in Byte) an. Der Standardwert ist 1024 Bytes.
- /?
-
Zeigt Hilfe an der Eingabeaufforderung an.
Beispiele
Die folgenden Beispiele zeigen Verwendungsmöglichkeiten für den Befehl sc getdisplayname:
sc getdisplayname clipsrv
sc getdisplayname tapisrv
sc getdisplayname sharedaccess
sc getkeyname
Ruft den einem bestimmten Dienst zugeordneten Schlüsselnamen ab und verwendet dabei den Anzeigenamen als Eingabe.
Syntax
Sc [Servername] getkeyname [Dienstanzeigename] [Puffergröße]
Parameter
- Servername
-
Gibt den Namen des Remoteservers an, auf dem sich der Dienst befindet. Der Name muss im UNC-Format (\\MeinServer) angegeben werden. Um SC.exe lokal auszuführen, ignorieren Sie diesen Parameter.
- Dienstanzeigename
-
Gibt den Anzeigenamen des Dienstes an.
- Puffergröße
-
Gibt die Größe des Puffers (in Byte) an. Der Standardwert ist 1024 Bytes.
- /?
-
Zeigt Hilfe an der Eingabeaufforderung an.
Hinweise
-
Wenn der von Ihnen eingegebene Dienstanzeigename Leerzeichen enthält, setzen Sie den Text in Anführungszeichen (d. h. "Dienst Anzeigename").
Beispiele
Die folgenden Beispiele zeigen Verwendungsmöglichkeiten für den Befehl sc getkeyname:
sc getkeyname "remote procedure call (rpc)"
sc getkeyname "internet connection sharing"
sc getkeyname clipbook
sc interrogate
Sendet eine INTERROGATE-Steuerungsanforderung an einen Dienst.
Syntax
Sc [Servername] interrogate [Dienstname]
Parameter
- Servername
-
Gibt den Namen des Remoteservers an, auf dem sich der Dienst befindet. Der Name muss im UNC-Format (\\MeinServer) angegeben werden. Um SC.exe lokal auszuführen, ignorieren Sie diesen Parameter.
- Dienstname
-
Gibt den durch den Vorgang getkeyname zurückgegebenen Dienstnamen an.
- /?
-
Zeigt Hilfe an der Eingabeaufforderung an.
Hinweise
-
Wenn Sie INTERROGATE an einen Dienst senden, aktualisiert der Dienst seinen Status mit dem Dienststeuerungs-Manager.
Beispiele
Die folgenden Beispiele zeigen Verwendungsmöglichkeiten für den Befehl sc interrogate:
sc interrogate sharedaccess
sc interrogate rpcss
sc lock
Sperrt die Datenbank des Dienststeuerungs-Managers.
Syntax
Parameter
- Servername
-
Gibt den Namen des Remoteservers an, auf dem sich der Dienst befindet. Der Name muss im UNC-Format (\\MeinServer) angegeben werden. Um SC.exe lokal auszuführen, ignorieren Sie diesen Parameter.
- /?
-
Zeigt Hilfe an der Eingabeaufforderung an.
Hinweise
-
Das Sperren der Datenbank des Dienststeuerungs-Managers hindert alle Dienste am Start. Verwenden Sie diesen Befehl, um sicherzustellen, dass ein Dienst nicht gestartet wird, nachdem er beendet wurde. Dies ermöglicht Ihnen das ungestörte Durchführen von Aktionen (beispielsweise das Löschen des Dienstes).
-
Wenn Sie den Vorgang lock verwenden, wird die Datenbank des Dienststeuerungs-Managers gesperrt. Die Sperre der Datenbank kann dann durch Eingeben von u aufgehoben werden. Sie können auch den Prozess beenden, von dem aus Sie die Datenbank gesperrt haben.
Beispiele
Das folgende Beispiel zeigt Verwendungsmöglichkeiten für den Befehl sc lock:
sc lock
sc pause
Sendet eine PAUSE-Steuerungsanforderung an einen Dienst.
Syntax
Sc [Servername] pause [Dienstname]
Parameter
- Servername
-
Gibt den Namen des Remoteservers an, auf dem sich der Dienst befindet. Der Name muss im UNC-Format (\\MeinServer) angegeben werden. Um SC.exe lokal auszuführen, ignorieren Sie diesen Parameter.
- Dienstname
-
Gibt den durch den Vorgang getkeyname zurückgegebenen Dienstnamen an.
- /?
-
Zeigt Hilfe an der Eingabeaufforderung an.
Hinweise
-
Verwenden Sie den Vorgang pause, um einen Dienst vor dem Herunterfahren anzuhalten.
-
Nicht alle Dienste können unterbrochen werden.
-
Nicht alle Dienste führen dieselben Aktionen aus, wenn sie angehalten werden. Manche bearbeiten weiterhin die Anforderungen vorhandener Clients, verweigern jedoch die Annahme neuer Clients. Andere hören auf, die Anforderungen vorhandener Clients zu bearbeiten und verweigern auch die Annahme neuer Clients.
Beispiele
Das folgende Beispiel zeigt Verwendungsmöglichkeiten für den Befehl sc pause:
sc pause tapisrv
sc qc
Fragt die Konfigurationsinformationen für einen Dienst ab.
Syntax
Sc [Servername] qc [Dienstname] [Puffergröße]
Parameter
- Servername
-
Gibt den Namen des Remoteservers an, auf dem sich der Dienst befindet. Der Name muss im UNC-Format (\\MeinServer) angegeben werden. Um SC.exe lokal auszuführen, ignorieren Sie diesen Parameter.
- Dienstname
-
Gibt den durch den Vorgang getkeyname zurückgegebenen Dienstnamen an.
- Puffergröße
-
Gibt die Größe des Puffers (in Byte) an. Der Standardwert ist 1024 Bytes.
- /?
-
Zeigt Hilfe an der Eingabeaufforderung an.
Hinweise
-
Der Vorgang qc zeigt die folgenden Informationen zu einem Dienst an: SERVICE_NAME (Name des Registrierungsunterschlüssels des Dienstes), TYPE, ERROR_CONTROL, BINARY_PATH_NAME, LOAD_ORDER_GROUP, TAG, DISPLAY_NAME, DEPENDENCIES und SERVICE_START_NAME.
-
Administratoren können SC verwenden, um den binären Namen eines Dienstes zu ermitteln und herauszufinden, ob er einen Prozess gemeinsam mit anderen Diensten verwendet. Geben Sie hierzu Folgendes in der Befehlszeile ein:
sc qcDienstname
Mit SC können Dienste im Dienstknoten von Microsoft Management Console (MMC) auf Prozesse im Systemmonitor abgestimmt werden. Wenn der binäre Name Services.exe lautet, verwendet der Dienst den Dienstcontrollerprozess gemeinsam mit anderen.
Services.exe startet alle Dienste. Um Systemressourcen zu sparen, wurden verschiedene für Windows entwickelte Win32-Dienste so geschrieben, dass sie den Prozess Services.exe gemeinsam mit anderen verwenden. Diese Dienste werden nicht als separate Prozesse im Systemmonitor oder im Task-Manager aufgelistet. Dasselbe gilt für Svchost.exe, einen Diensthostprozess, den viele Betriebsdienste gemeinsam verwenden.
Es gibt möglicherweise nicht für jeden Win32-Dienst einen Prozess, da Win32-Dienste von Dritten ebenfalls für das gemeinsame Verwenden von Prozessen konfiguriert sein können. SC kann verwendet werden, um Konfigurationsinformationen zu diesen Diensten abzurufen. Wenn ein Dienst seinen Prozess jedoch nicht gemeinsam mit anderen Diensten verwendet, gibt es einen Prozess für ihn im Systemmonitor, wenn der Dienst ausgeführt wird.
-
SC kann für Entwickler von Diensten hilfreich sein, da es detailliertere und exaktere Informationen zu Diensten bietet als das in Windows enthaltene Programm Services.exe. Services.exe kann ermitteln, ob ein Dienst ausgeführt wird, beendet oder angehalten ist. Obwohl diese Tools sich für eine gedebuggte Anwendung eignen, die problemlos ausgeführt wird, können die Informationen irreführend sein, die sie zu einem Dienst anzeigen, der gerade entwickelt wird. Beispielsweise wird ein Dienst, der gerade startet, als gestartet angezeigt, unabhängig davon, ob er tatsächlich ausgeführt wird.
SC implementiert Aufrufe für alle Windows-Dienststeuerungs-API-Funktionen (Application Programming Interface). Legen Sie die Parameter für diese Funktionen fest, indem Sie sie in der Befehlszeile angeben.
Mithilfe von SC können Sie den Dienststatus abfragen und die in den Statusstrukturfeldern gespeicherten Werte abrufen. Services.exe kann Ihnen nicht den vollständigen Status eines Dienstes angeben, SC zeigt jedoch den exakten Zustand des Dienstes sowie die letzte Prüfpunktnummer und den letzten Wartehinweis. Sie können den Prüfpunkt als Debuggingtool verwenden, da er anzeigt, wie weit die Initialisierung fortgeschritten war, bevor das Programm aufhörte zu reagieren. Mit SC können Sie außerdem den Namen eines Remotecomputers angeben, damit Sie auf einem Remotecomputer die Dienst-API-Funktionen aufrufen oder die Dienststatusstrukturen anzeigen können.
Beispiele
Die folgenden Beispiele zeigen Verwendungsmöglichkeiten für den Befehl sc qc:
sc qc \\myserver newsrvice
sc qc rpcss 248
sc qdescription
Zeigt die Beschreibungszeichenfolge eines Dienstes an.
Syntax
Sc [Servername] qdescription [Dienstname] [Puffergröße]
Parameter
- Servername
-
Gibt den Namen des Remoteservers an, auf dem sich der Dienst befindet. Der Name muss im UNC-Format (\\MeinServer) angegeben werden. Um SC.exe lokal auszuführen, ignorieren Sie diesen Parameter.
- Dienstname
-
Gibt den durch den Vorgang getkeyname zurückgegebenen Dienstnamen an.
- Puffergröße
-
Gibt die Größe des Puffers (in Byte) an. Der Standardwert ist 1024 Bytes.
- /?
-
Zeigt Hilfe an der Eingabeaufforderung an.
Beispiele
Die folgenden Beispiele zeigen Verwendungsmöglichkeiten für den Befehl sc qdescription:
sc qdescription rpcss
sc qdescription rpcss 138
sc qfailure
Zeigt die Aktionen an, die ausgeführt werden, wenn der angegebene Dienst fehlschlägt.
Syntax
Sc [Servername] qfailure [Dienstname] [Puffergröße]
Parameter
- Servername
-
Gibt den Namen des Remoteservers an, auf dem sich der Dienst befindet. Der Name muss im UNC-Format (\\MeinServer) angegeben werden. Um SC.exe lokal auszuführen, ignorieren Sie diesen Parameter.
- Dienstname
-
Gibt den durch den Vorgang getkeyname zurückgegebenen Dienstnamen an.
- Puffergröße
-
Gibt die Größe des Puffers (in Byte) an. Der Standardwert ist 1024 Bytes.
- /?
-
Zeigt Hilfe an der Eingabeaufforderung an.
Hinweise
-
Der Vorgang qfailure zeigt die folgenden Informationen zu einem Dienst an: SERVICE_NAME (Name des Registrierungsunterschlüssels des Dienstes), RESET_PERIOD, REBOOT_MESSAGE, COMMAND_LINE und FAILURE_ACTIONS.
Beispiele
Die folgenden Beispiele zeigen Verwendungsmöglichkeiten für den Befehl sc qfailure:
sc qfailure rpcss
sc qfailure rpcss 20
sc query
Bezieht Informationen zum angegebenen Dienst, Treiber, Diensttyp oder Treibertyp und zeigt sie an.
Syntax
Sc [Servername] query [Dienstname] [type= {driver | service | all}] [type= {own | share | interact | kernel | filesys | rec | adapt}] [state= {active | inactive | all}] [bufsize= Puffergröße] [ri= IndexFortsetzen] [group= Gruppenname]
Parameter
- Servername
-
Gibt den Namen des Remoteservers an, auf dem sich der Dienst befindet. Der Name muss im UNC-Format (\\MeinServer) angegeben werden. Um SC.exe lokal auszuführen, ignorieren Sie diesen Parameter.
- Dienstname
-
Gibt den durch den Vorgang getkeyname zurückgegebenen Dienstnamen an. Dieser query-Parameter wird nicht in Verbindung mit anderen query-Parametern (außer Dienstname) verwendet.
- type= {driver | service | all}
-
Gibt die aufzulistenden Elemente an. Der Standardtyp ist service.
|
Wert
|
Beschreibung
|
|---|
driver | Gibt an, dass nur Treiber aufgelistet werden. |
service | Gibt an, dass nur Dienste aufgelistet werden. |
all | Gibt an, dass Treiber und Dienste aufgelistet werden. |
- type= {own|share|interact|kernel|filesys|rec|adapt}
-
Gibt die Dienst- oder Treibertypen an, die aufgelistet werden sollen.
|
Wert
|
Beschreibung
|
|---|
own | Der Dienst führt seinen eigenen Prozess aus. Er verwendet nicht dieselbe ausführbare Datei wie ein anderer Dienst. Dies ist die Standardeinstellung. |
share | Dieser Dienst wird als gemeinsam genutzter Prozess ausgeführt. Er verwendet eine ausführbare Datei gemeinsam mit anderen Diensten. |
interact | Der Dienst kann mit dem Desktop interagieren und Eingaben von Benutzern empfangen. Interaktive Dienste müssen unter dem Konto LocalSystem ausgeführt werden. |
kernel | Treiber. |
filesys | Dateisystemtreiber. |
- state= {active | inactive | all}
-
Gibt den Startstatus des aufzulistenden Dienstes an. Der Standardstatus ist active.
|
Wert
|
Beschreibung
|
|---|
active | Gibt alle aktiven Dienste an. |
inactive | Gibt alle unterbrochenen oder beendeten Dienste an. |
all | Gibt alle Dienste an. |
- bufsize=Puffergröße
-
Gibt die Größe des Aufzählungspuffers (in Byte) an. Die Standardgröße ist 1024 Byte. Erhöhen Sie die Größe des Aufzählungspuffers, wenn die aus einer Abfrage resultierende Anzeige 1024 Byte überschreitet.
- ri=IndexFortsetzen
-
Gibt die Indexnummer an, bei der die Auflistung begonnen oder fortgesetzt werden soll. Der Standardwert ist 0. Verwenden Sie diesen Parameter in Verbindung mit dem Parameter bufsize=, wenn eine Abfrage mehr Informationen zurückgibt als der Standardpuffer anzeigen kann.
- group=Gruppenname
-
Gibt die aufzulistende Dienstgruppe an. Standardmäßig werden alle Gruppen aufgelistet.
- /?
-
Zeigt Hilfe an der Eingabeaufforderung an.
Hinweise
-
Ohne ein Leerzeichen zwischen einem Parameter und dessen Wert schlägt der Vorgang fehl (beispielsweise type= own, nicht type=own).
-
Der Vorgang query zeigt die folgenden Informationen zu einem Dienst an: SERVICE_NAME (Name des Registrierungsunterschlüssels des Dienstes), TYPE, STATE (sowie Zustände, die nicht verfügbar sind), WIN32_EXIT_B, SERVICE_EXIT_B, CHECKPOINT und WAIT_HINT.
-
Der Parameter type= kann in bestimmten Fällen zweimal verwendet werden. Die erste Instanz des Parameters type= gibt an, ob Dienste, Treiber oder alle Dienste abgerufen werden soll. Die zweite Instanz des Parameters type= gibt einen Typ des Vorgangs create an, um den Umfang einer Abfrage weiter einzugrenzen.
-
Wenn die aus einem Befehl query resultierende Anzeige die Größe des Aufzählungspuffers überschreitet, wird eine ähnliche Meldung wie die folgende angezeigt:
Enum: Mehr Daten, benötige 1822 Bytes, starte Fortsetzung bei Index 79
Um die übrigen query-Informationen anzuzeigen, führen Sie erneut query aus und legen Sie dabei bufsize= auf die Anzahl der Bytes und ri= auf den angegebenen Index fest. Geben Sie beispielsweise Folgendes in der Befehlszeile ein, um die übrige Ausgabe anzuzeigen:
sc query bufsize= 1822 ri= 79
Beispiele
Die folgenden Beispiele zeigen Verwendungsmöglichkeiten für den Befehl sc query:
sc query
sc query messenger
sc query type= driver
sc query type= service
sc query state= all
sc query bufsize= 50
sc query ri= 14
sc query type= service type= interact
sc query type= driver group= ndis
sc queryex
Bezieht erweiterte Informationen zum angegebenen Dienst, Treiber, Diensttyp oder Treibertyp und zeigt sie an.
Syntax
Sc [Servername] queryex [type= {driver | service | all}] [type= {own | share | interact | kernel | filesys | rec | adapt}] [state= {active | inactive | all}] [bufsize= Puffergröße] [ri= IndexFortsetzen][group= Gruppenname]
Parameter
- Servername
-
Gibt den Namen des Remoteservers an, auf dem sich der Dienst befindet. Der Name muss im UNC-Format (\\MeinServer) angegeben werden. Um SC.exe lokal auszuführen, ignorieren Sie diesen Parameter.
- Dienstname
-
Gibt den durch den Vorgang getkeyname zurückgegebenen Dienstnamen an. Dieser queryex-Parameter wird nicht in Verbindung mit anderen queryex-Parametern (außer Dienstname) verwendet.
- type= {driver | service | all}
-
Gibt die aufzulistenden Elemente an. Der Standardtyp ist service.
|
Wert
|
Beschreibung
|
|---|
driver | Gibt an, dass nur Treiber aufgelistet werden. |
service | Gibt an, dass nur Dienste aufgelistet werden. |
all | Gibt an, dass Treiber und Dienste aufgelistet werden. |
- type= {own|share|interact|kernel|filesys|rec|adapt}
-
Gibt die Dienst- oder Treibertypen an, die aufgelistet werden sollen.
|
Wert
|
Beschreibung
|
|---|
own | Der Dienst führt seinen eigenen Prozess aus. Er verwendet nicht dieselbe ausführbare Datei wie ein anderer Dienst. Dies ist die Standardeinstellung. |
share | Dieser Dienst wird als gemeinsam genutzter Prozess ausgeführt. Er verwendet eine ausführbare Datei gemeinsam mit anderen Diensten. |
interact | Der Dienst kann mit dem Desktop interagieren und Eingaben von Benutzern empfangen. Interaktive Dienste müssen unter dem Konto LocalSystem ausgeführt werden. |
kernel | Treiber. |
filesys | Dateisystemtreiber. |
- state= {active | inactive | all}
-
Gibt den Startstatus des aufzulistenden Dienstes an. Der Standardstatus ist active.
|
Wert
|
Beschreibung
|
|---|
active | Gibt alle aktiven Dienste an. |
inactive | Gibt alle unterbrochenen oder beendeten Dienste an. |
all | Gibt alle Dienste an. |
- bufsize=Puffergröße
-
Gibt die Größe des Aufzählungspuffers (in Byte) an. Die Standardgröße ist 1024 Byte.
- ri=IndexFortsetzen
-
Gibt die Indexnummer an, bei der die Auflistung begonnen oder fortgesetzt werden soll. Der Standardwert ist 0.
- group=Gruppenname
-
Gibt die aufzulistende Dienstgruppe an. Standardmäßig werden alle Gruppen aufgelistet.
- /?
-
Zeigt Hilfe an der Eingabeaufforderung an.
Hinweise
-
Ohne ein Leerzeichen zwischen einem Parameter und dessen Wert schlägt der Vorgang fehl (beispielsweise type= own, nicht type=own).
-
Der Vorgang queryex zeigt die folgenden Informationen zu einem Dienst an: SERVICE_NAME (Name des Registrierungsunterschlüssels des Dienstes), TYPE, STATE (sowie Zustände, die nicht verfügbar sind), WIN32_EXIT_B, SERVICE_EXIT_B, CHECKPOINT, WAIT_HINT, PID und FLAGS.
-
Der Parameter type= kann in bestimmten Fällen zweimal verwendet werden. Die erste Instanz des Parameters type= gibt an, ob Dienste, Treiber oder alle Dienste abgerufen werden soll. Die zweite Instanz des Parameters type= gibt einen Typ des Vorgangs create an, um den Umfang einer Abfrage weiter einzugrenzen.
-
Wenn die aus einem Befehl queryex resultierende Anzeige die Größe des Aufzählungspuffers überschreitet, wird eine ähnliche Meldung wie die folgende angezeigt:
Enum: mehr Daten, benötige 1822 Bytes, starte Fortsetzung bei Index 75
Um die übrigen Informationen zu queryex anzuzeigen, führen Sie erneut queryex aus, und legen Sie dabei bufsize= auf die Anzahl der Bytes und ri= auf den angegebenen Index fest. Geben Sie beispielsweise Folgendes in der Befehlszeile ein, um die übrige Ausgabe anzuzeigen:
sc queryex bufsize= 2130 ri= 75
Beispiele
Die folgenden Beispiele zeigen Verwendungsmöglichkeiten für den Befehl sc queryex:
sc queryex messenger
sc queryex group= ""
sc querylock
Fragt den Sperrstatus für die Datenbank des Dienststeuerungs-Managers ab und zeigt ihn an.
Syntax
Sc [Servername] querylock