Ako zobraziť zoznam všetkých služieb systému Windows pomocou prostredia PowerShell alebo príkazového riadka

Spustené aplikácie, ktoré vidíte na obrazovke, sú zlomkom toho, čo sa deje v systéme Windows(Windows) . Od správy ovládačov zariadení až po zaistenie bezpečnosti, množstvo procesov na pozadí udržiava funkčný počítač so systémom Windows(Windows) .

Pre každého správcu systému, ktorý dohliada na viacero počítačov, je dôležité mať možnosť zobraziť stav týchto kritických služieb. Prístup Správcu úloh(Task Manager) je na to príliš pomalý a nemôžete ho automatizovať pomocou skriptu.

Riešenie? Nástroje príkazového riadku. Pomocou príkazového riadka alebo prostredia PowerShell(Command Prompt or PowerShell) môžete rýchlo získať informácie o prevádzkových službách spoločnosti Microsoft(Microsoft) spustených v systéme, čo vám pomôže rýchlo diagnostikovať akékoľvek problémy. 

Zoznam služieb (Services)systému Windows(Windows) v príkazovom riadku(Command Prompt)

Aj keď nie je taký flexibilný alebo výkonný ako Windows PowerShell , príkazový riadok(the Command Prompt) je stále vynikajúcim nástrojom pre správcov systému. Môžete použiť príkaz queryex na získanie stavu aktívnych aj zakázaných služieb a potom použiť príkaz taskkill(use the taskkill command) na ukončenie otravných procesov.

  1. Ak chcete použiť príkaz queryex, spustite príkazový riadok(Command Prompt) ako správca(Administrator) . Aplikáciu nájdete vyhľadaním cmd v ponuke Štart.

  1. Existuje mnoho spôsobov použitia príkazu sc queryex. Typ a stav(State) sú dva najčastejšie používané parametre. Ak chcete zobraziť všetky procesy systému Windows(Windows) , zadajte napríklad nasledujúci príkaz  :

sc queryex type=service state=all

  1. Predvolené zobrazenie môže byť trochu ohromujúce. Na uľahčenie analýzy zoznamu môžete zobraziť iba názvy procesov:

sc queryex type=service state=all | find /i “SERVICE_NAME:”

  1. V predvolenom nastavení príkaz uvádza zoznam všetkých aktívnych procesov. Ak chcete vyhľadať neaktívne, upravte parameter state:

sc queryex type=service state=inactive

  1. Môžete sa tiež opýtať na stav konkrétneho procesu podľa jeho názvu. To je neuveriteľne užitočné pre správcov systému, pretože môžu nastaviť dávkové súbory na kontrolu mnohých procesov naraz. Tu je príklad:

sc dotaz DeviceInstall(sc query DeviceInstall)

Výpis služieb (Services)systému Windows(Windows) v prostredí PowerShell

PowerShell má byť vyhradeným shellom príkazového riadka pre moderný Windows . Ako taký poskytuje prístup k takmer všetkým komponentom operačného systému prostredníctvom príkazov a služby systému Windows(Windows) nie sú výnimkou.

Výhodou PowerShellu(PowerShell) je, že ho môžete ľahko automatizovať. Všetky príkazy PowerShell možno skompilovať do zložitých skriptov, čo vám umožní bez problémov nastaviť úlohy správy systému na viacerých počítačoch.

  1. Začnite(Start) otvorením PowerShell . Môžete ho vyhľadať v ponuke Štart(Start Menu) ; len sa uistite, že ste spustili zvýšenú inštanciu (tj ako správca(Administrator) ).

  1. Najjednoduchší príkaz na výpis služieb systému Windows v prostredí (Windows)PowerShell je Get-Service . Zobrazuje všetky služby vo vašom počítači spolu s ich stavom a názvami. Jediným problémom je, že zoznam služieb môže byť dosť dlhý.

  1. Pri používaní Get-Service je lepšie exportovať zoznam do textového súboru. Môžete to urobiť pomocou potrubí, ako je tento:

Get-Service | Out-File “C:\logs\All_Services.txt”

  1. Ak chcete vyhľadať stav konkrétnej služby, postupujte podľa príkazu Get-Service s názvom služby. Môžete požiadať o stav viacerých procesov tak, že ich názvy oddelíte čiarkami.

