Včasih vam Windows onemogoči uporabo lupine PowerShell, navaja možnost, ki onemogoča izvajanje skriptov. Tukaj je opisano, kako to popraviti.
Izvajate nekaj ukazov v lupini PowerShell in nenadoma vidite sporočilo o napaki, ki se glasi: »PowerShell ni mogoče naložiti, ker je izvajanje skriptov v tem sistemu onemogočeno.«
Se sprašujete, kaj povzroča to težavo in kako jo lahko rešite? Popeljali vas bomo skozi preproste metode, ki vam lahko pomagajo rešiti to težavo enkrat za vselej.
Potopimo se!
1. Zaženite PowerShell v skrbniškem načinu
Ali trenutno uporabljate PowerShell brez ustreznih skrbniških pravic? Če je tako, potem je morda v tem težava.
Torej, raziščimo korake, ki jih morate uporabiti za zagon orodja v skrbniškem načinu:
- Pritisnite Win + X da odprete meni za hitri dostop.
- Izberite Windows PowerShell (skrbnik) možnost.
In če to ne pomaga, preverite različne načine za odpiranje lupine Windows PowerShell. Vendar se morate osredotočiti samo na metode, ki vam pokažejo, kako zagnati orodje s skrbniškimi pravicami.
2. Spremenite pravilnik izvajanja v lupini PowerShell
V nekaterih primerih bi lahko pomagala sprememba pravilnika izvajanja. Toda preden raziščemo rešitve, vas najprej popeljemo skozi to, kaj je politika izvajanja in kako deluje.
Kaj je politika izvajanja in kako deluje?
Politika izvajanja je varnostna funkcija, ki nadzira način izvajanja skriptov PowerShell v vaši napravi. Preprosto določa, katere vrste skriptov je mogoče izvajati in katerim se je treba izogibati. Najboljši del je, da lahko ta pravilnik konfigurirate po svojih željah.
Tu so možnosti, med katerimi lahko izbirate, ko konfigurirate pravilnik izvajanja:
- Omejeno: Ta pravilnik vam prepoveduje izvajanje katerega koli skripta PowerShell.
- Neomejeno: Omogoča zagon katerega koli skripta, vendar prikaže opozorilo, ko zaženete sumljive skripte.
- RemoteSigned: Ta pravilnik zahteva digitalni podpis, ko izvajate skripte, ki ste jih prenesli iz spleta. Vendar pa ne zahteva podpisa za lokalne skripte.
- ByPass: To vam omogoča izvajanje katerega koli skripta brez kakršnih koli omejitev. V nasprotju s pravilnikom »Neomejeno« vam pravilnik »ByPass« ne bo prikazal nobenih opozorilnih sporočil, ko zaženete sumljive skripte. Zato ta pravilnik vedno uporabite samo, ko izvajate zakonite skripte.
- AllSigned: Ta pravilnik izvaja samo skripte, ki jih je podpisal zaupanja vreden izdajatelj.
Če PowerShell uporabljate redno, boste morda želeli občasno spremeniti pravilnik izvajanja. Vendar pa lahko nekateri pravilniki o izvajanju prikažejo sporočila o napakah, ko zaženete skripte PowerShell.
Če na primer omogočite pravilnike »Restricted«, »AllSigned« ali »RemoteSigned«, lahko pride do sporočil o napaki, kot je napaka »running scripts is disabled«.
Če želite odpraviti težavo, bi preprosto morali spremeniti pravilnik izvajanja na »Neomejeno« ali »ByPass«. Vendar to še ni vse; prav tako bi se morali odločiti, kako naj se pravilnik izvaja. Na primer, ali želite pravilnik uporabiti za vse uporabnike ali samo za vašo trenutno sejo PowerShell?
Raziščimo vse dodatne Ukazi PowerShell boste morali dodati, ko spreminjate politiko izvajanja:
- Trenutni uporabnik: Ta pravilnik bo uporabljen samo za vse seje PowerShell osebe, ki je trenutno prijavljena v napravi.
- LocalMachine: Velja za vse uporabnike, ki imajo račun v napravi. Ta pravilnik lahko konfigurirajo samo lokalni uporabniki, ki imajo skrbniške pravice.
- Proces: Velja samo za trenutno sejo PowerShell. To pomeni, da boste morali pravilnik znova izvesti, če začnete novo sejo.
- MachinePolicy: Ta pravilnik velja za vse uporabnike, ki imajo račun v vaši napravi. Vendar pa ga lahko konfigurirajo samo skrbniki omrežja, ki imajo ustrezna dovoljenja. Toda lokalni skrbniki pogosto lahko konfigurirajo ta pravilnik izvajanja z urejevalnikom pravilnika lokalne skupine.
- UserPolicy: Velja za vse seje PowerShell in skripte, ki jih izvede določen uporabnik.
Zdaj, ko je vse jasno, poglejmo, kako lahko izvedete ustrezne pravilnike za reševanje težave »PowerShell se ne more naložiti«.
Kako spremeniti politiko izvajanja na "Neomejeno"
Najboljši način za reševanje problema je, da spremenite politiko izvajanja na "neomejeno". Pred tem pa morate preveriti, kako je konfiguriran vsak pravilnik izvajanja.
Tukaj so koraki za preverjanje, kako so konfigurirani pravilniki o izvajanju:
- Pritisnite Win + X da odprete meni za hitri dostop.
- Izberite Windows PowerShell (skrbnik) od možnosti.
- Vnesite naslednji ukaz in pritisnite Vnesite:
Get-ExecutionPolicy -Seznam
To bi moralo pokazati, kako so pravilniki izvajanja konfigurirani za različne uporabnike in sisteme.
Če želite spremeniti pravilnik izvajanja na »Neomejeno« za trenutnega aktivnega uporabnika, vnesite naslednji ukaz in pritisnite Vnesite:
Set-ExecutionPolicy Unrestricted -Obseg Trenutni uporabnik
Če želite spremeniti pravilnik izvajanja na »Neomejeno« za vse uporabnike, vnesite naslednji ukaz in pritisnite Vnesite:
Set-ExecutionPolicy Unrestricted -Obseg LocalMachine
Ko končate z izvajanjem ukaza, zaprite PowerShell in znova zaženite računalnik, da shranite te spremembe.
Kako spremeniti politiko izvajanja v "ByPass"
Politika izvajanja »ByPass« vam bo omogočila zagon katerega koli skripta PowerShell brez težav. Vendar ne pozabite, da vam lahko omogoči tudi zagon datotek z napakami. Zato ta pravilnik izvajanja vedno konfigurirajte samo, ko izvajate zaupanja vredne datoteke PowerShell.
Če želite spremeniti pravilnik izvajanja v »ByPass« za trenutnega aktivnega uporabnika, vnesite naslednji ukaz in pritisnite Vnesite:
Set-ExecutionPolicy ByPass -Obseg Trenutni uporabnik
Če želite spremeniti politiko izvajanja v »ByPass« za vse uporabnike, vnesite naslednji ukaz in pritisnite Vnesite:
Set-ExecutionPolicy ByPass -Obseg LocalMachine
Ko končate, zaprite PowerShell in znova zaženite napravo.
3. Spremenite pravilnik izvajanja prek urejevalnika pravilnika lokalne skupine
Urejevalnik pravilnika lokalne skupine (LGPE) vam tudi olajša spreminjanje pravilnika izvajanja. Pravzaprav vam lahko to orodje pomaga tudi konfigurirati različne sistemske nastavitve ali odpraviti ogromno težav z računalnikom.
Ne pozabite, da je glavni cilj spremeniti politiko izvajanja, tako da boste lahko brez težav izvajali svoje skripte PowerShell. In s tem se boste znebili napake »izvajanje skriptov je onemogočeno« na PowerShell.
Tukaj je opisano, kako spremenite politiko izvajanja v LGPE:
- Vrsta Urejanje pravilnika skupine v iskalni vrstici menija Start in izberite Najboljše ujemanje. Druga možnost je, da preverite različne načine odpiranja LGPE.
- Pojdite na Konfiguracija računalnika > Administrativne predloge > Komponente sistema Windows > Windows PowerShell.
- Dvokliknite na Vklopite Izvajanje skripta možnost.
Preverite Omogočeno škatla. Od tam kliknite Politika izvajanja spustnem meniju in izberite Dovoli lokalne skripte in oddaljeno podpisane skripte. Ta možnost je podobna možnosti »RemoteSigned«, ki smo jo odkrili prej.
Če želite izvajati vse skripte brez omejitev, izberite Dovoli vse skripte možnost v spustnem meniju »Politika izvajanja«.
Od tam kliknite Prijavite se in nato kliknite v redu da shranite te spremembe.
4. Spremenite pravilnik izvajanja z urejevalnikom registra
Če druge metode niso pomagale, poskusite spremeniti pravilnik izvajanja z urejevalnikom registra. Vendar pa morate biti previdni pri urejanju ključev registra. Če prilagodite napačne tipke, lahko na koncu poškodujete svoj računalnik.
Tukaj je opisano, kako spremenite pravilnik izvajanja prek urejevalnika registra:
- Pritisnite Win + R da odprete pogovorno okno Zaženi ukaz.
- Vrsta Regedit in pritisnite Vnesite da odprete urejevalnik registra.
- Kopirajte in prilepite naslednji ukaz v naslovno vrstico in pritisnite Vnesite:
HKEY_LOCAL_MACHINE\PROGRAMSKA OPREMA\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell
Poiščite ExecutionPolicy vrednost na desni strani.
Če vrednost manjka, jo ustvarite po teh korakih:
- Z desno miškino tipko kliknite prazen prostor na desni strani.
- Izberite Novo > DWORD (32-bitna) vrednost.
- Poimenujte vrednost kot ExecutionPolicy in pritisnite Vnesite.
Dvokliknite na ExecutionPolicy vrednost. Nato vnesite RemoteSigned v razdelku "Podatki o vrednosti". To bo PowerShell omogočilo izvajanje lokalnih in podpisanih skriptov.
Druga možnost je, da vtipkate ByPass v razdelku "Podatki o vrednosti". To bo PowerShell omogočilo izvajanje katerega koli skripta brez omejitev.
Ko vnesete želeno vrednost v razdelku "Podatki o vrednosti", pritisnite v redu da shranite spremembe. Na koncu zaprite urejevalnik registra in znova zaženite napravo.
Zaženite svoje skripte PowerShell brez kakršnih koli omejitev
Lahko je zelo frustrirajoče, ko nenadoma ne morete izvesti določenih ukazov v lupini Windows PowerShell. Če pa naletite na napako »skripti so onemogočeni«, bi vam morale pomagati rešitve, ki smo jih opisali.
Ali vam PowerShell pogosto povzroča druge težave? No, obstaja več rešitev, ki vam lahko pomagajo.