Ibland spärrar Windows dig från PowerShell, med hänvisning till ett alternativ som inaktiverar körande skript. Så här fixar du det.

Du kör några kommandon på PowerShell och ser plötsligt ett felmeddelande som lyder: "PowerShell kan inte laddas eftersom att köra skript är inaktiverat på det här systemet."

Undrar du vad som orsakar det här problemet och hur du kan lösa det? Vi tar dig igenom de enkla metoderna som kan hjälpa dig att ta itu med det här problemet en gång för alla.

Låt oss dyka in!

1. Kör PowerShell i administratörsläge

Kör du för närvarande PowerShell utan korrekta administrativa rättigheter? Om så är fallet, så kanske det är där problemet ligger.

Så låt oss utforska stegen du bör tillämpa för att köra verktyget i administratörsläge:

  1. Tryck Win + X för att öppna snabbåtkomstmenyn.
  2. Välj Windows PowerShell (admin) alternativ.

Och om det inte hjälper, kolla in de olika sätten att öppna Windows PowerShell. Men du bör bara fokusera på metoderna som visar hur du kör verktyget med administrativa rättigheter.

instagram viewer

2. Ändra exekveringspolicyn i PowerShell

I vissa fall kan det hjälpa att ändra exekveringspolicyn. Men innan vi utforskar lösningarna, låt oss först ta dig igenom vad exekveringspolicyn är och hur den fungerar.

Vad är utförandepolicyn och hur fungerar den?

Körningspolicyn är en säkerhetsfunktion som styr hur du kör PowerShell-skript på din enhet. Det avgör helt enkelt vilka typer av skript som kan köras och vilka som bör undvikas. Det bästa är att du kan konfigurera den här policyn efter eget tycke.

Här är alternativen du kan välja mellan när du konfigurerar körningspolicyn:

  • Begränsad: Denna policy förbjuder dig att köra något PowerShell-skript.
  • Obegränsad: Låter dig köra vilket skript som helst men visar ett varningsmeddelande när du kör misstänkta skript.
  • Fjärrsignerad: Denna policy kräver en digital signatur när du kör de skript som du laddade ner online. Det kräver dock ingen signatur för lokala skript.
  • Gå förbi: Detta låter dig köra vilket skript som helst utan några begränsningar. Till skillnad från policyn "Obegränsad" kommer policyn "ByPass" inte att visa dig några varningsmeddelanden när du kör misstänkta skript. Så använd alltid denna policy endast när du kör legitima skript.
  • Allsignerad: Denna policy kör endast skript som är signerade av en betrodd utgivare.

Nu, om du använder PowerShell regelbundet, kanske du vill ändra exekveringspolicyn då och då. Vissa körningsprinciper kan dock visa felmeddelanden när du kör dina PowerShell-skript.

Om du till exempel aktiverar policyerna "Restricted", "AllSigned" eller "RemoteSigned" kan det leda till felmeddelanden som felet "körningsskript är inaktiverat".

För att lösa problemet måste du helt enkelt ändra exekveringspolicyn till "Obegränsad" eller "ByPass". Men det är inte allt; du måste också bestämma hur policyn ska implementeras. Vill du till exempel tillämpa policyn för alla användare eller bara för din nuvarande PowerShell-session?

Låt oss utforska alla ytterligare PowerShell-kommandon du måste lägga till när du ändrar exekveringspolicyn:

  • Nuvarande användaren: Denna policy kommer endast att tillämpas på alla PowerShell-sessioner för den person som för närvarande har loggat in på enheten.
  • LocalMachine: Gäller alla användare som har ett konto på enheten. Den här policyn kan endast konfigureras av lokala användare som har administrativa rättigheter.
  • Bearbeta: Gäller endast på den aktuella PowerShell-sessionen. Det betyder att du måste köra policyn igen om du startar en ny session.
  • Maskinpolicy: Denna policy gäller för alla användare som har ett konto på din enhet. Det kan dock bara konfigureras av nätverksadministratörer som har lämpliga behörigheter. Men det är ofta möjligt för lokala administratörer att konfigurera den här exekveringspolicyn med hjälp av den lokala grupprincipredigeraren.
  • Användarpolicy: Gäller alla PowerShell-sessioner och skript som körs av en viss användare.

Nu när allt är klart, låt oss utforska hur du kan utföra relevanta policyer för att ta itu med problemet "PowerShell kan inte laddas".

Hur man ändrar exekveringspolicyn till "Obegränsad"

Det bästa sättet att ta itu med problemet är att ändra avrättningspolicyn till "obegränsad". Men innan dess måste du kontrollera hur varje exekveringspolicy är konfigurerad.

Här är stegen för att kontrollera hur körningspolicyerna är konfigurerade:

  1. Tryck Win + X för att öppna snabbåtkomstmenyn.
  2. Välj Windows PowerShell (admin) från alternativen.
  3. Skriv följande kommando och tryck Stiga på:
