Napisałem prosty plik wsadowy jako skrypt PowerShell i otrzymuję błędy podczas ich uruchamiania.
Znajduje się w katalogu skryptów w mojej ścieżce. Oto błąd, który otrzymuję:
Nie można załadować, ponieważ wykonywanie skryptów jest wyłączone w tym systemie. Zobacz „Uzyskaj pomoc dotyczącą podpisywania”.
Szukałem pomocy, ale to mniej niż pomocne.
powershell
DevelopingChris
źródło
źródło
Musisz biegać
Set-ExecutionPolicy
:źródło
Restricted
jest zasadą domyślną. Czytaj więcejPosługiwać się:
Zawsze używaj powyższego polecenia, aby umożliwić wykonywanie programu PowerShell w bieżącej sesji.
źródło
Udało mi się ominąć ten błąd, wywołując PowerShell w następujący sposób:
Oznacza to, że dodałem
-executionpolicy bypass
do sposobu wywoływania skryptu.To działało w systemie Windows 7 z dodatkiem Service Pack 1. Jestem nowy w programie PowerShell, więc mogą istnieć zastrzeżenia dotyczące robienia tego, których nie jestem świadomy.
[Edytuj 2017-06-26] Nadal bez problemu korzystam z tej techniki w innych systemach, w tym Windows 10 i Windows 2012 R2.
Oto, czego teraz używam. Dzięki temu nie mogę przypadkowo uruchomić skryptu, klikając go. Kiedy uruchamiam go w programie planującym, dodaję jeden argument: „harmonogram”, który omija monit.
To również zatrzymuje okno na końcu, więc mogę zobaczyć dane wyjściowe PowerShell.
źródło
Powyższe polecenie działało dla mnie nawet wtedy, gdy wystąpi następujący błąd:
źródło
Warto również wiedzieć, że może być konieczne umieszczenie
.\
przed nazwą skryptu. Na przykład:źródło
Polecenie
set-executionpolicy unrestricted
pozwoli każdemu utworzonemu skryptowi na uruchomienie jako zalogowany użytkownik. Po prostu upewnij się, że ustawiłeś zasady wykonywania z powrotem na podpisane za pomocąset-executionpolicy signed
polecenia przed wylogowaniem.źródło
set-executionpolicy signed
dajeCannot bind parameter 'ExecutionPolicy'
itp.W systemie Windows 10: kliknij opcję zmień właściwość zabezpieczeń pliku myfile.ps1 i zmień opcję „zezwól na dostęp”, klikając prawym przyciskiem myszy / właściwości na pliku myfile.ps1
źródło