Usługi systemu pod kontrolą
Zakładamy, że środowisko PowerShell ISE masz już uruchomione, wpisz w dolnej części polecenie Get-WmiObject win32_service i wciśnij [Enter].
Na wyjściu konsoli (środkowa część okna Windows PowerShell ISE) zobaczysz długą listę kolejno opisanych usług systemowych. Każdy zbiór danych dotyczących pojedynczej usługi zawiera nie tylko nazwę (wewnętrzną) usługi, ale m.in. identyfikator procesu, w którego ramach dana usługa działa – ProcessId, tryb uruchomienia usługi – StartMode czy aktualny stan usługi – State. Już przy domyślnych parametrach polecenie zwraca znacznie więcej danych niż Get-Service, ale prawdziwa siła polecenia Get-WmiObject polega na tym, że pozwala ono wydobyć, a także zmodyfikować informacje dotyczące każdego obiektu zarządzanego przez podsystem WMI (Windows Management Instrumentation).
Zapewne zauważyłeś, że oprócz polecenia Get-WmiObject trzeba również podać nazwę klasy (tu: win32_service), za której pośrednictwem polecenie pobierze informacje na temat obiektów (tu: usług systemowych). Liczba metod i właściwości tej klasy jest na tyle bogata, że możesz uzyskać bardzo rozbudowany zestaw informacji na temat usług systemowych. Zainteresowanych szczegółami odsyłamy do zamieszczonego w serwisie MSDN – Windows Dev Center referencyjnego opisu tej klasy wraz z jej metodami i właściwościami pod adresem http://pcformat.pl/u/222.
Oczywiście do samego wylistowania usług, czy zliczenia ich, znacznie łatwiej posługiwać się poznanym wcześniej poleceniem GetService. Potencjał Get-WmiObject lepiej wykorzystasz przy tworzeniu rozbudowanych raportów lub skryptów zmieniających konfigurację usług, to jednak materiał na odrębny artykuł. W bieżącym posłużymy się jak najprostszymi poleceniami PowerShell.