Przeglądasz zaktualizowaną wersję artykułu.
poniedziałek,
Windows PowerShell
14 listopada 2006 roku firma Microsoft opublikowała nowy interpreter poleceń.
Interpreter poleceń jest tradycyjnym interfejsem pomiędzy maszyną a człowiekiem w systemie operacyjnym. Obecnie komputery są bardzo popularne i zdecydowana większość użytkowników nie ma przygotowania technicznego, a co za tym idzie, nie są oni zainteresowani pracą w interpreterze wymagającym przynajmniej podstawowej wiedzy o dostępnych poleceniach, jednak narzędzie to może znacznie uprościć i przyśpieszyć pracę np. administratorów systemów.
Każda wersja systemu Windows zawiera interpreter wiersza poleceń (CLI), który służy m.in. do zarządzania systemem. MS-DOS, starszy system z firmy Microsoft, był środowiskiem oferującym wyłącznie CLI. Interpreter wiersza poleceń w systemach MS-DOS i Windows 9x to command.com. Rodzina systemów z linii Windows NT dysponuje interpreterem o nazwie cmd.exe. Windows PowerShell zainstalowany domyślnie obok cmd.exe w każdym Windows, począwszy od Windows 7 z dodatkiem SP1 i Windows Server 2008 R2 z dodatkiem SP1, jest znacznie bardziej rozbudowanym interpreterem w stosunku do poprzedników. Co więcej, interpreter udostępniono także w wersjach dla systemów Linux i OS X.
Wraz z wprowadzeniem platformy .NET środowisko Windows zyskało potężne środowisko programistyczne. Przy tej okazji na platformie .NET zbudowano narzędzie Windows PowerShell. Ma ono umożliwić łatwą automatyzację wielu typowych zadań. Windows PowerShell to powłoka obiektowa, wszystko jest obiektem będącym egzemplarzem klasy szkieletowej platformy .NET. Obiekt zawiera zestaw metod i własności. Pomijając drobne szczegóły, składnia jest praktycznie identyczna ze składnią języka C#. W interpreterze Windows PowerShell polecenia są nazywane poleceniami cmdlet.
Kilka przykładów
Zaprezentowane przykłady należy traktować jedynie jako demonstrację. Może to być także szybkie wprowadzenie do części podstaw PowerShell dla osób zajmujących się programowaniem. Zrzuty ekranowe wykonano w środowisku Linux, jednak oczywiście można je przetestować pod Windowsem. W Linuksie należy doinstalować interpreter, np. w Ubuntu ogranicza się to do jednego polecenia (sudo snap install powershell --classic). Użytkownicy innych dystrybucji muszą sięgnąć do dokumentacji. W systemie Linux PowerShell uruchamiamy poleceniem pwsh. W nowszych systemach Windows narzędzie PowerShell powinno być zainstalowane domyślnie. Można je uruchomić np. poprzez użycie skrótu klawiszowego Win+r i wpisanie polecenia powershell.
Pierwszy przykład z poniższego zrzutu to dość często stosowany sposób rozpoczęcia nauki nowego języka, wypisany zostaje zadany tekst. Drugie polecenie odwołuje się do zmiennej systemowej $PSVersionTable i wydobywa z niej własność PSVersion, która przechowuje informację o wersji interpretera. Trzecie polecenie zwraca datę ustawioną w systemie. Ostatni przykład prezentuje sposób wydobycia ze zwracanej daty jedynie roku (własność Year).
Poniżej zaprezentowano najprostszą metodę technikę analizowania obiektów. Uzyskane nazwy własności i metod można wykorzystać w podobny sposób jak w ostatnim poleceniu z powyższego przykładu.
Aby uniknąć żmudnego wpisywania poleceń cmdlet, udostępniono znany z innych powłok mechanizm aliasów. Listę dostępnych aliasów można uzyskać przy pomocy polecenia Get-Alias.
Poniższe polecenia to przykład tworzenia i wykorzystania nowego aliasu.
Poniższe przykłady dotyczą zmiennych. Zadeklarowano dwie zmienne różnych typów oraz sprawdzono typ. Średnik pozwala na wpisanie w jednym wierszu kilku poleceń. Na końcu przeprowadzono proste działanie arytmetyczne. Nazwa zmiennej rozpoczyna się znakiem dolara.
Poniżej przedstawiono polecenia umożliwiające zapis i odczyt pliku tekstowego. Podana ścieżka dostępu jest charakterystyczna dla środowiska Linux, w systemie Windows należy ją zmodyfikować. Aby mieć dostęp do pliku, musi mieć on odpowiednio ustawione prawa.
Poniżej dla liczb z przedziału 1–4 do pliku zapisano zadany tekst. Mówiąc prościej, zadany tekst zapisano czterokrotnie. Do realizacji pętli wykorzystano polecenie Foreach. W poleceniach pominięto parametr Path. Ostatnie polecenie wypisuje tylko dwa wiersze z pliku (parametr TotalCount).
Pobranie danych od użytkownika i wykonanie prostego działania (obliczono kwadrat podanej liczby).
Przykłady pętli w PowerShell, trzecie polecenie to zadeklarowanie i nadanie wartości tablicy.
Kolejne trzy zrzuty to przykłady dotyczące pobierania strony internetowej. Na pierwszym z nich uzyskano informacje na temat dostępnych własności i metod zwróconego obiektu.
Pobranie kodu HTML odpowiedzialnego za odnośniki internetowe.
Pobranie lokalizacji określonej w linkach.
Ostatni przykład to prezentacja funkcjonalności zbliżonej do uniksowego filtra grep. Pierwsze polecenie tworzy plik zawierający cztery kolejne liczby. Ostatnie polecenie wyświetla jedynie ten wiersz, który zawiera znak "3".