PowerShell není digitálně podepsán chyba se často spouští, když uživatelé spustit PowerShell skripty. Obvykle se to děje kvůli hodnotám nastaveným pro zásady provádění PowerShell.
jako součást našich služeb správy serverů pomáháme našim zákazníkům pravidelně opravovat chyby související se systémem windows.
pojďme dnes diskutovat o možných příčinách a opravách této chyby.
co je PowerShell není digitálně podepsaná chyba?
Při pokusu spustit skript prostředí PowerShell, který nebyl podepsán Důvěryhodným Vydavatelem, uživatelé často vidět chyby zabezpečení „PowerShell není digitálně podepsán“, jak je uvedeno níže:
Tato chyba zabezpečení může nastat, když máme AllSigned nebo RemoteSigned Zásad spouštění PowerShell.
Nyní pojďme diskutovat o některých možných metodách, jak tuto chybu opravit.
jak opravit PowerShell není digitálně podepsaná chyba?
existuje několik možných způsobů, jak tuto chybu opravit. Podívejme se na každou z nich jeden po druhém.
Zkontrolujte a změňte zásady provádění
prvním krokem je kontrola zásad provádění. Můžeme spustit rutinu Get-ExecutionPolicy, abychom získali zásady provádění. Parametr seznamu v rutině Get-ExecutionPolicy nám říká zásady pro každý rozsah.
PS C:\> Get-ExecutionPolicy -list
Jakmile máme představu o Provádění politik, nejjednodušší ale nejistá metoda, jak se zbavit této chybové zprávě je změnit Spouštění na neomezenou.
dále můžeme změnit zásady provádění pomocí rutiny SetExecutionPolicy. Následující příkaz nastaví politiku provádění na neomezenou:
PS C:> Set-ExecutionPolicy unrestricted.
stisknutím Y potvrďte změnu po zobrazení výzvy.
To pak aktualizuje změnu politiky, v registru a zůstane to tak, dokud jsme změnit to znovu,
Bypass aktuální PowerShell session
změnit provádění politiky dočasně, můžeme použít Set-zásady Spouštění rutiny se Obejít nastavení.
Set-ExecutionPolicy -Scope Process -ExecutionPolicy ByPass
tento jednoduchý příkaz výše nastaví zásady provádění tak, aby obcházely aktuální relaci PowerShell. Jakmile uzavřeme tuto relaci PowerShell, ztratí tato nastavení.
Přijatelné hodnoty pro Spouštění parametr
Níže je detail přijatelné hodnoty -zásady Spouštění parametr:
- Omezený. Nenačte konfigurační soubory ani nespouštějte skripty. Omezená je výchozí politika provádění.
- AllSigned. Vyžaduje, aby důvěryhodný vydavatel podepsal všechny skripty a konfigurační soubory, včetně skriptů, které píšeme v místním počítači.
- RemoteSigned. Vyžaduje, aby důvěryhodný vydavatel podepsal všechny skripty a konfigurační soubory stažené z Internetu.
- bez omezení. Načte všechny konfigurační soubory a spustí všechny skripty. Požádá o povolení, pokud spustíme nepodepsaný skript stažený z Internetu.
- Bypass. Nebude nic blokovat a neexistují žádná varování ani výzvy.
- nedefinováno. Odstraní aktuálně přiřazené zásady provádění z aktuálního rozsahu. Tento parametr neodstraní zásady provádění nastavené v rozsahu zásad skupiny.
výchozí rozsah pro příkaz Set-ExecutionPolicy je LocalMachine. Můžeme také určit rozsah zásad přidáním parametru-Scope. Například některé z rozsahů, které můžeme nastavit, zahrnují:
- proces: zásady provádění ovlivňují pouze aktuální proces PowerShell.
- CurrentUser: zásady provádění se týkají pouze aktuálního uživatele.
- LocalMachine: zásady provádění se týkají všech uživatelů počítače.
Chcete – li odstranit zásady provádění z určitého rozsahu, nastavte zásady provádění pro tento rozsah na nedefinované.
Odblokování stažený soubor
Pro RemoteSignedExecution Politiky, podepsat všechny skripty a konfigurační soubory stažené z Internetu nebo z e-mailů od důvěryhodného vydavatele.
Pokud věříme, že obsah scénáře jsou v bezpečí, pak můžeme odblokovat to, aby běžet na sezení s použitím Odblokovat-Soubor rutiny:
PS C:> Unblock-File -Path C:Downloadsscript1.ps1
Závěr
stručně řečeno, PowerShell není digitálně podepsán bezpečnostní chybě může dojít při Spuštění prostředí PowerShell Politika je nastavena na AllSigned nebo RemoteSigned. Dnes jsme viděli, jak naši technici podpory tuto chybu opravují.