Når du forsøger at køre et PowerShell-script, der ikke er blevet signeret af Trusted Publisher, kan du få følgende sikkerhedsfejl.
<PowerShell-scriptfil> er ikke digitalt signeret. Du kan ikke køre
dette script på det aktuelle system. Du kan finde flere oplysninger om kørsel af scripts og indstilling af eksekveringspolitik i
om_Execution_Policies på http://go.microsoft.com/fwlink/?LinkID=135170.
Hvordan løses fejlen PowerShell-scriptet er ikke digitalt signeret?
Der er nogle løsninger på dette problem. Du kan signere det PowerShell-script, du vil køre, ændre eksekveringspolitikken, omgå politikken eller frigøre filen, så den kan køres én gang på den pågældende session.
Tjek eksekveringspolitik
Du kan køre Cmdlet Get-ExecutionPolicy for at få din eksekveringspolitik.
Du kan også tilføje parameteren -list for at få eksekveringspolitikken for hvert anvendelsesområde.
Ændre udførelsespolitik permanent
Den nemmeste, men usikre metode til at slippe af med denne fejlmeddelelse er at ændre ExecutionPolicy ved hjælp af cmdletten Set-ExecutionPolicy og indstille udførelsespolitikken til ubegrænset.
Set-ExecutionPolicy -ExecutionPolicy unrestricted
Forsøg midlertidig ændring af udførelsespolitik
For at ændre udførelsespolitikken midlertidigt kan du bruge cmdlet Set-ExecutionPolicy med ByPass-indstillingen.
Set-ExecutionPolicy -ExecutionPolicy ByPass
Nedenfor er der en detaljeret oversigt over de acceptable værdier for parameteren -ExecutionPolicy:
- Restricted. Indlæser ikke konfigurationsfiler og kører ikke scripts. Restricted er standardudførelsespolitikken.
- RemoteSigned. Kræver, at alle scripts og konfigurationsfiler, der downloades fra internettet, skal være signeret af en betroet udgiver.
- Ubegrænset. Indlæser alle konfigurationsfiler og kører alle scripts. Hvis du kører et usigneret script, der er hentet fra internettet, bliver du bedt om tilladelse, før det køres.
- Bypass. Intet er blokeret, og der er ingen advarsler eller opfordringer.
- Udefineret. Fjerner den aktuelt tildelte eksekveringspolitik fra det aktuelle område. Denne parameter fjerner ikke en eksekveringspolitik, der er angivet i et gruppepolitikområde.
AllSigned. Kræver, at alle scripts og konfigurationsfiler er signeret af en betroet udgiver, herunder scripts, som du skriver på den lokale computer.
Standardområde for kommandoen Set-ExecutionPolicy er LocalMachine. Du kan også angive, på hvilket område politikken skal indstilles ved at tilføje parameteren -Scope. Nedenfor er en detaljeret oversigt over de områder, som du kan indstille:
- Process:
- CurrentUser: Eksekveringspolitikken påvirker kun den aktuelle PowerShell-proces.
- CurrentUser: Eksekveringspolitikken påvirker kun den aktuelle bruger.
- LocalMachine: Eksekveringspolitikken påvirker kun den aktuelle bruger: Hvis du vil fjerne en eksekveringspolitik fra et bestemt anvendelsesområde, skal du indstille eksekveringspolitikken for det pågældende anvendelsesområde til Udefineret.
Ligesom Indlæser…