Get-ExecutionPolicy -Lista

Detta bör visa dig hur exekveringspolicyerna är konfigurerade för olika användare och system.

För att kunna ändra exekveringspolicyn till "Obegränsad" för den aktuella aktiva användaren, skriv följande kommando och tryck Stiga på:

Uppsättning-ExecutionPolicy Obegränsad -Omfattning Nuvarande användaren

För att ändra exekveringspolicyn till "Obegränsad" för alla användare, skriv följande kommando och tryck Stiga på:

Uppsättning-ExecutionPolicy Obegränsad -Omfattning LocalMachine

När du är klar med att köra kommandot, stäng PowerShell och starta om datorn för att spara dessa ändringar.

Hur man ändrar exekveringspolicyn till "ByPass"

Exekveringspolicyn "ByPass" låter dig köra alla PowerShell-skript utan krångel. Men kom ihåg att det också kan tillåta dig att köra buggyfiler. Så, konfigurera alltid den här exekveringspolicyn endast när du kör pålitliga PowerShell-filer.

För att ändra exekveringspolicyn till "ByPass" för den aktuella aktiva användaren, skriv följande kommando och tryck Stiga på:

Uppsättning-ExecutionPolicy ByPass -Omfattning Nuvarande användaren

Och för att ändra exekveringspolicyn till "ByPass" för alla användare, skriv följande kommando och tryck Stiga på:

Uppsättning-ExecutionPolicy ByPass -Omfattning LocalMachine

När du är klar stänger du PowerShell och startar sedan om enheten.

3. Ändra exekveringsprincipen via den lokala grupprincipredigeraren

Local Group Policy Editor (LGPE) gör det också enkelt för dig att ändra exekveringspolicyn. Faktum är att det här verktyget också kan hjälpa dig att konfigurera olika systeminställningar eller felsöka massor av PC-problem.

Kom ihåg att huvudsyftet är att ändra exekveringspolicyn så att du kommer att kunna köra dina PowerShell-skript utan krångel. Och genom att göra det blir du av med felet "körande skript är inaktiverat" på PowerShell.

Så här ändrar du exekveringspolicyn i LGPE:

  1. Typ Redigera grupppolicy i startmenyns sökfält och välj Bästa matchningen. Alternativt, kolla in de olika sätten att öppna LGPE.
  2. Navigera till Datorkonfiguration > Administrativa mallar > Windows-komponenter > Windows PowerShell.
  3. Dubbelklicka på Aktivera skriptkörning alternativ.

Kolla Aktiverad låda. Därifrån klickar du på Utförandepolicy rullgardinsmenyn och välj Tillåt lokala skript och fjärrsignerade skript. Det här alternativet liknar alternativet "RemoteSigned" som vi upptäckte tidigare.

Om du vill köra alla skript utan begränsningar väljer du Tillåt alla skript alternativet från rullgardinsmenyn "Execution Policy".

Därifrån klickar du Tillämpa och klicka sedan OK för att spara dessa ändringar.

4. Ändra exekveringspolicyn med hjälp av registerredigeraren

Om de andra metoderna inte hjälpte, försök sedan ändra exekveringspolicyn med hjälp av Registereditorn. Du måste dock vara försiktig när du redigerar registernycklar. Om du justerar fel nycklar kan du skada din dator.

Så här ändrar du körningspolicyn via registerredigeraren:

  1. Tryck Win + R för att öppna dialogrutan Kör kommando.
  2. Typ Regedit och tryck Stiga på för att öppna registerredigeraren.
  3. Kopiera-klistra in följande kommando i adressfältet och tryck Stiga på:
HKEY_LOCAL_MACHINE\PROGRAMVARA\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell

Leta upp ExecutionPolicy värde på höger sida.

Om värdet saknas skapar du det genom dessa steg:

  1. Högerklicka på ett tomt utrymme på höger sida.
  2. Välj Nytt > DWORD (32-bitars) värde.
  3. Namnge värdet som ExecutionPolicy och tryck Stiga på.

Dubbelklicka på ExecutionPolicy värde. Skriv sedan Fjärrsignerad i avsnittet "Värdedata". Detta gör att PowerShell kan köra lokala och signerade skript.

Alternativt, skriv Gå förbi i avsnittet "Värdedata". Detta gör det möjligt för PowerShell att köra vilket skript som helst utan begränsningar.

Efter att ha angett önskat värde i avsnittet "Värdedata", tryck på OK för att spara ändringarna. Slutligen, stäng registerredigeraren och starta sedan om enheten.

Kör dina PowerShell-skript utan några begränsningar

Det kan vara ganska frustrerande när du plötsligt inte kan utföra vissa kommandon på Windows PowerShell. Men om du stöter på felet "skript är inaktiverat" bör lösningarna vi har täckt hjälpa.

Nu, ger PowerShell dig ofta andra problem? Tja, det finns fler lösningar som kan hjälpa dig.