I Windows 11 (eller 10), som standard, när du försöker köra ett skript på PowerShell, kommer det att misslyckas med ”kan inte laddas eftersom körande skript är inaktiverat på detta system” felmeddelande. Detta beror på att PowerShell kommer med en ”exekveringspolicy”-säkerhetsfunktion som styr hur man laddar konfigurationsfiler och kör skript för att förhindra att skadlig kod körs på systemet.
Om du måste köra ett skript på Windows 11 (eller 10) kan du ändra exekveringspolicyn för den lokala datorn, nuvarande användare eller session.
När du ställer in en PowerShell-exekveringspolicy för den lokala datorn och den nuvarande användaren, kommer informationen att lagras i registret. Om du ställer in policyn för en viss session kommer policyn att lagras i minnet och sedan förloras när du stänger sessionen.
Enligt Microsoft, begränsar inte exekveringspolicyn åtgärden. Du kan alltid kringgå policyn genom att skriva skriptet i kommandoradsgränssnittet (CLI). Körningspolicyn har utformats för att hjälpa användare att förhindra att skadliga skript körs.
Den här guiden lär dig hur du ändrar exekveringspolicyn för att köra skript framgångsrikt på PowerShell på Windows 11 eller 10.
Ändra körningspolicy på PowerShell
För att ändra exekveringspolicyn på PowerShell för att framgångsrikt köra skript på Windows 11 (eller 10), använd dessa steg:
-
Öppna Start.
-
Söka efter PowerShellhögerklicka på det översta resultatet och välj Kör som administratör alternativ.
-
Skriv följande kommando för att bekräfta den aktuella körningspolicyn och tryck Stiga på:
Get-ExecutionPolicy
-
(Valfritt) Skriv följande kommando för att se de effektiva PowerShell-körningsprinciperna och tryck Stiga på:
Get-ExecutionPolicy -List
-
Skriv följande kommando för att tillåta skript att köras och tryck på Stiga på:
Set-ExecutionPolicy RemoteSigned
-
(Valfritt) Skriv följande kommando för att förhindra att skript körs och tryck på Stiga på:
Set-ExecutionPolicy Restricted
När du har slutfört stegen kan du köra skriptet en gång till, och det bör nu köras framgångsrikt på Windows 11. Om du inte längre vill tillåta att skript körs på din dator kan du köra det valfria kommandot som nämns i stegen.
Om du vill ändra exekveringspolicyn för att köra skript för den aktuella användaren eller lokala datorn, måste du använda alternativet ”Omfattning” så här: Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
eller Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
.
I Windows 11 kan du välja mellan fyra olika körningsprinciper för att tillåta eller neka skript:
- Begränsad – blockerar alla skript från att köras.
- Remote Signed — tillåter skript skapade på datorn. Skript som skapats på en annan enhet kommer dock inte att köras om de inte har en pålitlig signatur.
- Allsigned — låter alla skript köras. Dock endast om en betrodd utgivare har inkluderat en signatur.
- Obegränsad – kör alla skript utan begränsningar.
Du behöver inte ändra exekveringspolicyn om du behöver köra ett skript som inte har de nödvändiga parametrarna och som inte returnerar utdata. Istället kan du använda PowerShell.exe -File "FILENAME" -ExecutionPolicy
Bypass-kommando för att kringgå begränsningarna.