Skrypt PowerShell nie jest podpisany cyfrowo

Podczas próby uruchomienia skryptu PowerShell, który nie został podpisany przez Trusted Publisher, może zostać wyświetlony następujący błąd zabezpieczeń.

<Plik skryptu PowerShell>nie jest podpisany cyfrowo. Nie można uruchomić
tego skryptu w bieżącym systemie. Aby uzyskać więcej informacji na temat uruchamiania skryptów i ustawiania zasad wykonywania, zobacz
about_Execution_Policies na stronie http://go.microsoft.com/fwlink/?LinkID=135170.

Błąd PowerShell

Jak rozwiązać błąd Skrypt PowerShell nie jest podpisany cyfrowo?

Istnieją pewne rozwiązania tego problemu. Możesz podpisać skrypt PowerShell, który chcesz uruchomić, zmienić politykę wykonania, ominąć politykę lub odblokować plik, aby można go było uruchomić raz w danej sesji.

Sprawdź politykę wykonania

Możesz uruchomić cmdlet Get-ExecutionPolicy, aby uzyskać politykę wykonania.

get-executionpolicy

Możesz również dodać parametr -list, aby uzyskać politykę wykonania dla każdego zakresu.

get-executionpolicy -list

Zmień politykę wykonania na stałe

Najprostszą, ale niezabezpieczoną metodą pozbycia się tego komunikatu o błędzie jest zmiana ExecutionPolicy za pomocą cmdletu Set-ExecutionPolicy i ustawienie polityki wykonania na nieograniczoną.

Set-ExecutionPolicy -ExecutionPolicy unrestricted

Change Execution Policy Temporarily

Aby tymczasowo zmienić politykę wykonywania, można użyć cmdletu Set-ExecutionPolicy z ustawieniem ByPass.

Set-ExecutionPolicy -ExecutionPolicy ByPass

Poniżej przedstawiono szczegółowe informacje na temat dopuszczalnych wartości parametru -ExecutionPolicy:

  • Restricted. Nie ładuje plików konfiguracyjnych ani nie uruchamia skryptów. Restricted to domyślna polityka wykonywania.
  • AllSigned. Wymaga, aby wszystkie skrypty i pliki konfiguracyjne były podpisane przez zaufanego wydawcę, w tym skrypty pisane na komputerze lokalnym.
  • RemoteSigned. Wymaga, aby wszystkie skrypty i pliki konfiguracyjne pobierane z Internetu były podpisane przez zaufanego wydawcę.
  • Unrestricted. Wczytuje wszystkie pliki konfiguracyjne i uruchamia wszystkie skrypty. W przypadku uruchomienia niepodpisanego skryptu, który został pobrany z Internetu, przed jego uruchomieniem zostanie wyświetlony monit o zezwolenie.
  • Obejście. Nic nie jest blokowane i nie ma żadnych ostrzeżeń ani monitów.
  • Niezdefiniowane. Usuwa aktualnie przypisaną politykę wykonania z bieżącego zakresu. Ten parametr nie usunie polityki wykonania, która jest ustawiona w zakresie zasad grupy.

Domyślnym zakresem dla polecenia Set-ExecutionPolicy jest LocalMachine. Można również określić, na jakim zakresie zostanie ustawiona polityka poprzez dodanie parametru -Scope. Poniżej znajduje się szczegółowy opis zakresów, które można ustawić:

  • Process: Polityka wykonania wpływa tylko na bieżący proces PowerShell.
  • CurrentUser: Polityka wykonania wpływa tylko na bieżącego użytkownika.
  • LocalMachine: Polityka wykonania wpływa na wszystkich użytkowników komputera.

Aby usunąć politykę wykonania z określonego zakresu, ustaw politykę wykonania dla tego zakresu na Undefined.

Like Loading…

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.