PowerShell-skriptet är inte digitalt signerat

När du försöker köra ett PowerShell-skript som inte har signerats av Trusted Publisher kan du få följande säkerhetsfel.

<PowerShell-skriptfil> är inte digitalt signerad. Du kan inte köra
det här skriptet på det aktuella systemet. Mer information om att köra skript och ställa in exekveringspolicy finns i
om_Execution_Policies på http://go.microsoft.com/fwlink/?LinkID=135170.

PowerShell-fel

Hur man löser felet PowerShell-skriptet är inte digitalt signerat?

Det finns några lösningar på det här problemet. Du kan signera det PowerShell-skript som du vill köra, ändra exekveringspolicyn, kringgå policyn eller avblockera filen så att den kan köras en gång i den sessionen.

Kontrollera exekveringspolicy

Du kan köra cmdlet Get-ExecutionPolicy för att hämta din exekveringspolicy.

get-executionpolicy

Du kan också lägga till -list-parametern för att hämta exekveringspolicyn för varje scope.

get-executionpolicy -list

Ändra exekveringspolicy permanent

Den enklaste men osäkra metoden för att bli av med det här felmeddelandet är att ändra ExecutionPolicy med hjälp av cmdlet Set-ExecutionPolicy och ange exekveringspolicyn till obegränsad.

Set-ExecutionPolicy -ExecutionPolicy unrestricted

Ändra exekveringspolicy tillfälligt

För att ändra exekveringspolicyn tillfälligt kan du använda cmdlet Set-ExecutionPolicy med inställningen ByPass.

Set-ExecutionPolicy -ExecutionPolicy ByPass

Nedan följer en detaljerad beskrivning av de acceptabla värdena för parametern -ExecutionPolicy:

  • Restricted. Laddar inte konfigurationsfiler eller kör skript. Restricted är standardprincipen för körning.
  • AllSigned. Kräver att alla skript och konfigurationsfiler signeras av en betrodd utgivare, inklusive skript som du skriver på den lokala datorn.
  • RemoteSigned. Kräver att alla skript och konfigurationsfiler som hämtas från Internet signeras av en betrodd utgivare.
  • Obegränsad. Laddar alla konfigurationsfiler och kör alla skript. Om du kör ett osignerat skript som laddats ner från Internet uppmanas du att begära tillstånd innan det körs.
  • Bypass. Ingenting blockeras och det finns inga varningar eller uppmaningar.
  • Odefinierad. Tar bort den för närvarande tilldelade exekveringsprincipen från det aktuella tillämpningsområdet. Den här parametern tar inte bort en exekveringsprincip som är inställd i ett grupprincipområde.

Standardområde för kommandot Set-ExecutionPolicy är LocalMachine. Du kan också ange i vilket scope policyn ska ställas in genom att lägga till parametern -Scope. Nedan följer en detaljerad beskrivning av de områden som du kan ställa in:

  • Process:
  • CurrentUser: Exekveringspolicyn påverkar endast den aktuella användaren.
  • LocalMachine: Exekveringspolicyn påverkar endast den aktuella användaren:

Om du vill ta bort en exekveringsprincip från ett visst tillämpningsområde ställer du in exekveringspolicyn för det tillämpningsområdet på Undefined.

Som Laddar…

Lämna ett svar

Din e-postadress kommer inte publiceras.