Nogle gange vil Windows spærre dig fra PowerShell, med henvisning til en mulighed, der deaktiverer kørende scripts. Sådan løser du det.

Du kører nogle kommandoer på PowerShell og ser pludselig en fejlmeddelelse, der lyder: "PowerShell kan ikke indlæses, fordi kørende scripts er deaktiveret på dette system."

Undrer du dig over, hvad der forårsager dette problem, og hvordan du kan løse det? Vi tager dig igennem de nemme metoder, der kan hjælpe dig med at tackle dette problem én gang for alle.

Lad os dykke ned!

1. Kør PowerShell i administratortilstand

Kører du i øjeblikket PowerShell uden de rigtige administrative rettigheder? Hvis ja, så er det måske der, problemet ligger.

Så lad os undersøge de trin, du skal anvende for at køre værktøjet i administratortilstand:

  1. Trykke Win + X for at åbne menuen Hurtig adgang.
  2. Vælg Windows PowerShell (admin) mulighed.

Og hvis det ikke hjælper, så tjek ud de forskellige måder at åbne Windows PowerShell på. Men du bør kun fokusere på de metoder, der viser dig, hvordan du kører værktøjet med administrative rettigheder.

instagram viewer

2. Skift udførelsespolitikken i PowerShell

I nogle tilfælde kan det hjælpe at ændre udførelsespolitikken. Men før vi udforsker løsningerne, lad os først tage dig igennem, hvad udførelsespolitikken er, og hvordan den fungerer.

Hvad er udførelsespolitikken, og hvordan fungerer den?

Udførelsespolitikken er en sikkerhedsfunktion, der styrer den måde, du kører PowerShell-scripts på på din enhed. Det bestemmer blot, hvilke typer scripts der kan køres, og hvilke der skal undgås. Det bedste er, at du kan konfigurere denne politik efter din smag.

Her er de muligheder, du kan vælge imellem, når du konfigurerer udførelsespolitikken:

  • Begrænset: Denne politik forbyder dig at køre ethvert PowerShell-script.
  • Ubegrænset: Giver dig mulighed for at køre et hvilket som helst script, men viser dig en advarselsmeddelelse, når du kører mistænkelige scripts.
  • Fjernsigneret: Denne politik kræver en digital signatur, når du kører de scripts, som du downloadede online. Det kræver dog ikke en signatur for lokale scripts.
  • Bypass: Dette giver dig mulighed for at køre ethvert script uden nogen begrænsninger. I modsætning til "Ubegrænset"-politikken, vil "ByPass"-politikken ikke vise dig nogen advarselsmeddelelser, når du kører mistænkelige scripts. Så brug altid kun denne politik, når du kører lovlige scripts.
  • Allesigneret: Denne politik kører kun scripts, der er signeret af en betroet udgiver.

Nu, hvis du bruger PowerShell regelmæssigt, vil du måske ændre udførelsespolitikken fra tid til anden. Nogle udførelsespolitikker kan dog vise fejlmeddelelser, når du kører dine PowerShell-scripts.

For eksempel kan aktivering af politikkerne "Begrænset", "Alle signerede" eller "Remote Signed" føre til fejlmeddelelser som fejlen "kørende scripts er deaktiveret".

For at løse problemet skal du blot ændre udførelsespolitikken til "Ubegrænset" eller "ByPass". Men det er ikke alt; du skal også beslutte, hvordan politikken skal implementeres. Vil du f.eks. anvende politikken for alle brugere eller kun for din nuværende PowerShell-session?

Lad os udforske alt det ekstra PowerShell-kommandoer du skal tilføje, når du ændrer udførelsespolitikken:

  • Nuværende bruger: Denne politik vil kun blive anvendt på alle PowerShell-sessioner for den person, der i øjeblikket er logget ind på enheden.
  • LocalMachine: Gælder for alle de brugere, der har en konto på enheden. Denne politik kan kun konfigureres af lokale brugere, der har administrative rettigheder.
  • Behandle: Gælder kun på den aktuelle PowerShell-session. Det betyder, at du bliver nødt til at udføre politikken igen, hvis du starter en ny session.
  • Maskinpolitik: Denne politik gælder for alle brugere, der har en konto på din enhed. Det kan dog kun konfigureres af netværksadministratorer, der har passende tilladelser. Men det er ofte muligt for lokale administratorer at konfigurere denne udførelsespolitik ved hjælp af den lokale gruppepolitikeditor.
  • Brugerpolitik: Gælder for alle PowerShell-sessioner og scripts, der udføres af en bestemt bruger.

Nu hvor alt er klart, lad os undersøge, hvordan du kan udføre de relevante politikker for at løse problemet "PowerShell kan ikke indlæse".

Sådan ændres udførelsespolitikken til "Ubegrænset"

Den bedste måde at tackle det aktuelle problem på er at ændre udførelsespolitikken til "ubegrænset". Men før det skal du kontrollere, hvordan hver udførelsespolitik er konfigureret.

Her er trinene til at kontrollere, hvordan udførelsespolitikkerne er konfigureret:

  1. Trykke Win + X for at åbne menuen Hurtig adgang.
  2. Vælg Windows PowerShell (admin) fra mulighederne.
  3. Indtast følgende kommando og tryk Gå ind:
