Jak zarządzać usługami Windows za pomocą PowerShella?

Usługami systemu Windows można zarządzać nie tylko z poziomu wtyczki services.msc lub narzędzia wiersza poleceń sc.exe, ale także za pomocą PowerShella. W tym artykule rozważymy różne scenariusze zarządzania usługami Windows za pomocą PowerShella.

PowerShell Cmdlets Used to Manage Windows Services

Istnieje osiem podstawowych cmdletów Service do przeglądania stanu usług Windows i zarządzania nimi. Aby uzyskać pełną listę poleceń cmdlet do zarządzania usługami, należy uruchomić następujące polecenie:

Get-Help \*-Service

  • Get-Service – pozwala uzyskać usługi na komputerze lokalnym lub zdalnym zarówno w stanie uruchomionym, jak i zatrzymanym;
  • New-Service – tworzy usługę. cmdlet tworzy nowy wpis dla usługi Windows w rejestrze i w bazie danych usług;
  • Restart-Service – restartuje usługę. cmdlet wysyła komunikat o ponownym uruchomieniu za pośrednictwem kontrolera usług systemu Windows;
  • Resume-Service – wznawia działanie usługi. Ten cmdlet wysyła komunikat o wznowieniu do Menedżera usług systemu Windows;
  • Set-Service – zmienia ustawienia usługi lokalnej lub zdalnej, w tym jej stan, opis, wyświetlaną nazwę lub tryb uruchamiania. Można również użyć tego cmdleta do uruchomienia, zatrzymania lub zawieszenia usługi;
  • Start-Service – uruchamia usługę;
  • Stop-Service – zatrzymuje usługę (cmdlet wysyła komunikat o zatrzymaniu do Menedżera usług systemu Windows);
  • Suspend-Service – zawiesza usługę. Zawieszona usługa nadal działa, ale nie robi nic, dopóki nie zostanie wznowiona przy użyciu( na przykład, za pomocą cmdleta Resume-Service).

Szczegółowy opis i przykłady użycia konkretnego cmdleta można uzyskać za pomocą Get-Help:

Get-Help Start-Service

How to Check Windows Service Status with Get-Service?

Listę usług i ich stan (uruchomione/zatrzymane) na komputerze lokalnym lub zdalnym można uzyskać za pomocą polecenia cmdlet Get-Service. Parametr -Name pozwala na wybranie usług według nazwy. Nazwa usługi może być określona przy użyciu znaku wieloznacznego *.

Jeśli nie znasz dokładnej nazwy usługi, możesz ją znaleźć po jej wyświetlonej nazwie przy użyciu parametru -DisplayName. Można użyć listy wartości i symboli wieloznacznych.

Użyj polecenia cmdlet Get-Service z parametrem -ComputerName, aby uzyskać stan usługi na zdalnym komputerze. Stan usługi można sprawdzić na wielu komputerach zdalnych jednocześnie, podając ich nazwy oddzielone przecinkami. Na przykład polecenie przedstawione poniżej pobiera stan usługi Spooler na komputerach zdalnych ny-prnt1 i ny-prnt2.

Get-Service spooler –ComputerName ny-prnt1,ny-prnt2

Status Name DisplayName------ ---- -----------Running spooler Print SpoolerStopped spooler Print Spooler

Aby wyświetlić wszystkie właściwości usługi, należy użyć polecenia cmdlet Wybierz-Objekt:

Get-Service spooler | Select-Object *

Ccmdlet Wybierz-Objekt umożliwia uzyskanie określonych właściwości usługi. Na przykład, chcesz wyświetlić nazwę, status i dostępne opcje usługi Spooler:

Get-Service Spooler | Select DisplayName,Status,ServiceName,Can*

Centdlet Get-Service posiada dwa parametry, które pozwalają wyświetlić zależności usługi:

  • -DependentServices pozwala na wyświetlenie usług zależnych od danej usługi
  • -RequiredServices wyświetla usługi, od których dana usługa zależy

Następujące polecenie wyświetla usługi wymagane do uruchomienia usługi Spooler:

Get-Service –Name Spooler -RequiredServices

Następujące polecenie wyświetla usługi zależne od usługi Spooler:

Get-Service –Name Spooler -DependentServices

.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.