PowerShell nie jest podpisany cyfrowo-Fix it now

PowerShell nie jest cyfrowo podpisany błąd często wyzwala podczas gdy użytkownicy uruchamiają skrypty PowerShell. Zazwyczaj dzieje się tak ze względu na wartości ustawione dla zasad wykonywania programu PowerShell.

w ramach naszych usług zarządzania serwerami pomagamy naszym Klientom regularnie naprawiać błędy związane z systemem windows.

omówmy dzisiaj możliwe przyczyny i poprawki tego błędu.

czym jest PowerShell nie jest cyfrowo podpisany błąd?

podczas próby uruchomienia skryptu PowerShell, który nie został podpisany przez zaufanego wydawcę, użytkownicy często widzą błąd bezpieczeństwa „PowerShell nie jest podpisany cyfrowo”, jak pokazano poniżej:

ten błąd bezpieczeństwa może wystąpić, gdy mamy zasady wykonywania programu PowerShell AllSigned lub RemoteSigned.

omówmy teraz kilka możliwych metod naprawienia tego błędu.

jak naprawić PowerShell nie jest błędem podpisanym cyfrowo?

istnieje kilka możliwych metod naprawienia tego błędu. Przyjrzyjmy się każdemu z nich po kolei.

Sprawdź i zmień zasady wykonywania

pierwszym krokiem jest sprawdzenie zasad wykonywania. Możemy uruchomić polecenie Get-ExecutionPolicy, aby uzyskać zasady wykonywania. Parametr list w poleceniu polecenia Get-ExecutionPolicy mówi nam o zasadach dla każdego zakresu.

PS C:\> Get-ExecutionPolicy -list

gdy mamy już pojęcie o zasadach wykonywania, najprostszą, ale niepewną metodą pozbycia się tego komunikatu o błędzie jest zmiana polityki wykonywania na nieograniczoną.

Co więcej, możemy zmienić politykę wykonania za pomocą polecenia SetExecutionPolicy. Poniższe polecenie ustawia Politykę wykonywania na nieograniczoną:

PS C:> Set-ExecutionPolicy unrestricted.

Naciśnij Y, aby potwierdzić zmianę po wyświetleniu monitu.

następnie aktualizuje zmianę zasad w rejestrze i pozostaje w ten sposób, dopóki nie zmienimy jej ponownie

Pomiń bieżącą sesję PowerShell

aby tymczasowo zmienić politykę wykonywania, możemy użyć polecenia polecenia Set-ExecutionPolicy z ustawieniem ByPass.

Set-ExecutionPolicy -Scope Process -ExecutionPolicy ByPass

To proste polecenie powyżej ustawi politykę wykonywania, aby ominąć bieżącą sesję PowerShell. Po zamknięciu tej sesji PowerShell traci te ustawienia.

dopuszczalne wartości dla parametru ExecutionPolicy

poniżej znajduje się szczegóły dopuszczalnych wartości dla parametru ExecutionPolicy:

  • Restricted. Nie ładuje plików konfiguracyjnych ani nie uruchamia skryptów. Restricted to domyślna zasada wykonania.
  • AllSigned. Wymaga od zaufanego wydawcy podpisania wszystkich skryptów i plików konfiguracyjnych, w tym skryptów, które piszemy na komputerze lokalnym.
  • RemoteSigned. Wymaga od zaufanego wydawcy podpisania wszystkich skryptów i plików konfiguracyjnych pobranych z Internetu.
  • Wczytuje wszystkie pliki konfiguracyjne i uruchamia wszystkie skrypty. Prosi o pozwolenie, jeśli uruchamiamy niepodpisany skrypt pobrany z Internetu.
  • obejście. Nie blokuje niczego i nie ma ostrzeżeń ani monitów.
  • Undefined. Usuwa aktualnie przypisane zasady wykonywania z bieżącego zakresu. Ten parametr nie usunie zasad wykonywania ustawionych w zakresie zasad grupy.

domyślnym zakresem polecenia Set-ExecutionPolicy jest LocalMachine. Możemy również określić zakres polityki poprzez dodanie parametru-Scope. Na przykład, niektóre z zakresów, które możemy ustawić, obejmują:

  • proces: zasada wykonania dotyczy tylko bieżącego procesu PowerShell.
  • CurrentUser: Polityka wykonania dotyczy tylko bieżącego użytkownika.
  • LocalMachine: Polityka wykonania ma wpływ na wszystkich użytkowników komputera.

Ponadto, aby usunąć politykę wykonywania z określonego zakresu, Ustaw politykę wykonywania dla tego zakresu na Undefined.

Odblokuj pobrany plik

W przypadku polityki RemoteSignedExecution podpisz wszystkie skrypty i pliki konfiguracyjne pobrane z Internetu lub z wiadomości e-mail od zaufanego wydawcy.

Jeśli ufamy, że zawartość skryptu jest Bezpieczna, możemy go odblokować, aby działał na sesji przy użyciu polecenia Odblokuj-File:

PS C:> Unblock-File -Path C:Downloadsscript1.ps1

wniosek

krótko mówiąc, PowerShell nie jest podpisem cyfrowym błąd bezpieczeństwa może wystąpić, gdy Polityka wykonania PowerShell jest ustawiona na AllSigned lub RemoteSigned. Dzisiaj widzieliśmy, jak nasi inżynierowie wsparcia naprawiają ten błąd.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.