Jak uruchomić skrypt Powershell i jak ustawić „execution policy”?


 

powershell_ikona_200..czyli pierwsza przygoda z Powershell’em:) Stali czytelnicy naszego Bloga zapewne wiedzą, że dość często dzielimy się ciekawymi skryptami Powershell (zobacz listę) i osoby korzystające z tego genialnego narzędzia powinni być usatysfakcjonowani. W trosce o początkujących, trzeba jednak wrócić do pewnych podstaw. W ramach wprowadzenia, pisaliśmy o instalacji PS 3.0sprawdzaniu wersji – teraz należałoby powiedzieć kilka słów o tym jak się uruchamia skrypty.

 

 

Edycja skryptów Powershell

Do edycji skryptów Powershell wystarczy zwykły edytor tekstowy jak Windowsowy Notatnik, ale osobiście polecam Wam Notepad++ (koloruje składnię), lub jeszcze lepiej: Powershell ISE, który instaluje się wraz z Powershell 3.0 i podpowiada składnię. Powershell ISE
Nieco więcej o edycji skryptów Powershell, w tym o ciekawym narzędziu PowerGui pisał Piotr w „szkole skryptowania

 

Uruchamianie skryptów Powershell

Skrypty Powershell zapisujemy w pliku tekstowym z rozszerzeniem .ps1. Możemy je uruchamiać w konsoli Powershell:

PS C:\users\Administrator d:\skrypty\pierwszy_skrypt.ps1

Pamiętajmy, aby podawać pełną ścieżkę, gdyż pojawi się błąd:

The term pierwszy_skrypt.ps1′ is not recognized as a cmdlet, function, operable program, or script file. Verify the term and try again. At line:1 char:3 + pierwszy_skrypt.ps1

Jesli skrypt znajduje się w bieżącym folderze, uruchamiamy go w formie „.\pierwszy_skrypt.ps1”:

PS D:\skrypty\ .\pierwszy_skrypt.ps1

Skrypty Powershell możemy też uruchamiać w Wierszu Poleceń (CMD) i plikach wsadowych:

powershell d:\skrypty\pierwszy_skrypt.ps1

 

Powershell Execution Policy

Podczas pierwszego uruchomienia, nasz entuzjazm może ostudzić złowieszczy komunikat:

„File d:\skrypty\pierwszy_skrypt.ps1 cannot be loaded. The file D:\skrypt.ps1 is not digitally signed. The script will not execute on the system. Please see „get-help about_signing” for more details.”

W Windowsie istnieje polityka, która determinuje jaki rodzaj skryptów PS jest dozwolony Do sprawdzenia bieżącego ustawienia służy polecenie

Get-ExecutionPolicy

..które zwróci nam jedną z 4 wartości:

Restricted – domyślna i najbardziej restrykcyjna polityka, która nie pozwala uruchamiać żadnych skryptów, ale pozwala korzystać z konsoli PS w trybie interaktywnym. AllSigned – pozwala uruchamiać wyłącznie skrypty podpisane cyfrowo przez zaufanego wydawcę – dotyczy również skryptów,które napisaliśmy sami.
RemoteSigned – skrypty pobrane z internetu muszą być podpisane przez zaufanego wydawcę, a tworzone przez nas będą uruchamiały się normalnie.
Unrestricted – pozwala uruchamiać wszystkie skrypty Powershell Polecam zmienić politykę Restricted na RemoteSigned:

Set-ExecutionPolicy RemoteSigned

Polecenie to trzeba wykonać na koncie z prawami administratora. Zmiana polityki zostanie zapamiętana, więc nie ma potrzeby modyfikowania jej za każdym razem. Teraz możemy cieszyć się dobrodziejstwami Powershella’a tworząc sobie rozmaite skrypty. Jeśli macie jakieś uwagi lub chcecie się podzielić swoimi doświadczeniami – komentujcie :)


Podobne Tematy: