Jak spravovat služby systému Windows pomocí prostředí PowerShell?

Služby systému Windows můžete spravovat nejen pomocí modulu snap-in services.msc nebo nástroje příkazového řádku sc.exe, ale také pomocí prostředí PowerShell. V tomto článku se budeme zabývat různými scénáři správy služeb systému Windows pomocí prostředí PowerShell.

Kmdlety prostředí PowerShell používané ke správě služeb systému Windows

Existuje osm základních rutin prostředí Service, které umožňují zobrazit stav služeb systému Windows a spravovat je. Chcete-li získat úplný seznam rutin pro správu služeb, spusťte tento příkaz:

Get-Help \*-Service

  • Get-Service – umožňuje získat služby v místním nebo vzdáleném počítači ve spuštěném i zastaveném stavu;
  • New-Service – vytvoří službu. Rutina vytvoří novou položku pro službu systému Windows v registru a v databázi služeb;
  • Restart-Service – restartuje službu. Rutina odešle zprávu o restartu prostřednictvím řadiče služeb systému Windows;
  • Resume-Service – obnoví službu. Rutina odešle zprávu o obnovení Správci služeb systému Windows;
  • Set-Service – změní nastavení místní nebo vzdálené služby, včetně jejího stavu, popisu, zobrazovaného názvu nebo režimu spouštění. Pomocí této rutiny můžete také spustit, zastavit nebo pozastavit službu;
  • Start-Service – spustí službu;
  • Stop-Service – zastaví službu (rutina odešle zprávu o zastavení Správci služeb systému Windows);
  • Suspend-Service – pozastaví službu. Pozastavená služba stále běží, ale nedělá nic, dokud není obnovena pomocí( například rutinou Resume-Service).

Podrobný popis a příklady použití konkrétní rutiny získáte pomocí nápovědy Get-Help:

Get-Help Start-Service

Jak zjistit stav služby systému Windows pomocí rutiny Get-Service?

Seznam služeb a jejich stav (spuštěné/ukončené) v místním nebo vzdáleném počítači můžete získat pomocí rutiny Get-Service. Parametr -Name umožňuje vybrat služby podle názvu. Název služby lze zadat pomocí zástupného znaku *.

Pokud neznáte přesný název služby, můžete ji vyhledat podle zobrazeného názvu pomocí parametru -DisplayName. Můžete použít seznam hodnot a zástupné znaky.

Pro zjištění stavu služby ve vzdáleném počítači použijte rutinu Get-Service s parametrem -ComputerName. Můžete se dotazovat na stav služby ve více vzdálených počítačích najednou zadáním jejich názvů oddělených čárkami. Níže uvedený příkaz například zjistí stav služby Spooler ve vzdálených počítačích ny-prnt1 a ny-prnt2.

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

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

Chcete-li zobrazit všechny vlastnosti služby, použijte rutinu Select-Object:

Get-Service spooler | Select-Object *

Krutina Select-Object umožňuje získat konkrétní vlastnosti služby. Chcete například zobrazit název, stav a dostupné možnosti služby Spooler:

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

Kameta Get-Service má dva parametry, které umožňují zobrazit závislosti služby:

  • -DependentServices umožňuje zobrazit služby závislé na dané službě
  • -RequiredServices zobrazí služby, na kterých daná služba závisí

Následující příkaz zobrazí služby potřebné ke spuštění služby Spooler:

Get-Service –Name Spooler -RequiredServices

Následující příkaz zobrazí služby, které závisí na službě Spooler:

Get-Service –Name Spooler -DependentServices

.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.