Tworzenie, kasowanie i konfigurowanie usług w CMD


 

cmd4_210W naszej wycieczce po komendach Wiersza Poleceń Windows dzisiaj dochodzimy do zagadnienia usług systemowych. W tym artykule skupimy się na tworzeniu, kasowaniu, zmianie konfiguracji oraz sprawdzaniu stanu usług, a o kontrolowaniu ich (start, stop itd) za pomocą polecenia NET, możecie poczytać w osobnym artykule.

W systemach Windows nie ma natywnego kreatora służącego do tworzenia i kasowania usług. Czynności te można wykonać poprzez wpisy w Rejestrze, Powershell i CMD. Ja najczęściej korzystam z Wiersza Poleceń, bo składnia jest bardzo prosta.

A więc, zacznijmy od początku: do konfigurowania usług w systemie Windows służy program SC.EXE. W tym artykule podam garść praktycznych przykładów skupiając się na najbardziej popularnych opcjach. Jeśli szukacie wszystkich dostępnych opcji – jak zawsze możecie zajrzeć do systemowej pomocy:

sc.exe /?

I jeszcze dwie małe uwagi:

Po znaku równości musi być odstęp (spacja).

Nazwy usług, to nazwy systemowe. Tabelę wszystkich nazw usług w systemach Windows znajdziecie w moim wcześniejszym artykule.

Tworzenie nowej usługi

Najbardziej podstawowa składnia polecenia zawiera nazwę usługi, sposób jej uruchamiania (boot|system|auto|demand|disabled|delayed-auto) i ścieżkę do pliku exe. Oto prosty przykład:

sc create „PDFCreator” start= auto binpath= „c:\Programme\PDFCreator\PDFCreator.exe”

Możemy też tworzyć usługi na zdalnej maszynie:

sc \\zdalny_komputer create PDFCreator binpath= “c:\Programme\PDFCreator\PDFCreator.exe”

Konfiguracja usług

Podane przykładowe parametry możemy też zastosować już w momencie tworzenia usługi, ja akurat podam je w kontekście zmiany konfiguracji istniejących usług. Oto garść przykładów.

Dodanie opisu do istniejącej usługi:

sc description „PDFCreator” „Umożliwia drukowanie do pliku PDF”

Dodanie zależności do istniejącej usługi:

sc config „Moja_usluga” depend= „MSSQLServer”

Zmiana trybu uruchamiania na automatyczny:

sc config „Moja_usluga” start= auto

Zmiana konta, na którym uruchamia się usługa:

sc config „Moja_usluga” obj= domana\konto_serwisowe password= M0j3-hasl0-Ni3-d0-od9Adn1ec1@

Ustawienie konta systemowego:

sc config „Moja_usluga” obj= „.\LocalSystem” password= „”

Dodanie akcji przy awarii usługi. Wartości opóźnienia podawane są milisekundach. W tym przykładzie konfigurujemy „przy pierwszej awarii restartuj usługę po 3 minutach”, „przy drugiej awarii restartuj usługę po 3 minutach” „przy powtarzanych awariach nie rób nic”.

sc failure „Moja_usluga” actions= restart/180000/restart/180000/””/180000 reset= 86400

Kasowanie usługi

Polecenie kasujące usługę jest bardzo proste:

sc delete nazwa_usługi

Sprawdzenie stanu usługi

Jak wiemy, niektóre usługi na serwerach mogą być niezwykle ważne i warto upewniać się że działają – na przykład jakimś prostym skryptem w harmonogramie Zadań.
Stan usługi „Windows Update” znajdziemy poleceniem:

sc query wuauserv

lub

sc query wuauserv | Find „STATE”

Tabele z wszystkimi nazwami usług znajdziecie w osobnym artykule.

A jak to wykorzystać w skrypcie? Uruchomiona usługa ma status RUNNING, zatem nasz skrypt może sprawdzić czy tak jest, i wykonać działania warunkowe:

sc query wuauserv | Find „RUNNING”
if %errorlevel% == 1 echo usluga nie dzala!!!!

Jeśli pominąłem coś istotnego, piszcie :)


Podobne Tematy:

  • mikato

    Cześć, jak uruchomić microsoft virtual pc jako usługę, żeby xp mode startował w tle jak jeszcze nikt nie jest zalogowany?