Služby jsou jednou z nejdůležitějších součástí operačních systémů. Existují různé nástroje a příkazy pro výpis těchto služeb. Prostředí Powershell poskytuje příkaz Get-Service
za účelem vypsání těchto služeb a jejich filtrování podle zadaného filtru.
Začneme jednoduchým případem použití, kdy budeme vypisovat všechny služby bez zadání možností příkazu Get-Service
. Tím se vypíše seznam aktuálně existujících služeb se spuštěným nebo zastaveným stavem.
PS> Get-Service
Jak vidíme ze snímku obrazovky, služby jsou standardně seřazeny podle názvu. Ve výchozím nastavení jsou o uvedených službách poskytovány následující informace:
-
Status
zobrazí se, zda je službaRunning
neboStopped
-
Name
zobrazí se skutečný a zkrácený název služby, který je používán příkazy. -
Display Name
zobrazí rozšířený a informativní název služby, který je pro člověka přívětivější.
Seznam všech služeb na vzdáleném počítači nebo systému
Jelikož společnost Microsoft poskytla vzdálený přístup a správu vzdálených systémů pomocí příkazu powreshell, můžeme použít příkaz Get-Service
za účelem zobrazení seznamu služeb na vzdálených systémech. Zadáme -computername
vzdáleného systému. Může to být název DNS, který lze přeložit, nebo IP adresa, ke které můžeme přistupovat.
PS > Get-Service -computername DESKTOP-HQVAMA3
Seznam služeb se zadaným názvem
Operační systémy Windows mají mnoho služeb, které snadno zaplní terminál. Nebo můžeme potřebovat vypsat konkrétní název služby zadáním jejího názvu nebo některé části jejího názvu. Stačí, když za příkazem Get-Service
uvedeme její název. Můžeme také použít glob *
, kde bude uvedena pouze některá část názvu služby. V tomto příkladu se pokusíme vypsat službu WinDefend
zadáním názvu služby WinDef*
.
PS > Get-Service WinDef*
Seznam pouze aktuálně běžících služeb
V systému Windows existují dva hlavní stavy služeb. Running
nebo Stopped
. Můžeme potřebovat vypsat služby podle jejich stavu. Můžeme použít parametr objektu Status
jako níže, který vypíše pouze běžící služby.
PS> Get-Service | Where-Object {$_.Status -eq "Running"}
Seznam služeb se závislými službami
Služby jsou důležité a mohou být vzájemně propojené a závislé. Před jejich zastavením můžeme potřebovat vypsat závislé služby dané služby. K vypsání závislých služeb můžeme použít volby -RequiredServices
.
PS> Get-Service "WinDefend" -RequiredServices
Seznam seřazený podle stavu (zastaveno/běží)
Můžeme potřebovat zkontrolovat seznam služeb podle jejich běžícího a zastaveného stavu. Můžeme je seřadit pomocíSort-Object
jako níže.
PS> Get-Service | Sort-Object status
Zapsat seznam služeb do souboru
Můžeme potřebovat prozkoumat seznam služeb později nebo je chceme jen uložit do souboru. Můžeme použít příkaz Out-File
, který zapíše seznam služeb do požadovaného souboru. V tomto příkladu zapíšeme do souboru s názvem Services.txt
PS> Get-Service | Out-File "C:\Users\İsmail Baydan\Desktop\Services.txt"
.