Get-ExecutionPolicy -Liste

Dette skulle vise dig, hvordan udførelsespolitikkerne er konfigureret for forskellige brugere og systemer.

For at ændre udførelsespolitikken til "Ubegrænset" for den aktuelle aktive bruger, skriv følgende kommando og tryk Gå ind:

Sæt-Udførelsespolitik ubegrænset -Omfang Nuværende bruger

For at ændre udførelsespolitikken til "Ubegrænset" for alle brugere skal du skrive følgende kommando og trykke på Gå ind:

Sæt-Udførelsespolitik ubegrænset -Omfang LocalMachine

Når du er færdig med at køre kommandoen, skal du lukke PowerShell og genstarte din pc for at gemme disse ændringer.

Sådan ændres udførelsespolitikken til "ByPass"

"ByPass"-udførelsespolitikken giver dig mulighed for at køre ethvert PowerShell-script uden besvær. Men husk, at det måske også giver dig mulighed for at køre buggy-filer. Så konfigurer altid kun denne udførelsespolitik, når du kører troværdige PowerShell-filer.

For at ændre udførelsespolitikken til "ByPass" for den aktuelle aktive bruger, skriv følgende kommando og tryk Gå ind:

Sæt-ExecutionPolicy ByPass -Omfang Nuværende bruger

Og for at ændre udførelsespolitikken til "ByPass" for alle brugere, skriv følgende kommando og tryk Gå ind:

Sæt-ExecutionPolicy ByPass -Omfang LocalMachine

Når du er færdig, skal du lukke PowerShell og derefter genstarte din enhed.

3. Skift udførelsespolitikken via den lokale gruppepolitikeditor

Local Group Policy Editor (LGPE) gør det også nemt for dig at ændre udførelsespolitikken. Faktisk kan dette værktøj også hjælpe dig med at konfigurere forskellige systemindstillinger eller fejlfinde tonsvis af pc-problemer.

Husk, at hovedformålet er at ændre udførelsespolitikken, så du vil være i stand til at køre dine PowerShell-scrips uden besvær. Og ved at gøre det slipper du for fejlen "kørende scripts er deaktiveret" på PowerShell.

Sådan ændrer du udførelsespolitikken i LGPE:

  1. Type Rediger gruppepolitik i startmenuens søgelinje, og vælg Bedste match. Alternativt, tjek ud de forskellige måder at åbne LGPE på.
  2. Naviger til Computerkonfiguration > Administrative skabeloner > Windows-komponenter > Windows PowerShell.
  3. Dobbeltklik på Slå scriptudførelse til mulighed.

Tjek Aktiveret boks. Derfra skal du klikke på Udførelsespolitik rullemenuen og vælg Tillad lokale scripts og fjernsignerede scripts. Denne mulighed ligner "RemoteSigned", som vi opdagede tidligere.

Hvis du vil køre alle scripts uden begrænsninger, skal du vælge Tillad alle scripts mulighed fra rullemenuen "Execution Policy".

Klik derfra ansøge og klik derefter Okay for at gemme disse ændringer.

4. Skift udførelsespolitikken ved hjælp af registreringseditoren

Hvis de andre metoder ikke hjalp, så prøv at ændre udførelsespolitikken ved hjælp af registreringseditoren. Du skal dog være forsigtig, når du redigerer registreringsdatabasenøgler. Hvis du justerer de forkerte taster, kan du ende med at beskadige din pc.

Nu, her er, hvordan du ændrer udførelsespolitikken via registreringseditoren:

  1. Trykke Win + R for at åbne dialogboksen Kør kommando.
  2. Type Regedit og tryk Gå ind for at åbne registreringseditoren.
  3. Kopiér-indsæt følgende kommando i adresselinjen og tryk Gå ind:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell

Find Udførelsespolitik værdi i højre side.

Hvis værdien mangler, skal du oprette den ved at følge disse trin:

  1. Højreklik på et tomt felt i højre side.
  2. Vælg Ny > DWORD (32-bit) værdi.
  3. Navngiv værdien som Udførelsespolitik og tryk Gå ind.

Dobbeltklik på Udførelsespolitik værdi. Dernæst skal du skrive Fjernsigneret i afsnittet "Værdidata". Dette vil tillade PowerShell at udføre lokale og signerede scripts.

Alternativt skriv Bypass i afsnittet "Værdidata". Dette vil tillade PowerShell at udføre ethvert script uden begrænsninger.

Når du har indtastet din foretrukne værdi i afsnittet "Værdidata", skal du trykke på Okay for at gemme ændringerne. Luk endelig registreringseditoren og genstart derefter din enhed.

Kør dine PowerShell-scripts uden nogen begrænsninger

Det kan være ret frustrerende, når du pludselig ikke kan udføre bestemte kommandoer på Windows PowerShell. Men hvis du støder på fejlen "scripts er deaktiveret", bør de løsninger, vi har dækket, hjælpe.

Giver PowerShell dig nu ofte andre problemer? Nå, der er flere løsninger, der kan hjælpe dig.