Pokud se pokusíte spustit skript prostředí PowerShell, který nebyl podepsán Trusted Publisher, může se zobrazit následující chyba zabezpečení.
<Soubor skriptu prostředí PowerShell> není digitálně podepsán. V aktuálním systému nelze spustit
tento skript. Další informace o spouštění skriptů a nastavení zásad spouštění naleznete v části
o_zásadách_spouštění na adrese http://go.microsoft.com/fwlink/?LinkID=135170.
Jak vyřešit chybu Skript prostředí PowerShell není digitálně podepsán?
Existuje několik řešení tohoto problému. Skript prostředí PowerShell, který chcete spustit, můžete podepsat, změnit zásady provádění, obejít zásady nebo odblokovat soubor tak, aby mohl být v dané relaci spuštěn pouze jednou.
Zkontrolujte zásady provádění
Pro získání zásad provádění můžete spustit rutinu Get-ExecutionPolicy.
Můžete také přidat parametr -list pro získání zásad provádění pro každý rozsah.
Trvalá změna zásad provádění
Nejjednodušší, ale nezabezpečený způsob, jak se zbavit tohoto chybového hlášení, je změnit politiku provádění pomocí rutiny Set-ExecutionPolicy a nastavit politiku provádění na neomezenou.
Set-ExecutionPolicy -ExecutionPolicy unrestricted
Dočasná změna zásad provádění
Pro dočasnou změnu zásad provádění můžete použít rutinu Set-ExecutionPolicy s nastavením ByPass.
Set-ExecutionPolicy -ExecutionPolicy ByPass
Níže jsou uvedeny podrobnosti o přípustných hodnotách parametru -ExecutionPolicy:
- Restricted. Nenačítá konfigurační soubory ani nespouští skripty. Restricted je výchozí politika spouštění.
- AllSigned. Vyžaduje, aby všechny skripty a konfigurační soubory byly podepsány důvěryhodným vydavatelem, včetně skriptů, které napíšete na místním počítači.
- RemoteSigned. Vyžaduje, aby všechny skripty a konfigurační soubory stažené z internetu byly podepsány důvěryhodným vydavatelem.
- Unrestricted. Načte všechny konfigurační soubory a spustí všechny skripty. Pokud spustíte nepodepsaný skript stažený z internetu, budete před jeho spuštěním požádáni o povolení.
- Bypass. Nic není blokováno a nejsou zobrazena žádná varování ani výzvy.
- Neurčeno. Odebere aktuálně přiřazenou zásadu provádění z aktuálního rozsahu. Tento parametr neodstraní zásadu provádění, která je nastavena v oboru zásad skupiny.
Výchozí rozsah příkazu Set-ExecutionPolicy je LocalMachine. Můžete také určit, v jakém rozsahu bude zásada nastavena, přidáním parametru -Scope. Níže je uveden podrobný popis rozsahů, které můžete nastavit:
- Process:
- CurrentUser: Zásady provádění ovlivní pouze aktuálního uživatele.
- LocalMachine: Zásady provádění ovlivní pouze aktuálního uživatele:
Chcete-li odstranit zásadu provádění z určitého oboru, nastavte zásadu provádění pro tento obor na hodnotu Undefined.