sc

Service Control: zapytania, uruchamianie, zatrzymywanie i konfiguracja usług Windows.

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świetlanaSpooler, nie „Bufor wydruku”.

  • query — pokazuje stan usługi (running/stopped) i jej typ; bez nazwy listuje wszystkie aktywne usługi.
  • queryex — to samo co query, 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 parametr start= (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.