Pierwszy skrypt
Tym razem chcemy pokazać, że Windows PowerShell jest nie tylko wymiennikiem przestarzałego Wiersza poleceń (cmd.exe), ale też funkcjonalnym językiem skryptowym.
Wykonywanie poleceń cmdlets w trybie interaktywnym jest wygodne przy użyciu standardowej konsoli Windows PowerShell, ale do pisania i testowania skryptów znacznie lepiej wykorzystać środowisko Windows PowerShell Integrated Scripting Engine (w skrócie PowerShell ISE). Jest ono zawarte w pakiecie razem z samym PowerShellem. Musisz też wiedzieć, że w domyślnej konfiguracji Windows nie pozwala na uruchomienie żadnego skryptu – ze względów bezpieczeństwa. Dowiesz się, jak odblokować możliwość wykonywania skryptów (warsztat: „Zasady obsługi skryptów”), a także, jak testować i kontrolować wykonanie poszczególnych poleceń PowerShell dzięki przełącznikom WhatIf i Confirm (warsztat: „Zawory bezpieczeństwa w PowerShell”).
Uruchom środowisko PowerShell ISE, klikając w menu Start skrót (oczywiście możesz również wykorzystać znaną ci już konsolę tekstową PowerShella).
W oknie Windows PowerShell ISE, które w domyślnej konfiguracji powinno być podzielone na trzy części: górną (tekst skryptu), środkową (wyjście konsoli) i dolną (wprowadzanie poleceń), kliknij w dolnej części pod napisem PS C:\Users\Ultimatetester i wpisz polecenie Stop-Process -processName explorer -WhatIf, wciśnij [Enter].
W środkowej części okna zobaczysz wynik z konsoli, czyli wpisane polecenie oraz zwrot:
What If: Performing operation „Stop-Process” on Target „explorer (4984)”.
Jest to jakby objaśnienie, jakie zadanie dane polecenie wykonuje. W tym przypadku jest to polecenie zamykające proces (Stop-Process) powłoki systemu Windows (explorer.exe). Gdyby zostało wykonane bez przełącznika WhatIf, znikłby cały interfejs Windows (pulpit, pasek zadań, menu Start, ikony itp.). Dzięki przełącznikowi WhatIf nic się nie stało. Otrzymałeś jedynie komunikat informujący o tym, co dane polecenie wykonuje.
Użyjmy ponownie poprzedniego przykładu polecenia zamykającego proces powłoki Windows. Wpisz polecenie Stop-Process -processName explorer -Confirm i wciśnij [Enter].
Tym razem zamiast komunikatu zobaczysz w konsoli okienko, w którym wyświetli się opis danego polecenia oraz przyciski umożliwiające kontynuowanie lub przerwanie działania. Okno dialogowe pojawi się, gdy korzystasz z PowerShell ISE. W konsoli tekstowej (PowerShell.exe) komunikat i potwierdzenie wyświetlą się w postaci tekstowej.