Vodniki

Kako odpraviti napako »Izvajanje skriptov je v tem sistemu onemogočeno« na Powershell?

Powershell je okvir za avtomatizacijo in upravljanje nalog, ki ga je razvil in objavil Microsoft. Sestavljen je iz lupine ukazne vrstice in pripadajočega jezika. Uporabniki lahko v programu izvajajo številne komandne gumbe. Vendar pa v zadnjem času prihaja veliko poročil, v katerih uporabniki ne morejo zagnati skripta inIzvajanje skripta je v tem sistemu onemogočeno" ali "izvajanje skript je v tem sistemu onemogočeno”Se prikaže napaka v Powershell-u.

V tem članku bomo razpravljali o vzroku, zaradi katerega bi se ta napaka lahko sprožila, in nekaterih izvedljivih rešitvah za njeno trajno odpravo. Pazljivo in natančno sledite navodilom, da se izognete konfliktu.

Kaj povzroča napako »Izvajanje skriptov je v tem sistemu onemogočeno«?

Po prejemu številnih poročil več uporabnikov smo se odločili, da bomo zadevo preučili in naše raziskave kažejo, da je napako povzročila naslednja težava.

  • Onemogočeni skripti:Vsak skript, ki ga zaženete na Powershell, mora imeti določeno raven preverjanja iz zaupanja vrednih virov, da lahko deluje. Kljub temu pa ima skript v nekaterih primerih tudi preverjanje, vendar je zaradi omejenega dostopa še vedno ustavljen. Stvar je v tem, da ima Windows "Izvedbeno politiko", ki jo mora skript obiti, da se lahko izvede. Če je politika izvajanja nastavljena na »Omejeno«, potem v računalniku ni mogoče zagnati nobenega skripta.

Zdaj, ko dobro razumete naravo problema, bomo šli k rešitvam.

Rešitev 1: Dodajanje kode

Če želite v računalniku zagnati določen skript, ne da bi pri tem šli skozi težave pri spreminjanju izvedbenega pravilnika, lahko ukazu vedno dodate del kode, ki bo skriptu omogočil dostop do pravilnika. Za to:

  1. Pritisnite “Windows” + “R”, Da odprete poziv za zagon.
  2. Vtipkaj "Powershell"In pritisnite"Shift” + “Ctrl” + “Enter”Hkrati za odobritev administrativnega dostopa.
  3. Vnesite ukaz za izvajanje določenega skripta, kot je naslednji ukaz.
    c: \>PowerHell -ExecutionPolicy ByPass -File script.ps1
  4. Pritisnite “Enter"In preverite če želite preveriti, ali težava še vedno obstaja.

Rešitev 2: Spreminjanje politike izvrševanja

Ker izvedbena politika omogoča dostop do Powershell za zagon določenega skripta, če je nastavljen na omejeno, bo blokiral izvajanje vseh skriptov. Obstajajo različni načini, na katere lahko nastavite pravilnik, odvisno od vaše situacije. Ti načini so:

  • Omejeno:Ta način ne dovoljuje, da se v računalniku zažene noben skript.
  • AllSigned:Z izbiro tega načina lahko v računalniku zaženete samo pravilnike, ki jih podpiše zaupanja vreden založnik.
  • RemoteSigned:Vse prenesene skripte mora podpisati zaupanja vreden založnik.
  • Neomejeno:Za noben skript sploh ni omejitev.

Zdaj, ko poznate ravni, na katere lahko nastavite politiko izvrševanja, lahko enostavno izberete najboljšo za vas, odvisno od vaših zahtev. Če želite spremeniti politiko izvajanja:

  1. Pritisnite “Windows” + “R”, Da odprete poziv za zagon.
  2. Vnesite »Powershell« in pritisnite »Shift” + “Ctrl” + “Enter”Hkrati za odobritev administrativnega dostopa.
  3. Vnesite naslednji ukaz in pritisnite "Enter", da ga izvedete.
    Set-ExecutionPolicy Remoteigned

    Opomba:Beseda "RemoteSigned"Je treba nadomestiti z želeno stopnjo varnosti, kot je navedeno zgoraj.

  4. Pritisnite “Y.", Da potrdite Da, in s tem boste spremenili pravilnik skupine na želeno raven.
  5. Preveri če želite preveriti, ali težava še vedno obstaja.