Jak zobrazit seznam všech služeb systému Windows pomocí prostředí PowerShell nebo příkazového řádku


Spuštěné aplikace, které vidíte na obrazovce, představují zlomek toho, co se děje ve Windows. Od správy ovladačů zařízení až po zajištění zabezpečení, spousta procesů na pozadí udržuje funkční počítač se systémem Windows.

Pro každého správce systému, který dohlíží na více počítačů, je důležité mít možnost zobrazit stav těchto kritických služeb. Přístup Správce úloh je na to příliš pomalý a nelze jej automatizovat pomocí skriptu.

Řešení? Nástroje příkazového řádku. Pomocí Příkazový řádek nebo PowerShell můžete rychle získat přehled o provozních službách společnosti Microsoft běžících v systému, což vám pomůže rychle diagnostikovat jakékoli problémy.

Výpis služeb systému Windows v příkazovém řádku

I když není tak flexibilní nebo výkonný jako Windows PowerShell, příkazový řádek je stále vynikajícím nástrojem pro systémové administrátory. Můžete použít příkaz queryex k získání stavu aktivních i deaktivovaných služeb a poté použijte příkaz taskkill k ukončení otravných procesů.

  1. Chcete-li použít příkaz queryex, spusťte příkazový řádek jako správce. Aplikaci najdete vyhledáním cmd v nabídce Start.
    1. Existuje mnoho způsobů použití příkazu sc queryex. Typ a stav jsou dva nejčastěji používané parametry. Chcete-li například zobrazit všechny procesy systému Windows, zadejte následující příkaz:
    2. sc queryex type=service state=all

      1. Výchozí zobrazení může být trochu ohromující. Pro snazší analýzu seznamu můžete zobrazit pouze názvy procesů:
      2. sc queryex type=service state=all | vyhledejte /i „SERVICE_NAME:“

        1. Ve výchozím nastavení příkaz uvádí všechny aktivní procesy. Chcete-li vyhledat neaktivní, upravte parametr state:
        2. sc queryex type=service state=inactive

          1. Můžete se také dotázat na stav konkrétního procesu podle jeho názvu. To je neuvěřitelně užitečné pro systémové administrátory, protože mohou nastavit dávkové soubory pro kontrolu mnoha procesů najednou. Zde je příklad:
          2. sc dotaz DeviceInstall

            Výpis služeb systému Windows v prostředí PowerShell

            .

            PowerShell má být vyhrazeným shellem příkazového řádku pro moderní Windows. Jako takový poskytuje přístup k téměř každé součásti operačního systému prostřednictvím příkazů a služby Windows nejsou výjimkou.

            Výhodou PowerShellu je, že jej můžete snadno automatizovat. Všechny příkazy PowerShellu lze zkompilovat do složitých skriptů, což vám umožní bez problémů nastavit úlohy správy systému na více počítačích.

            1. Začněte otevřením PowerShellu. Můžete jej vyhledat v nabídce Start; jen se ujistěte, že spouštíte zvýšenou instanci (tj. jako správce).
              1. Nejjednodušší příkaz pro výpis služeb systému Windows v prostředí PowerShell je Get-Service . Zobrazuje všechny služby ve vašem počítači spolu s jejich stavem a názvy. Jediný problém je, že seznam služeb může být pěkně dlouhý.
                1. Při použití Get-Service je lepší exportovat seznam do textového souboru. Můžete to provést pomocí potrubí, jako je tento:
                2. Získejte službu | Out-File „C:\logs\All_Services.txt“

                  1. Chcete-li zjistit stav konkrétní služby, použijte příkaz Get-Service s názvem služby. Můžete požádat o stav více procesů tak, že jejich názvy oddělíte čárkami.
                  2. Get-Service CryptSvc, COMSysApp

                    1. Pipes lze také použít ke kombinaci rutiny Get-Service s funkcí Where-Object a filtrování výsledků podle stavu. Následující příkaz to ilustruje získáním všech spuštěných služeb:
                    2. Získejte službu | Where-Object {$_.Status -EQ „Running“}

                      Kontrola závislostí služeb

                      Jakýkoli složitý proces je rozdělen do několika vzájemně závislých služeb. To je důvod, proč pouhé získání stavu konkrétní služby často nestačí. Musíte také zkontrolovat stav služeb, na kterých je služba závislá.

                      1. Chcete-li zobrazit služby požadované konkrétní službou, použijte příznak -RequiredServices s rutinou Get-Service . Zde je příklad:
                      2. .

                        Get-Service – Name CryptSvc – RequiredServices

                        1. Podobně, chcete-li získat seznam služeb, které závisí na konkrétní službě, využijte příznak -DependentServices .
                        2. Get-Service – Name CryptSvc –DependentServices

                          Tyto dva příznaky jsou klíčové při psaní skriptů pro automatické spouštění nebo zastavování služeb Windows, protože umožňují sledovat všechny služby spojené s dotčenou službou.

                          Výpis služeb systému Windows na vzdálených počítačích

                          Metoda PowerShell není omezena na místní počítače. Rutinu Get-Service se stejnou syntaxí popsanou výše můžete použít také k dotazování na procesy vzdálených počítačů. Stačí na konec přidat příznak -ComputerName , abyste určili, ze kterého vzdáleného počítače se mají načíst informace.

                          Zde je příklad:

                          get-service CryptSvc -ComputerName Workstation7

                          Správa služeb Windows v prostředí PowerShell

                          Zjištění stavu služeb není jediná věc, kterou můžete v prostředí Windows PowerShell dělat. Jako plnohodnotné skriptovací prostředí poskytuje alternativy skriptů ke všem možnostem GUI.

                          Rutiny Powershell mohou zastavovat, spouštět, restartovat nebo dokonce upravovat služby. Ve spojení s automatickými příkazy Get-Service lze psát skripty PowerShellu, které plně automatizují každodenní úlohy správy systému.

                          1. Kromě dotazování na stav služeb můžete k jejich správě použít také PowerShell. Spuštění nebo zastavení služeb lze provést jediným příkazem, který vyžaduje pouze název služby. Například takto můžete zastavit službu:
                          2. Stop-Service – Name Spooler

                            1. Spuštění služby probíhá podobně:
                            2. Start-Service – Name Spooler

                              1. Pokud služba nefunguje správně, můžete ji také restartovat:
                              2. Restart-Service – Name Spooler

                                1. K dispozici je také rutina Set-Service, kterou lze použít ke změně vlastností služby. Zde zakážeme automatické spouštění služby Print Spooler:
                                2. .

                                  Set-Service ‘Spooler’ – StartupType Disabled

                                  Jaký je nejlepší způsob, jak uvést služby Windows?

                                  Ať už používáte Windows 10 nebo Windows Server, může být užitečné zobrazit seznam všech služeb Windows. Můžete diagnostikovat problémy s kritickými funkcemi systému nebo zastavit nepotřebné služby společnosti Microsoft pro zlepšení výkonu.

                                  Pro tento účel je nejlepší volbou PowerShell. I když seznam služeb můžete získat v příkazovém řádku, užitečnější jsou další funkce poskytované prostředím PowerShell.

                                  K získání stavu služeb procesů Windows můžete použít rutiny PowerShell, které můžete filtrovat podle stavu nebo jiných parametrů. Je také snadné určit závislé služby a podle potřeby je spustit nebo zastavit.

                                  .

                                  Související příspěvky:


                                  26.06.2022