Jak uruchomić skrypt Powershell i jak ustawić „execution policy”?
..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.0 i sprawdzaniu 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ę.
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:
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:
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 🙂
witam chciałbym uruchomić skrypt powerschellla o takiej treści
Get-AppxPackage *windowsstore* | Remove-AppxPackage
z konsoli cmd.exe
chciałbym wpisać odpowiednią komendę w cmd i żeby uruchomił się skrypt z tym poleceniem i zrobił swoje czy jest to możliwe a jeżęli tak to prosił bym o pomoc w tej komendzie a jeszcze dokłądnie sjrypt będzie w lokalizacji E pendrive
witam posiadam skrypt powershell który zawiera po polecenie usunięcia aplikacji
chciałbym go uruchomić z konsoli cmd czy jest na to sposób ?
dzień dobry, mam skrypt PowerShell, który uruchamiam klikając na nim na koncie użytkownika. Chcąc jednak wyłączyć funkcję WIndows Update w usługach, potrzebowałbym, aby kliknięcie na plik uruchomiło PowerShell z rolą administratora (inaczej nie uda się wyłączyć danej usługi). Co wpisać w pliku oprócz tych dwóch linijek? Jest jakaś opcja?
stop-service wuauserv
set-service wuauserv -startup disabled
Byłbym wdzięczny za odpowiedź…
Piotr