Usługi systemu pod kontrolą
Uruchom środowisko PowerShell ISE i w górnej części okna wpisz pokazany tu skrypt:
W pierwszych dwóch liniach wprowadzasz do skryptu potrzebne zmienne i przyporządkowujesz im wartości. Pierwsza zmienna będzie oznaczała poszukiwany stan usług (running, czyli uruchomione), natomiast druga określa ścieżkę dostępu do wynikowego pliku. Uwaga, folder, w którym wynikowy plik będzie zapisany (tu: C:\PShell) musi już istnieć na dysku.
Pozostałe linie zawierają trzy polecenia oddzielone tzw. znakami potoku (pionowa kreska widoczna na końcu wiersza 4 i 5). Wyjaśnienie tego fragmentu kodu jest następujące: najpierw żądasz pobrania informacji o usługach. Do tego celu wykorzystujesz znane ci już polecenie Get-Service. Nie interesuje cię jednak informacja o wszystkich usługach, lecz tylko uruchomionych, dlatego wynik działania Get-Service przekazujesz (znak potoku) do kolejnego polecenia Where-Object.
Polecenie Where-Object pozwala filtrować otrzymane dane. W nawiasie klamrowym widoczna jest konstrukcja filtru. Najpierw z bieżącego potoku danych wyłapywane są wartości określające stan (ang. status) usługi (zmienna $_.status; zmienna $_ jest w PowerShell zmienną specjalną odwołującą się do bieżącego elementu potoku). Następnie za pomocą operatora porównania oznaczającego równość (-eq) informujesz system, by poszukiwał tylko takich obiektów, które mają stan określony przez zmienną $stanuslugi, czyli w naszym przykładzie: uruchomionych usług. Po zamknięciu nawiasu klamrowego widoczny jest kolejny znak potoku, co oznacza, że wynik działania filtra jest przekierowany do kolejnego polecenia.
Za pomocą ostatniego polecenia skrypt wygeneruje plik wynikowy w miejscu wskazywanym przez zmienną $wynik.