sc (Service Control) to wbudowane w Windows narzędzie wiersza poleceń do zarządzania usługami systemowymi. Rozmawia bezpośrednio z Menedżerem Sterowania Usługami (SCM), więc zrobisz nim praktycznie wszystko, co oferuje graficzny services.msc, tylko szybciej i skryptowalnie: sprawdzisz status usługi, uruchomisz ją, zatrzymasz, zmienisz typ startu, a nawet utworzysz lub usuniesz. Bonus: potrafi to zrobić na zdalnej maszynie, jeśli podasz jej nazwę serwera.
Składnia i najważniejsze opcje
Podstawowy wzorzec wygląda tak: sc [\\serwer] polecenie [nazwa_usługi] [parametry]. Uwaga na jeden szczegół: to nazwa usługi (klucz w rejestrze), a nie jej ładna nazwa wyświetlana — Spooler, nie „Bufor wydruku”.
query— pokazuje stan usługi (running/stopped) i jej typ; bez nazwy listuje wszystkie aktywne usługi.queryex— to samo coquery, ale dorzuca PID procesu i flagi — przydatne, gdy chcesz namierzyć proces.qc— wyświetla konfigurację: ścieżkę do pliku binarnego, typ startu, zależności.start— uruchamia wskazaną usługę.stop— zatrzymuje usługę (jeśli obsługuje zatrzymanie).config— zmienia konfigurację, np. typ startu przez parametrstart=(wartości:boot,system,auto,demand,disabled,delayed-auto).create/delete— tworzy nową usługę lub kasuje istniejącą (tu naprawdę uważaj).
Przykłady użycia
sc query wuauserv— sprawdza stan usługi Windows Update.sc queryex spooler— pokazuje stan bufora wydruku razem z PID-em, gdy chcesz go ubić w menedżerze zadań.sc stop spooler— zatrzymuje bufor wydruku (klasyk przy zacinającej się kolejce drukowania).sc config wuauserv start= disabled— wyłącza automatyczne uruchamianie Windows Update.sc \\SRV01 query dnscache— odpytuje stan usługi klienta DNS na zdalnym serwerze SRV01.
Częste błędy i pułapki
Spacja po znaku równości, nie przed. To najczęstszy powód frustracji. Musi być start= auto, a nie start=auto ani start =auto. Brak spacji po = = operacja się wywala. To samo dotyczy type=, binPath= i reszty.
Potrzebujesz uprawnień administratora. query zwykle zadziała z konta użytkownika, ale start, stop, config, create i delete wymagają konsoli uruchomionej jako administrator — inaczej dostaniesz „Access is denied”.
Nie myl sc z PowerShellowym sc. W PowerShell sc to domyślny alias na Set-Content, który nadpisze plik. Chcąc pewności użyj pełnej nazwy sc.exe.
delete jest nieodwracalne. Usuwa wpis usługi z rejestru bez pytania. Zanim to zrobisz, zrób sc qc i zapisz sobie ścieżkę binarną oraz konfigurację.
Powiązane polecenia: net start i net stop (prostsze uruchamianie/zatrzymywanie), tasklist i taskkill (procesy), services.msc (wersja graficzna) oraz PowerShellowe Get-Service, Start-Service i Set-Service.