Get-Service CryptSvc, COMSysApp

  1. Pipe možno použiť aj na spojenie cmdlet Get-Service s funkciou (Get-Service)Where-Object a filtrovanie výsledkov podľa stavu(Status) . Nasledujúci príkaz to ilustruje získaním všetkých spustených(Running) služieb:

Get-Service | Where-Object {$_.Status -EQ “Running”}

Kontrola závislostí služieb

Každý zložitý proces je rozdelený do viacerých vzájomne závislých služieb. To je dôvod, prečo jednoduché získanie stavu konkrétnej služby často nestačí. Musíte tiež skontrolovať stav služieb, od ktorých je služba závislá.

  1. Ak chcete zobraziť služby požadované konkrétnou službou, použite príznak -RequiredServices s cmdlet Get-Service . Tu je príklad:

Get-Service – Name CryptSvc – RequiredServices

  1. Podobne, ak chcete získať zoznam služieb, ktoré závisia od konkrétnej služby, použite príznak -DependentServices .

Get-Service -Name CryptSvc -DependentServices

Tieto dva príznaky sú kľúčové pri písaní skriptov na automatické spustenie alebo zastavenie služieb systému Windows(Windows) , pretože vám umožňujú sledovať všetky služby spojené s dotknutou službou.

Výpis služieb (Services)systému Windows(Windows) na vzdialených(Remote) počítačoch

Metóda PowerShell nie je obmedzená na lokálne počítače. Rutina cmdlet Get-Service(Get-Service) s rovnakou syntaxou opísanou vyššie môžete použiť aj na dopytovanie procesov vzdialených počítačov. Stačí(Just) pridať príznak -ComputerName na koniec, aby ste určili, z ktorého vzdialeného počítača sa majú načítať informácie. 

Tu je príklad:

get-service CryptSvc -ComputerName Workstation7

Správa služieb (Services)systému Windows(Windows) v prostredí PowerShell

Získanie stavu služieb nie je jediná vec, ktorú môžete urobiť v prostredí Windows PowerShell . Ako plnohodnotné skriptovacie prostredie poskytuje alternatívy skriptov ku všetkým možnostiam GUI

Rutiny cmdlet Powershell(Powershell) môžu zastaviť, spustiť, reštartovať alebo dokonca upraviť služby. V spojení s automatizovanými príkazmi Get-Service možno písať skripty PowerShell , aby sa plne automatizovali každodenné úlohy správy systému.(PowerShell)

  1. Okrem dotazovania na stav služieb môžete na ich správu použiť aj PowerShell . Spustenie alebo zastavenie služieb je možné vykonať jediným príkazom, ktorý vyžaduje iba názov služby. Napríklad takto môžete zastaviť službu:

Stop-Service - Name Spooler

  1. Spustenie služby prebieha podobne:

Start-Service - Name Spooler

  1. Ak služba nefunguje správne, môžete sa tiež rozhodnúť reštartovať ju:

Restart-Service - Name Spooler

  1. Existuje aj cmdlet Set-Service , ktorý možno použiť na zmenu vlastností služby. Tu zakážeme automatické spustenie služby Print Spooler :

Set-Service 'Spooler' -StartupType Disabled

Aký je najlepší spôsob, ako zobraziť zoznam služieb (Services)systému Windows(List Windows) ?

Či už používate Windows 10 alebo Windows Server , možnosť zobraziť zoznam všetkých služieb Windowsu(Windows) môže byť užitočná. Môžete diagnostikovať problémy s kritickými systémovými funkciami alebo zastaviť nepotrebné služby spoločnosti Microsoft , aby ste zvýšili výkon.

Na tento účel je najlepšou voľbou PowerShell . Aj keď môžete získať zoznam služieb v príkazovom riadku(Command Prompt) , užitočnejšia je doplnková funkcia poskytovaná prostredím PowerShell .

Môžete použiť rutiny cmdlet PowerShell na získanie stavu služby procesov Windows , ich filtrovanie podľa ich stavu alebo iných parametrov. Je tiež ľahké určiť závislé služby a spustiť alebo zastaviť ich podľa potreby.



About the author

Som Windows MVP a pracujem s Windows od roku 2007. Moje skúsenosti zahŕňajú vývoj softvéru, hardvéru a zvuku a aplikácií pre Windows. Vždy hľadám najlepšie spôsoby, ako zlepšiť používateľskú skúsenosť pri mojej práci, takže ak potrebujete pomôcť s návrhom alebo vývojom softvérovej aplikácie, určite môžem ponúknuť svoje služby.



Related posts