Denne sikkerhedsfejl kan imidlertid opstå, når PowerShell Execution Policy er indstillet til AllSigned eller RemoteSigned, og scriptet ikke er signeret. Hvis du gerne vil signere scriptet og løse dette, er her et par metoder, der kan hjælpe.
Hvad kan jeg gøre, hvis PowerShell ikke er digitalt signeret?
Tjek og ændr Execution Policy
Lad os se på, hvordan du tjekker Execution Policy, samt hvordan dette kan bruges til at slippe af med din fejl. Først og fremmest kan du køre Get-ExecutionPolicy cmdlet for at få din Execution Policy. List-parameteren i Get-ExecutionPolicy cmdlet fortæller dig politikken for hvert scope.
På dette tidspunkt er det en praktisk metode at ændre Execution Policy ved hjælp af SetExecutionPolicy cmdlet. Den følgende kommando indstiller eksekveringspolitikken til Ubegrænset: PS C:> Set-ExecutionPolicy unrestricted. Tryk på Y for at bekræfte ændringen, når du bliver bedt om det.
Politikændringen opdateres i registreringsdatabasen og forbliver på denne måde, i hvert fald indtil du ændrer den igen. Bemærk, at Unrestricted betyder, at der skal indlæses absolut alle konfigurationsfiler og køres alle scripts. Hvis du kører et usigneret script, der er hentet fra internettet, bliver du dog bedt om tilladelse, før det køres.
Bypass den aktuelle PowerShell-session
Et andet hurtigt fix er at køre Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass. Denne enkle kommando ovenfor vil indstille eksekveringspolitikken til at omgå den aktuelle PowerShell-session.
Så snart du lukker denne PowerShell-session, vil disse indstillinger gå tabt.
Gengør blokering af den fil, der blev downloadet
Når eksekveringspolitikken er RemoteSigned, kræver dette, at alle scripts og konfigurationsfiler, der downloades fra internettet eller fra e-mails, er signeret af en betroet udgiver.