Hur fixar jag "Köra skript är inaktiverat i det här systemet" -fel på Powershell?

Powershell är ett ramverk för automatisering och hantering av uppgifter som har utvecklats och publicerats av Microsoft. Det består av ett kommandoradsskal och ett tillhörande språk. Användare kan köra flera cmdlets i programmet. Men nyligen har många rapporter kommit in där användare inte kan köra ett skript och " Köra skript är inaktiverat på detta system " eller " exekvering av skript är inaktiverat i det här systemet " -felet visas i Powershell .

Felet "Köra skript är inaktiverat på den här datorn" -felet

I den här artikeln kommer vi att diskutera orsaken till att detta fel kan utlösas och några hållbara lösningar för att fixa det permanent. Se till att följa stegen noggrant och exakt för att undvika konflikter.

Vad orsakar felet ”Att driva skript är inaktiverat i detta system” -fel?

Efter att ha fått flera rapporter från flera användare beslutade vi att undersöka saken och vår forskning antyder att felet orsakas på grund av följande problem.

  • Inaktiverade skript: Varje skript som du kör på Powershell måste ha en viss verifieringsnivå från pålitliga källor för att det ska fungera. Men i vissa fall, även om skriptet har verifiering, stoppas det fortfarande från körning på grund av begränsad åtkomst. Saken är att Windows har en "Exekveringspolicy" som skriptet måste kringgå för att det ska kunna köras. Om exekveringspolicyn är inställd på ”Begränsad” kan inget skript köras på datorn.

Nu när du har en grundläggande förståelse för problemets natur kommer vi att gå vidare mot lösningarna.

Lösning 1: Lägga till kod

Om du vill köra ett visst skript på din dator utan att gå igenom besväret med att ändra exekveringspolicyn kan du alltid lägga till en kodbit i kommandot som ger skriptet åtkomst genom policyn. För det:

  1. Tryck på “ Windows ” + “ R ” för att öppna körprompt.
  2. Skriv in “ Powershell ” och tryck “ Shift ” + “ Ctrl ” + “ Enter ” samtidigt för att ge administrativ åtkomst.

    Att skriva i “Powershell” och trycka på “Shift” + “Alt” + “Enter”
  3. Skriv in kommandot för att köra ett visst skript som följande kommando.
     c: \> powershell -ExecutionPolicy ByPass -File script.ps1 
  4. Tryck på " Enter " och kontrollera om problemet kvarstår.

Lösning 2: Ändra körningspolicyn

Eftersom exekveringspolicyn ger åtkomst till Powershell för att köra ett visst skript, om det är inställt på begränsat, kommer det att blockera alla skript från att köras. Det finns olika lägen som du kan ställa in policyn till beroende på din situation. Dessa lägen är:

  • Begränsad: Det här läget tillåter inte att några skript körs på datorn.
  • AllSIGN: Genom att välja detta läge kan bara de policyer som är undertecknade av en betrodd utgivare köras på datorn.
  • RemoteSIGN: Alla nedladdade skript måste vara signerade av en betrodd utgivare.
  • Obegränsad: Det finns ingen begränsning för något manus alls.

Nu när du vet vilka nivåer exekveringspolicyn kan ställas in på kan du enkelt välja den bästa för dig beroende på dina krav. För att ändra exekveringspolicyn:

  1. Tryck på “ Windows ” + “ R ” för att öppna körprompt.
  2. Skriv in “Powershell” och tryck “ Shift ” + “ Ctrl ” + “ Enter ” samtidigt för att ge administrativ åtkomst.

    Att skriva i “Powershell” och trycka på “Shift” + “Alt” + “Enter”
  3. Skriv in följande kommando och tryck på "Enter" för att köra det.
     Set-ExecutionPolicy Remotesigning 

    Obs: Ordet " RemoteSIGN " ska ersättas med den säkerhetsnivå som du vill som anges ovan.

  4. Tryck på “ Y ” för att ange ja och detta kommer att ändra grupppolicyn till önskad nivå.

    Ändra grupppolicyn
  5. Kontrollera om problemet kvarstår.

Intressanta Artiklar