Noen ganger vil Windows blokkere deg fra PowerShell, med henvisning til et alternativ som deaktiverer kjørende skript. Slik fikser du det.
Du kjører noen kommandoer på PowerShell og ser plutselig en feilmelding som lyder: "PowerShell kan ikke lastes fordi kjørende skript er deaktivert på dette systemet."
Lurer du på hva som forårsaker dette problemet og hvordan du kan løse det? Vi tar deg gjennom de enkle metodene som kan hjelpe deg med å takle dette problemet en gang for alle.
La oss dykke inn!
1. Kjør PowerShell i administratormodus
Kjører du PowerShell uten de nødvendige administrative rettighetene? I så fall er det kanskje der problemet ligger.
Så la oss utforske trinnene du bør bruke for å kjøre verktøyet i administratormodus:
- trykk Win + X for å åpne Hurtigtilgang-menyen.
- Velg Windows PowerShell (admin) alternativ.
Og hvis det ikke hjelper, sjekk ut de ulike måtene å åpne Windows PowerShell på. Men du bør kun fokusere på metodene som viser deg hvordan du kjører verktøyet med administrative rettigheter.
2. Endre utførelsespolicyen i PowerShell
I noen tilfeller kan det hjelpe å endre utførelsespolicyen. Men før vi utforsker løsningene, la oss først ta deg gjennom hva utførelsespolicyen er og hvordan den fungerer.
Hva er utførelsespolicyen, og hvordan fungerer den?
Utførelsespolicyen er en sikkerhetsfunksjon som kontrollerer måten du kjører PowerShell-skript på enheten din. Det bestemmer ganske enkelt hvilke typer skript som kan kjøres og hvilke som bør unngås. Det beste er at du kan konfigurere denne policyen etter eget ønske.
Her er alternativene du kan velge mellom når du konfigurerer utførelsespolicyen:
- Begrenset: Denne policyen forbyr deg fra å kjøre PowerShell-skript.
- Ubegrenset: Lar deg kjøre et hvilket som helst skript, men viser deg en advarsel når du kjører mistenkelige skript.
- Fjernsignert: Denne policyen krever en digital signatur når du kjører skriptene du lastet ned på nettet. Det krever imidlertid ikke en signatur for lokale skript.
- Bypass: Dette lar deg kjøre et hvilket som helst skript uten noen begrensninger. I motsetning til "Ubegrenset"-policyen, vil ikke "ByPass"-policyen vise deg noen advarselsmeldinger når du kjører mistenkelige skript. Så bruk alltid denne policyen bare når du kjører legitime skript.
- Allsignert: Denne policyen kjører bare skript som er signert av en pålitelig utgiver.
Nå, hvis du bruker PowerShell regelmessig, vil du kanskje endre utførelsespolicyen fra tid til annen. Noen utførelsespolicyer kan imidlertid vise feilmeldinger når du kjører PowerShell-skriptene dine.
For eksempel kan aktivering av retningslinjene «Begrenset», «Allsignert» eller «Remote Signed» føre til feilmeldinger som feilen «kjørende skript er deaktivert».
For å løse problemet, må du ganske enkelt endre utførelsespolicyen til "Ubegrenset" eller "Bypass." Men det er ikke alt; du må også bestemme hvordan politikken skal implementeres. Vil du for eksempel bruke policyen for alle brukere eller bare for din nåværende PowerShell-økt?
La oss utforske alt det ekstra PowerShell-kommandoer du må legge til når du endrer utførelsespolicyen:
- Nåværende bruker: Denne policyen vil bare bli brukt på alle PowerShell-øktene til personen som for øyeblikket har logget på enheten.
- LocalMachine: Gjelder alle brukere som har en konto på enheten. Denne policyen kan bare konfigureres av lokale brukere som har administrative rettigheter.
- Prosess: Gjelder kun på gjeldende PowerShell-økt. Dette betyr at du må utføre policyen på nytt hvis du starter en ny økt.
- Maskinpolitikk: Denne policyen gjelder for alle brukere som har en konto på enheten din. Den kan imidlertid bare konfigureres av nettverksadministratorer som har passende tillatelser. Men det er ofte mulig for lokale administratorer å konfigurere denne utførelsespolicyen ved å bruke den lokale gruppepolicyredigereren.
- Brukerpolicy: Gjelder for alle PowerShell-sesjoner og skriptene som kjøres av en bestemt bruker.
Nå som alt er klart, la oss utforske hvordan du kan utføre de relevante retningslinjene for å takle problemet "PowerShell kan ikke lastes".
Hvordan endre utførelsespolicyen til "Ubegrenset"
Den beste måten å takle problemet på er å endre utførelsespolicyen til «ubegrenset». Men før det må du sjekke hvordan hver utførelsespolicy er konfigurert.
Her er trinnene for å sjekke hvordan utførelsespolicyene er konfigurert:
- trykk Win + X for å åpne hurtigtilgangsmenyen.
- Plukke ut Windows PowerShell (admin) fra alternativene.
- Skriv inn følgende kommando og trykk Tast inn:
Get-ExecutionPolicy -Liste
Dette skal vise deg hvordan utførelsespolicyene er konfigurert for forskjellige brukere og systemer.
For å endre utførelsespolicyen til "Ubegrenset" for gjeldende aktive bruker, skriv inn følgende kommando og trykk Tast inn:
Sett-Utførelsespolicy ubegrenset -omfang Nåværende bruker
For å endre utførelsespolicyen til "Ubegrenset" for alle brukere, skriv inn følgende kommando og trykk Tast inn:
Sett-Utførelsespolicy ubegrenset -omfang LocalMachine
Når du er ferdig med å kjøre kommandoen, lukk PowerShell og start PC-en på nytt for å lagre disse endringene.
Hvordan endre utførelsespolicyen til "ByPass"
"ByPass"-utførelsespolicyen lar deg kjøre et hvilket som helst PowerShell-skript uten problemer. Men husk at det også kan tillate deg å kjøre buggy-filer. Så konfigurer alltid denne utførelsespolicyen bare når du kjører pålitelige PowerShell-filer.
For å endre utførelsespolicyen til "ByPass" for gjeldende aktive bruker, skriv inn følgende kommando og trykk Tast inn:
Sett-Execution Policy Bypass -omfang Nåværende bruker
Og for å endre utførelsespolicyen til "ByPass" for alle brukere, skriv inn følgende kommando og trykk Tast inn:
Sett-Execution Policy Bypass -omfang LocalMachine
Når du er ferdig, lukk PowerShell og start deretter enheten på nytt.
3. Endre utførelsespolicyen via den lokale gruppepolicyredigereren
Local Group Policy Editor (LGPE) gjør det også enkelt for deg å endre utførelsespolicyen. Faktisk kan dette verktøyet også hjelpe deg med å konfigurere ulike systeminnstillinger eller feilsøke tonnevis av PC-problemer.
Husk at hovedmålet er å endre utførelsespolicyen slik at du vil kunne kjøre PowerShell-skriptene dine uten problemer. Og ved å gjøre det, vil du bli kvitt feilen "kjørende skript er deaktivert" på PowerShell.
Slik endrer du utførelsespolicyen i LGPE:
- Type Rediger gruppepolicy i startmenyen, og velg Beste match. Alternativt, sjekk ut de ulike måtene å åpne LGPE.
- Navigere til Datamaskinkonfigurasjon > Administrative maler > Windows-komponenter > Windows PowerShell.
- Dobbeltklikk på Slå på Script Execution alternativ.
Undersøk Aktivert eske. Derfra klikker du på Retningslinjer for utførelse rullegardinmenyen og velg Tillat lokale skript og fjernsignerte skript. Dette alternativet ligner på alternativet "RemoteSigned" som vi oppdaget tidligere.
Hvis du vil kjøre alle skript uten begrensninger, velg Tillat alle skript alternativet fra rullegardinmenyen "Execution Policy".
Derfra klikker du Søke om og klikk deretter OK for å lagre disse endringene.
4. Endre utførelsespolicyen ved hjelp av Registerredigering
Hvis de andre metodene ikke hjalp, kan du prøve å endre utførelsespolicyen ved hjelp av Registerredigering. Du må imidlertid være forsiktig når du redigerer registernøkler. Hvis du justerer feil nøkler, kan du ende opp med å skade PC-en din.
Nå, her er hvordan du endrer utførelsespolicyen via Registerredigering:
- trykk Win + R for å åpne dialogboksen Kjør kommando.
- Type Regedit og trykk Tast inn for å åpne Registerredigering.
- Kopier-lim inn følgende kommando i adressefeltet og trykk Tast inn:
HKEY_LOCAL_MACHINE\PROGRAMVARE\Microsoft\Kraftskall\1\ShellIds\Microsoft.Kraftskall
Finn Utførelsespolicy verdi på høyre side.
Hvis verdien mangler, oppretter du den ved å følge disse trinnene:
- Høyreklikk på en tom plass på høyre side.
- Plukke ut Ny > DWORD (32-biters) verdi.
- Navngi verdien som Utførelsespolicy og trykk Tast inn.
Dobbeltklikk på Utførelsespolicy verdi. Deretter skriver du Fjernsignert i delen "Verdidata". Dette vil tillate PowerShell å kjøre lokale og signerte skript.
Alternativt, skriv Bypass i delen "Verdidata". Dette vil tillate PowerShell å kjøre et hvilket som helst skript uten begrensninger.
Etter å ha angitt din foretrukne verdi i "Verdidata"-delen, trykk OK for å lagre endringene. Til slutt lukker du Registerredigering og start deretter enheten på nytt.
Kjør PowerShell-skriptene dine uten noen begrensninger
Det kan være ganske frustrerende når du plutselig ikke kan utføre visse kommandoer på Windows PowerShell. Men hvis du kommer over feilen "skript er deaktivert", bør løsningene vi har dekket hjelpe.
Nå, gir PowerShell deg ofte andre problemer? Vel, det er flere løsninger som kan hjelpe deg.