Usługi są jedną z najważniejszych części systemów operacyjnych. Istnieją różne narzędzia i polecenia do listy tych usług. Powershell dostarcza Get-Service
commandlet w celu wylistowania tych usług i przefiltrowania ich zgodnie z dostarczonym filtrem.
Zaczniemy od prostego przypadku użycia, w którym wylistujemy wszystkie usługi bez podawania opcji do polecenia Get-Service
. Spowoduje to wyświetlenie listy aktualnie istniejących usług ze statusem uruchomionych lub zatrzymanych.
PS> Get-Service
Jak widać na zrzucie ekranu usługi są domyślnie uporządkowane według nazwy. Następujące informacje są dostarczane domyślnie o wymienionych usługach.
-
Status
wyświetli, czy usługa jestRunning
lubStopped
-
Name
wyświetli prawdziwą i skróconą nazwę usługi, która jest używana przez polecenia. -
Display Name
wyświetli rozszerzoną i informacyjną nazwę usługi, która jest bardziej przyjazna dla człowieka.
List All Service On Remote Computer or System
Jako że Microsoft zapewnił zdalny dostęp i zarządzanie zdalnymi systemami za pomocą powreshell, możemy użyć polecenia Get-Service
w celu sporządzenia listy usług na zdalnych systemach. Podajemy -computername
zdalnego systemu. Może to być nazwa DNS, która może być rozwiązana lub adres IP, do którego możemy uzyskać dostęp.
PS > Get-Service -computername DESKTOP-HQVAMA3
List Services with Specified Name
Systemy operacyjne Windows posiadają wiele usług, które z łatwością zapełnią terminal. Możemy też potrzebować wypisać konkretną nazwę usługi przez podanie jej nazwy lub części nazwy. Po prostu podamy nazwę po komendzie Get-Service
. Możemy również użyć globali *
, gdzie zostanie podana tylko część nazwy usługi. W tym przykładzie spróbujemy wylistować usługę WinDefend
, podając WinDef*
jako nazwę usługi.
PS > Get-Service WinDef*
Listuj tylko aktualnie działające usługi
W systemie Windows istnieją dwa główne stany usług. Running
lub Stopped
. Możemy potrzebować wylistować usługi według ich statusu. Możemy użyć parametru obiektu Status
jak poniżej, który wyświetli tylko działające usługi.
PS> Get-Service | Where-Object {$_.Status -eq "Running"}
List Service with Dependent Service
Usługi są ważne i mogą być powiązane i zależne od siebie. Przed ich zatrzymaniem może zajść potrzeba wylistowania usług zależnych od danej usługi. Możemy użyć opcji -RequiredServices
w celu sporządzenia listy zależności usług.
PS> Get-Service "WinDefend" -RequiredServices
List Sorted By Status (Stopped/Running)
Możemy potrzebować sprawdzić listę usług według ich statusu Running i Stopped. Możemy je posortować za pomocąSort-Object
jak poniżej.
PS> Get-Service | Sort-Object status
Write Service List Into A File
Możemy potrzebować zbadać listę usług później lub po prostu zapisać je do pliku. Możemy użyć polecenia Out-File
, które zapisze listę usług do pliku, który chcemy. W tym przykładzie zapiszemy do pliku o nazwie Services.txt
PS> Get-Service | Out-File "C:\Users\İsmail Baydan\Desktop\Services.txt"
.