Kontrola usług w Windows CMD poleceniem NET


 

windows_servicesJakiś czas temu opisałem polecenie SC.EXE, którym można konfigurować (tworzyć, zmieniać, kasować oraz sprawdzać status) usługi w wierszu poleceń Windows. Dzisiaj chciałbym przedstawić bardzo proste komendy kontrolujące usługi (uruchamianie, wstrzymywanie, wznawianie, restart) w CMD. Znajomość komend jest bardzo przydatna (niedawno próbowałem to udowodnić w 7 punktach), na przykład dlatego, że interfejsy graficzne W8 i WS2012 są nieźle „zakręcone” i dostanie się do przystawki services.msc może zająć chwilę. Ponadto niezwykle często wykorzystamy je w przeróżnych skryptach – na przykład niektóre instalatory wymagają zatrzymania programu antywirusowego, albo jakaś aplikacja wymaga restartu wielu usług w odpowiedniej kolejności (ktoś zna np. Websense?) :)

Przejdźmy zatem do rzeczy:

Polecenie NET i kontrola usług

Polecenie NET występuje w każdej wersji Windows (pochodzi z DOSa). Możemy użyć nazwy systemowej lub nazwy wyświetlanej. Tabelę wszystkich nazw usług po polsku i angielsku w Windows znajdziecie w moim wcześniejszym artykule – zachęcam do odświeżenia.

Oto kilka praktycznych przykładów:

Wyłączenie (stop) usługi „Windows Update”:

net stop „Windows Update”

lub

net stop „wuauserv”

Efektem tego polecenia powinno być (w wersji angielskiej systemu):

The Windows Update service is stopping.
The Windows Update service was stopped successfully.

 

Uruchomienie usługi „Windows Update”:

net start „Windows Update”

lub

net start „wuauserv”

Wstrzymanie usługi (różni się od wyłączenia (stop), tym, że po wznowieniu usługa kontynuuje operacje, które wykonywała w momencie zatrzymania. W przypadku „stop” wszystkie operacje zostają anulowane. )

net pause „Windows Update”

lub

net pause „wuauserv”

Wznowienie pracy zatrzymanej usługi:

net continue „Windows Update”

lub

net continue „wuauserv”

Jak upewnić się, że usługa poprawnie wystartowała?

Po wystartowaniu usługi możemy odczytać numer błędu. „Zero” oznacza, że ta wystartowała poprawnie, „dwójka”, że pojawił się błąd:

net start [nazwa usługi]
if %errorlevel% == 2 echo Uwaga, nie udalo sie wystartowac uslugi
if %errorlevel% == 0 echo Usluga wystartowala poprawnie


Sprawdzenie stanu usługi zawarłem w artykule o poleceniu SC, zatem zachęcam do odświeżenia sobie tamtego wpisu:)


Podobne Tematy: