Jak wyświetlić listę wszystkich usług systemu Windows za pomocą PowerShell lub wiersza poleceń?

Uruchomione aplikacje, które widzisz na ekranie, to ułamek tego, co dzieje się w systemie Windows(Windows) . Od zarządzania sterownikami urządzeń po zapewnianie bezpieczeństwa, wiele procesów działających w tle utrzymuje działający komputer z systemem Windows(Windows) .

Dla każdego administratora systemu nadzorującego wiele komputerów ważne jest, aby móc przeglądać stan tych krytycznych usług. Podejście Menedżera zadań(Task Manager) jest do tego zbyt wolne i nie można go zautomatyzować za pomocą skryptu.

Rozwiązanie? Narzędzia wiersza poleceń. Korzystając z wiersza polecenia lub programu PowerShell(Command Prompt or PowerShell) , możesz szybko zapoznać się z działającymi usługami firmy Microsoft(Microsoft) działającymi w systemie, pomagając w szybkim diagnozowaniu wszelkich problemów. 

Wyświetlanie listy usług (Services)systemu Windows(Windows) w wierszu poleceń(Command Prompt)

Chociaż nie jest tak elastyczny i wydajny jak Windows PowerShell , wiersz polecenia(the Command Prompt) jest nadal doskonałym narzędziem dla administratorów systemu. Możesz użyć polecenia queryex , aby uzyskać stan zarówno aktywnych, jak i wyłączonych usług, a następnie użyć polecenia taskkill(use the taskkill command) , aby zakończyć nieznośne procesy.

  1. Aby użyć polecenia queryex, uruchom wiersz polecenia(Command Prompt) jako administrator . Możesz znaleźć aplikację, wyszukując cmd w menu Start.

  1. Istnieje wiele sposobów wykorzystania polecenia sc queryex. Typ i Stan(State) to dwa najczęściej używane parametry. Na przykład wprowadź następujące polecenie, aby wyświetlić wszystkie  procesy systemu Windows :(Windows)

sc queryex type=service state=all

  1. Widok domyślny może być nieco przytłaczający. Możesz wyświetlić tylko nazwy procesów, aby ułatwić analizę listy:

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

  1. Domyślnie polecenie wyświetla wszystkie aktywne procesy. Aby wyszukać nieaktywne, zmodyfikuj parametr state:

sc queryex type=service state=inactive

  1. Możesz również zapytać o status konkretnego procesu według jego nazwy. Jest to niezwykle przydatne dla administratorów systemu, ponieważ mogą oni konfigurować pliki wsadowe, aby sprawdzać wiele procesów jednocześnie. Oto przykład:

sc zapytanie Instalacja urządzenia(sc query DeviceInstall)

Wyświetlanie listy usług (Services)Windows w PowerShell

PowerShell ma być dedykowaną powłoką wiersza polecenia dla nowoczesnego systemu Windows(Windows) . W związku z tym zapewnia dostęp do prawie każdego składnika systemu operacyjnego za pomocą poleceń, a usługi Windows nie są wyjątkiem.

Zaletą PowerShell(PowerShell) jest to, że możesz go łatwo zautomatyzować. Wszystkie polecenia PowerShell można skompilować w złożone skrypty, co pozwala na bezproblemowe konfigurowanie zadań administracyjnych systemu na wielu komputerach.

  1. Zacznij(Start) od otwarcia PowerShell . Możesz go wyszukać w menu Start(Start Menu) ; po prostu upewnij się, że uruchomiłeś instancję z podwyższonym poziomem uprawnień (tj. jako Administrator ).

  1. Najprostszym poleceniem do wyświetlania usług Windows w (Windows)PowerShell jest Get-Service . Pokazuje wszystkie usługi na twoim komputerze wraz z ich statusem i nazwami. Jedynym problemem jest to, że lista usług może być dość długa.

  1. W przypadku korzystania z Get-Service lepiej jest wyeksportować listę do pliku tekstowego. Możesz to zrobić za pomocą rur, w ten sposób:

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

  1. Aby sprawdzić status określonej usługi, wykonaj polecenie Get-Service z nazwą usługi. Możesz poprosić o status wielu procesów, oddzielając ich nazwy przecinkami.

Get-Service CryptSvc, COMSysApp

  1. Potoki mogą być również używane do łączenia polecenia cmdlet Get-Service z funkcją (Get-Service)Where-Object i filtrowania wyników według Status . Poniższe polecenie ilustruje to, pobierając wszystkie uruchomione(Running) usługi:

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

Sprawdzanie zależności usług

Każdy złożony proces jest dzielony na wiele współzależnych usług. Dlatego samo uzyskanie statusu danej usługi często nie wystarcza. Musisz również sprawdzić status usług, od których usługa jest zależna.

  1. Aby wyświetlić usługi wymagane przez określoną usługę, użyj flagi -RequiredServices z poleceniem cmdlet Get-Service . Oto przykład:

Get-Service -Name CryptSvc –RequiredServices

  1. Podobnie, aby uzyskać listę usług zależnych od określonej usługi, skorzystaj z flagi -DependentServices .

Get-Service -Name CryptSvc -DependentServices

Te dwie flagi są kluczowe przy pisaniu skryptów do automatycznego uruchamiania lub zatrzymywania usług systemu Windows(Windows) , ponieważ umożliwiają śledzenie wszystkich usług połączonych z usługą, której dotyczy problem.

Wyświetlanie listy usług (Services)Windows na zdalnych(Remote) komputerach

Metoda PowerShell nie ogranicza się do komputerów lokalnych. Możesz użyć polecenia cmdlet Get-Service z taką samą składnią, jak opisana powyżej, aby wysyłać zapytania również do procesów zdalnych komputerów. Wystarczy(Just) dołączyć na końcu flagę -ComputerName , aby określić, z którego komputera zdalnego mają być pobierane informacje. 

Oto przykład:

get-service CryptSvc - nazwa_komputera stacja robocza7(get-service CryptSvc -ComputerName Workstation7)

Zarządzanie usługami (Services)Windows w PowerShell

Uzyskanie statusu usług nie jest jedyną rzeczą, którą możesz zrobić w programie Windows PowerShell(Windows PowerShell) . Jako pełnoprawne środowisko skryptowe zapewnia alternatywy skryptowe dla wszystkich opcji GUI

Polecenia cmdlet Powershell(Powershell) mogą zatrzymywać, uruchamiać, ponownie uruchamiać, a nawet modyfikować usługi. W połączeniu ze zautomatyzowanymi poleceniami Get-Service , skrypty PowerShell można pisać, aby w pełni zautomatyzować codzienne zadania zarządzania systemem.

  1. Oprócz sprawdzania stanu usług, możesz także zarządzać nimi za pomocą PowerShell . Uruchamianie lub zatrzymywanie usług można wykonać za pomocą jednego polecenia, wymagającego tylko nazwy usługi. Na przykład w ten sposób możesz zatrzymać usługę:

Zatrzymaj usługę — bufor nazw(Stop-Service -Name Spooler)

  1. Uruchomienie usługi przebiega podobnie:

Start-Service -Spooler nazw(Start-Service -Name Spooler)

  1. Jeśli usługa nie działa poprawnie, możesz ją również uruchomić ponownie:

Usługa ponownego uruchomienia — bufor nazw(Restart-Service -Name Spooler)

  1. Istnieje również polecenie cmdlet Set-Service , którego można użyć do zmiany właściwości usługi. Tutaj wyłączamy automatyczne uruchamianie usługi Bufor wydruku(Print Spooler) :

Set-Service 'Spooler' - StartupType wyłączony(Set-Service ‘Spooler’ -StartupType Disabled)

Jaki jest najlepszy sposób na wyświetlenie listy (List Windows) usług(Services) systemu Windows ?

Niezależnie od tego, czy korzystasz z systemu Windows 10(Windows 10) , czy z systemu Windows Server(Windows Server) , możliwość przeglądania listy wszystkich usług systemu Windows(Windows) może być przydatna. Możesz zdiagnozować problemy z krytycznymi funkcjami systemu lub zatrzymać niepotrzebne usługi firmy Microsoft, aby poprawić wydajność.

W tym celu najlepszym rozwiązaniem jest PowerShell . Chociaż możesz uzyskać listę usług w wierszu polecenia(Command Prompt) , dodatkowa funkcja zapewniana przez PowerShell jest bardziej przydatna.

Za pomocą poleceń cmdlet programu PowerShell można uzyskać stan usługi procesów systemu Windows(Windows) , filtrując je według ich stanu lub innych parametrów. Łatwo jest również określić usługi zależne i uruchamiać lub zatrzymywać je w razie potrzeby.



About the author

Jestem profesjonalnym inżynierem dźwięku z ponad 10-letnim doświadczeniem. Pracowałem przy wielu projektach, od małych domowych systemów audio po duże produkcje komercyjne. Moje umiejętności polegają na tworzeniu doskonałych ścieżek dźwiękowych i narzędzi do przetwarzania dźwięku, dzięki którym muzyka brzmi świetnie. Mam również ogromne doświadczenie w pracy z systemem Windows 10 i mogę pomóc Ci w pełni wykorzystać możliwości systemu komputerowego.



Related posts