Når du forsøger at køre et PowerShell-script, der ikke er blevet signeret af en betroet udgiver, kan du få følgende sikkerhedsfejl:
“script.ps1 :File path\script.ps1 cannot be loaded. Filen path\script.ps1 er ikke digitalt signeret. Du kan ikke køre dette script på det aktuelle system.”

Denne sikkerhedsfejl kan opstå, når PowerShells eksekveringspolitik er indstillet til Allsigned eller Remotesigned, og scriptet ikke er signeret.

Eksekveringspolitik for Allsigned tillader eksekvering af alle Powershell-scripts, der er signeret. Før du udfører scriptet, bliver du bedt om at bekræfte, at du har tillid til den udgiver, der har signeret scriptet.

Politikken for fjernudførelse begrænser udførelsen af downloadede scripts, der ikke er signeret. Scripts, der udføres fra den lokale computer, behøver ikke at være signeret.

Løsning

Der er forskellige metoder til at afhjælpe denne fejl. Du kan vælge enten at signere PowerShell-scriptet, ændre eksekveringspolitikken, omgå politikken eller ophæve blokering af filen, så den kan køres én gang på den pågældende session.

Tjek eksekveringspolitik

Tjek først og fremmest din eksekveringspolitik ved hjælp af cmdletten Get-ExecutionPolicy

PS C:\> Get-ExecutionPolicyAllSigned

Listeparameteren i cmdletten Get-ExecutionPolicy fortæller dig eksekveringspolitikken for hvert scope.

PS C:\> Get-ExecutionPolicy -list Scope ExecutionPolicy ----- --------------- MachinePolicy Undefined UserPolicy Undefined Process Undefined CurrentUser Undefined LocalMachine RemoteSigned

Standardeksekveringspolitikken for alle Windows-versioner undtagen Windows 2012 R2 er Begrænset. Standardudførelsespolitikken i Windows 2012 R2 er RemoteSigned.

Hændelse af udførelsespolitik permanent

Den nemmeste, men usikre metode til at komme af med denne fejlmeddelelse er at ændre ExecutionPolicy ved hjælp af cmdletten SetExecutionPolicy. 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 der, indtil du ændrer den igen.

Forsøgning af udførelsespolitik midlertidigt

I stedet for at ændre udførelsespolitikken permanent kan du indstille en anden politik for en enkelt PowerShell-session. Dette gøres ved hjælp af ExecutionPolicy-parameteren i powershell.exe

Åbn en kommandoprompt eller PowerShell, og kør kommandoen:

C:\> powershell.exe -executionpolicy -bypass

Overstående kommando åbner en PowerShell-session med eksekveringspolitik for den pågældende session indstillet til Bypass, hvilket betyder, at intet er blokeret.

Blokering af en fil, der blev downloadet

Når eksekveringspolitikken er RemoteSigned, blokeres de filer, der downloades fra internettet (eller fra e-mails), for at beskytte dig mod at køre usikre scripts. Hvis du har tillid til, at indholdet af scriptet er sikkert, kan du ophæve blokeringen af det, så det kan køres på din session ved hjælp af cmdletten Unblock-File

PS C:\> Unblock-File -Path C:\Downloads\script1.ps1

Når du har ændret eksekveringspolitikken permanent eller midlertidigt for en session eller et bestemt script, kan du fortsætte med at køre scriptet, men før du gør det, skal du sikre dig, at indholdet af scriptet ikke skader din computer

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.