Odpowiedzi:
W systemie Windows NT oba polecenia mają dostęp do tego samego Menedżera usług. Różnica polega głównie na części widocznej dla użytkownika:
net
jest starszy - w rzeczywistości od czasów MS-DOS i OS / 2.
sc
pojawił się tylko z Windows NT (nie jestem pewien, która wersja) .
net
może jedynie uruchamiać, zatrzymywać i wstrzymywać usługi.
sc
ma bardziej zaawansowane funkcje kontrolne, może sprawdzać stan, tworzyć i usuwać usługi, zmieniać ich konfigurację i zabezpieczenia: sc config beep start= demand
net
działa tylko lokalnie.
sc
może być używany przez sieć: sc \\snow start rpcapd
net
akceptuje nazwy wyświetlane: net start "Windows Firewall"
sc
zawsze wymaga nazwy usługi: sc start SharedAccess
Odpowiedź Grawity jest z pewnością pomocna, ale znalazłem zasadniczą różnicę między tymi poleceniami wyszczególnionymi na stronie http://cbfive.com/command-line-service-management-net-v-sc/ . W szczególności na tej stronie zauważono, że te dwa polecenia różnią się czasem : „sieć” jest synchroniczna, a „sc” asynchroniczna.
SC wysyła kontrolę do usługi, a następnie wraca do wiersza polecenia. Zwykle powoduje to, że SC START przywraca usługę do stanu START_PENDING. NET START zaczeka na usługę, którą zaczyna osiągać w pełni uruchomiony stan, zanim zwróci kontrolę w wierszu polecenia.
...
[L] ike SC START, SC STOP nie czeka na zatrzymanie usługi i tam często zwraca STOP_PENDING dla wielu operacji zatrzymania usługi. Z drugiej strony NET STOP poczeka na zatrzymanie usługi, zanim powróci do wiersza polecenia.
...
NET i SC mają różne wyobrażenia o tym, co uważają za warunki sukcesu. Pytanie SC ma na celu ustalenie, czy zakończyło się powodzeniem: „Czy udało mi się wysłać kontrolę zatrzymania do usługi?” Jeśli tak, niezależnie od tego, czy usługa zatrzymała się, to spełniłem warunek pomyślny. NET zadaje pytanie: „Czy usługa, którą próbowałem zatrzymać, zwróciła, że zatrzymała się pomyślnie?” Jeśli tak, to spełnia warunek. Jeśli nie, bez względu na przyczynę, NET nie spełnia warunku pomyślnego zakończenia
Za ile warto, sc start / stop jest bardziej niezawodny niż net start / stop. Czasami net start / stop powodował, że usługa utknęła w stanie Start / Stopping, podczas gdy nigdy nie przyszło mi to do głowy z sc start / stop. Objaw uruchomienia / zatrzymania sieci występuje częściej, jeśli usługa została zabita (poprzez zadanie zadań), np. Próba uruchomienia usługi z uruchomieniem sieci po wykonaniu zadania.
Pozostało powiedzieć, że jeśli procedura OnStart () usługi trwa zbyt długo, NET START
wysyła polecenie zatrzymania do usługi i zwraca następujący błąd:
Usługa ServiceName uruchamia się ........
Nie można uruchomić usługi ServiceName.
Usługa nie zgłosiła błędu.
Więcej pomocy można uzyskać, wpisując NET HELPMSG 3534.
Dzieje się tak, chociaż usługa została uruchomiona i zatrzymana pomyślnie !!
Znalazłem też ten post tutaj, który może być interesujący: Usługa nie mogła zostać uruchomiona