"net start service" und "sc start". Was ist der Unterschied?

Dienste können mit zwei Befehlen in der Eingabeaufforderungs-Shell gestoppt und gestartet werden.

  1. "net start" Dienst "einen Dienst"
  2. sc start "einige service"

Was ist der Unterschied zwischen diesen Befehlen?

Author: Starx, 2011-07-26

4 answers

In Windows NT greifen beide Befehle auf denselben Service Manager zu. Der Unterschied liegt hauptsächlich im vom Benutzer sichtbaren Teil:

  • net ist älter – aus den Tagen von MS-DOS und OS/2, in der Tat.

    sc erschien nur mit Windows NT (nicht sicher welche Version).

  • net kann nur Dienste starten, stoppen und anhalten.

    sc verfügt über erweiterte Steuerelemente, kann den Status abfragen, Dienste erstellen und löschen, deren Konfiguration ändern und sicherheit: sc config beep start= demand

  • net funktioniert nur lokal.

    sc kann über das Netzwerk verwendet werden: sc \\snow start rpcapd

  • net akzeptiert Anzeigenamen: net start "Windows Firewall"

    sc erfordert immer einen Dienstnamen: sc start SharedAccess

 88
Author: user1686,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-07-26 09:08:41

Grawitys Antwort ist sicherlich hilfreich, aber ich habe einen grundlegenden Unterschied zwischen diesen Befehlen gefunden, die auf http://cbfive.com/command-line-service-management-net-v-sc/ . Auf dieser Seite wird insbesondere darauf hingewiesen, dass sich diese beiden Befehle in ihrem Timing unterscheiden: "net" ist synchron und" sc " ist asynchron.

SC sendet das Steuerelement an den Dienst und kehrt dann zum Befehl zurück Eingabeaufforderung. Dies führt normalerweise dazu, dass SC den Dienst zurückgibt in einem zustand von START_PENDING. NET START wartet auf den Dienst, der es ist beginnen, in einen vollständig gestarteten Zustand zu kommen, bevor es Steuerelement bei zurückgibt Eingabeaufforderung.

...

[L]ike SC START, SC STOP wartet nicht darauf, dass der Dienst zum Stillstand kommt und wird es für oft zurück STOP_PENDING für viele Service stop Operations. NET STOP auf der anderen Seite wird auf den Dienst warten, um zu stoppen bevor es zum Befehl zurückkehrt Eingabeaufforderung.

...

NET und SC haben unterschiedliche Vorstellungen davon, was sie für erfolgsbedingungen. Die Frage, die SC stellt, um festzustellen, ob es erfolgreich ist, " Habe ich erfolgreich eine Stop-Steuerung an die service?"Wenn dies der Fall war, unabhängig davon, ob der Dienst gestoppt wurde, dann Ich habe die erfolgreiche Bedingung erfüllt. NET stellt die Frage: "Hat die service Ich versuchte zu stoppen, zurück, dass es erfolgreich gestoppt?" Wenn es tat, dann erfüllte es die Bedingung. Wenn es nicht, egal was der Grund, dann schlägt NET die erfolgreiche Bedingung

 88
Author: Mattias Andersson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-06-12 13:48:39

Für das, was es wert ist, habe ich festgestellt, dass sc start/stop zuverlässiger ist als net start/stop. Manchmal führte net start/stop dazu, dass der Dienst in einem Start/Stopp-Zustand blieb, während mir dies bei sc start/stop noch nie in den Sinn gekommen ist. Das Netto-Start/Stopp-Symptom tritt tendenziell häufiger auf, wenn der Dienst beendet wurde (über taskkill), z. B. beim Versuch, den Dienst nach Taskkill mit net start zu starten.

 3
Author: Jay,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2015-03-26 00:44:34

Wenn die Routine onStart() eines Dienstes zu lange dauert, sendet NET START einen Stoppbefehl an den Dienst und gibt den folgenden Fehler zurück:

Der Dienst ServiceName wird gestartet........

Der Dienst ServiceName konnte nicht gestartet werden.

Der Dienst hat keinen Fehler.

Weitere Hilfe erhalten Sie durch Eingabe von NET HELPMSG 3534.

Dies geschieht, obwohl der Dienst erfolgreich gestartet und gestoppt wurde !!

Ich habe auch gefunden dieser Beitrag hier, das könnte interessant sein: Dienst konnte nicht gestartet werden

 2
Author: Lumo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-06-12 13:48:39