PowerShell to powłoka wiersza poleceń i język skryptowy firmy Microsoft, który służy do zarządzania systemem oraz automatyzacji zadań. W odróżnieniu od CMD nie operuje wyłącznie na tekście, lecz na obiektach opisujących dane, procesy czy usługi. Dzięki temu nadaje się zarówno do prostych poleceń, jak i budowania rozbudowanych skryptów administracyjnych.
Czym jest PowerShell Windows i dlaczego warto go używać?
PowerShell powstał jako narzędzie dla administratorów i zaawansowanych użytkowników Windows, ale podstawy mogą szybko opanować także osoby bez doświadczenia programistycznego. Pozwala uruchamiać programy, przeglądać pliki, kontrolować usługi, sprawdzać procesy i wykonywać wiele powtarzalnych czynności bez klikania w interfejsie systemu.
Najważniejsza różnica względem Wiersza polecenia polega na sposobie przekazywania danych. CMD przekazuje kolejnym poleceniom głównie tekst. PowerShell przekazuje obiekty, które mają właściwości i metody. Możesz więc filtrować procesy po ich nazwie, identyfikatorze lub zużyciu pamięci bez żmudnego analizowania wyświetlonych znaków.
PowerShell sprawdza się także przy automatyzacji. Zestaw poleceń można zapisać w skrypcie i uruchamiać ponownie, na przykład podczas konfiguracji wielu komputerów albo regularnego monitorowania usług.
Windows PowerShell a PowerShell 7 – jaka jest różnica?
Nazwa „PowerShell Windows” może oznaczać zarówno starszą wersję wbudowaną w system, jak i nowsze wydania instalowane osobno. Rozróżnienie jest ważne, ponieważ obie generacje mają inny zakres zgodności.
| Cecha |
Wiersz polecenia (CMD) |
Windows PowerShell 5.1 |
PowerShell 7+ |
| Baza technologiczna |
Klasyczne polecenia tekstowe |
.NET Framework |
Nowoczesny .NET |
| Obsługiwane systemy |
Windows |
Windows |
Windows, Linux i macOS |
| Format danych |
Tekst |
Obiekty |
Obiekty |
| Główne zastosowanie |
Proste polecenia systemowe |
Zgodność ze starszymi modułami Windows |
Nowa automatyzacja i praca wieloplatformowa |
Windows PowerShell 5.1 jest częścią systemu Windows i nadal bywa potrzebny do obsługi starszych modułów oraz narzędzi administracyjnych. PowerShell 7 jest rozwijany jako nowoczesna, otwartoźródłowa i wieloplatformowa wersja oparta na .NET. Można zainstalować go obok wersji 5.1, dlatego korzystanie z PowerShell 7 nie usuwa starszego środowiska.
Do nowych skryptów zwykle warto wybrać PowerShell 7, o ile używane moduły są z nim zgodne. Przy starszych narzędziach przeznaczonych wyłącznie dla Windows bezpieczniejszym wyborem może pozostać Windows PowerShell 5.1.
Obiekty, cmdlety i potoki – na czym polega działanie PowerShell?
Podstawową jednostką pracy jest cmdlet, czyli wyspecjalizowane polecenie PowerShell. Nazwy cmdletów najczęściej składają się z czasownika i rzeczownika, na przykład Get-Process oznacza pobieranie informacji o procesach.
Cmdlety można łączyć potokiem oznaczanym znakiem |. Wynik jednego polecenia trafia wtedy bezpośrednio do następnego. Ponieważ są to obiekty, kolejne polecenie może korzystać z ich właściwości, zamiast odczytywać sformatowany tekst.
Praca w konsoli jest ułatwiona przez funkcje dostępne między innymi dzięki modułowi PSReadLine. Najważniejsze możliwości to:
- uzupełnianie nazw poleceń i parametrów klawiszem Tab
- historia wcześniej uruchamianych komend
- kolorowanie składni i wygodniejsza edycja wiersza
- łączenie poleceń w potoki i filtrowanie obiektów
Jak zacząć korzystać z PowerShell?
Do pierwszych prób nie potrzebujesz dodatkowego edytora ani skryptu. Wykonaj następujące kroki:
- Otwórz menu Start i wpisz „PowerShell”. Wybierz Windows PowerShell albo PowerShell, jeśli zainstalowano wersję 7.
- Jeżeli zamierzasz zmieniać ustawienia systemowe, wybierz opcję uruchomienia jako administrator. Zwykłe zadania, takie jak odczyt procesów, zwykle nie wymagają podwyższonych uprawnień.
- Wpisz
$PSVersionTable i zatwierdź klawiszem Enter. Zobaczysz informacje o używanym środowisku, w tym numer wersji.
- Uruchom proste polecenie, na przykład
Get-Process, aby wyświetlić działające procesy.
Warto zwrócić uwagę na nazwę środowiska w wyniku. Windows PowerShell 5.1 i PowerShell 7 mogą być zainstalowane równocześnie, ale uruchamiają się z różnych skrótów. Sam fakt, że konsola nosi nazwę PowerShell, nie zawsze oznacza korzystanie z najnowszej wersji.
Podstawowe komendy PowerShell
Poniższe cmdlety wystarczą, aby rozpocząć poznawanie systemu i samodzielnie szukać kolejnych poleceń:
| Cmdlet |
Do czego służy? |
Przykład |
Get-Help |
Wyświetla pomoc dotyczącą poleceń |
Get-Help Get-Process |
Get-Command |
Wyszukuje dostępne polecenia |
Get-Command *service* |
Get-Service |
Pokazuje usługi systemowe |
Get-Service |
Get-Process |
Pokazuje uruchomione procesy |
Get-Process |
Get-Location |
Wyświetla bieżącą lokalizację |
Get-Location |
Get-Help jest najważniejszym poleceniem do nauki. Gdy poznasz nazwę cmdletu, możesz sprawdzić jego opis, parametry i przykłady, wpisując na przykład Get-Help Get-Service -Examples. Zamiast zapamiętywać dziesiątki składni, łatwiej stopniowo poznawać możliwości dostępne w konkretnej wersji PowerShell.
Najlepszy następny krok to uruchomić kilka poleceń odczytujących dane, sprawdzić ich pomoc i obserwować, jak wyniki można przekazywać potokiem do kolejnych cmdletów. W ten sposób PowerShell Windows przestaje być tylko czarnym oknem, a staje się narzędziem do świadomego zarządzania systemem.