Det här säkerhetsfelet kan dock uppstå när PowerShell Execution Policy är inställd på AllSigned eller RemoteSigned och skriptet inte är signerat. Om du vill signera skriptet och lösa detta finns här några metoder som kan hjälpa dig.
Vad kan jag göra om PowerShell inte är digitalt signerad?
Kontrollera och ändra exekveringspolicy
Här tar vi en titt på hur du kontrollerar exekveringspolicyn, samt hur detta kan användas för att bli av med felet. Först och främst kan du köra cmdlet Get-ExecutionPolicy för att få fram din Execution Policy. Parametern list i cmdlet Get-ExecutionPolicy talar om vilken policy som gäller för varje scope.
En praktisk metod är i det här läget att ändra Execution Policy med hjälp av cmdlet SetExecutionPolicy. Följande kommando ställer in exekveringsprincipen till Unrestricted (obegränsad): PS C:> Set-ExecutionPolicy unrestricted. Tryck på Y för att bekräfta ändringen när du blir tillfrågad.
Principändringen uppdateras i registret och förblir så, åtminstone tills du ändrar den igen. Observera att Unrestricted innebär att man absolut laddar alla konfigurationsfiler och kör alla skript. Om du kör ett osignerat skript som laddats ner från Internet blir du dock tillfrågad om tillstånd innan det körs.
Bypassa den aktuella PowerShell-sessionen
En annan snabb lösning är att köra Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass. Detta enkla kommando ovan ställer in exekveringspolicyn så att den förbigår den aktuella PowerShell-sessionen.
Även bättre, när du stänger den här PowerShell-sessionen försvinner inställningarna.
Unblockera filen som hämtades
När exekveringspolicyn är Fjärrsignerad krävs det att alla skript och konfigurationsfiler som laddas ner från Internet eller från e-post är signerade av en betrodd utgivare.