- Klaida vykdant scenarijus „PowerShell Windows 11“ sistemoje atsiranda dėl numatytųjų saugos apribojimų.
- Yra keli būdai, kaip modifikuoti vykdymo politiką ir įjungti scenarijus pagal vartotojo poreikius.
- Tinkama saugumo konfigūracija leidžia kontroliuoti scenarijų vykdymą, sumažinant riziką sistemai.
Ar neseniai susidūrėte su erzinančiu pranešimu „Failo įkelti negalima, nes šioje sistemoje išjungtas scenarijaus vykdymas." bandant paleisti scenarijų programoje „PowerShell“ sistemoje „Windows 11“Jūs ne vienas. Tai viena iš tų situacijų, kuri varo iš proto tiek pradedančiuosius vartotojus, tiek patyrusius kūrėjus. Šio tipo klaida Paprastai tai pasirodo, kai norime automatizuoti užduotis arba išbandyti mažus scenarijus. Ir staiga sistema mus sustabdo dėl problemos, kuri, regis, slypi už saugumo sluoksnių ir nežinomos politikos.
Šiame straipsnyje aš paaiškinu Viskas, ką reikia žinoti apie „PowerShell“ scenarijaus vykdymo klaidą sistemoje „Windows 11“, naudodami draugišką ir praktišką požiūrį, kad galėtumėte tai suprasti net ir neturint daug techninės patirties. Išsamiai aptarsime priežastis, saugumo politiką, trikčių šalinimo veiksmus ir labiausiai rekomenduojamas alternatyvas, atsižvelgdami į jūsų saugumą ir poreikius. Taip pat paaiškinsiu visus dažniausiai užduodamus klausimus ir kai kuriuos techninius niuansus, kurie dažnai nepastebimi kituose vadovėliuose.
Kodėl „PowerShell“ gaunu scenarijaus vykdymo klaidą?
Klasikinis klaidos pranešimas gali šiek tiek skirtis, bet beveik visada rašoma kažkas panašaus į: No se puede cargar el archivo <ruta_del_script> porque la ejecución de scripts está deshabilitada en este sistema. Šis įspėjimas nereiškia, kad kompiuteryje yra virusas arba kad jūsų „Windows“ yra pažeista.; priežastis slypi tame, kaip sukonfigūruotos „PowerShell“ saugos politikos.
„Microsoft“ griežtina saugumo politiką kiekvienoje naujoje „Windows“ versijoje, ypač nuo „Windows 10“ ir „Windows 11“. Pagal numatytuosius nustatymus, „PowerShell“ scenarijų vykdymas yra ribojamas siekiant užkirsti kelią nekontroliuojamam kenkėjiško kodo veikimuiTai teigiamas dalykas daugumai vartotojų, tačiau kūrėjams ir administratoriams tai gali būti erzinantis apribojimas.
Kai kurie dažniausiai pasitaikantys klaidų pranešimai:
- Nepavyksta įkelti failo C:\my_script.ps1. Šioje sistemoje scenarijaus vykdymas išjungtas. Daugiau informacijos žr. skyriuje „Get-Help about_signing“.
- Failo įkelti negalima, nes šioje sistemoje išjungtas scenarijaus vykdymas. Daugiau informacijos žr. about_Execution_Policies.
- Failas C:\my_script.ps1 nėra pasirašytas skaitmeniniu būdu. Scenarijus sistemoje neveiks.
Pagrindinė priežastis yra vykdymo politika, sukonfigūruota „PowerShell“ programoje.Šios politikos apibrėžia, ar scenarijų failai gali būti vykdomi ir kokiomis sąlygomis. Pagal numatytuosius nustatymus įjungta griežčiausia politika: Ribota, kuris neleidžia automatiškai vykdyti scenarijų.
Kas yra „PowerShell“ vykdymo politikos ir kodėl jos svarbios?

„Windows PowerShell“ naudoja vykdymo politikų sistemą, kad nuspręstų, kurie scenarijai gali būti vykdomi ir kokiomis aplinkybėmis.. Tai būtina sistemos saugumui., nes tai neleidžia paleisti potencialiai žalingo kodo, atsisiųsto iš interneto arba gauto el. paštu.
Pagrindinės politikos kryptys, kurias galite rasti, yra šios:
- Ribota: Tai yra numatytoji „Windows 11“ politika. Neleidžia vykdyti jokio scenarijaus, tik interaktyvios komandos.
- Viskas Pasirašyta: Leisti vykdyti tik tuos scenarijus ir konfigūracijos failus, kuriuos skaitmeniniu parašu pasirašė patikimas leidėjas.
- „RemoteSigned“Vietiniai scenarijai veikia be problemų, tačiau iš interneto atsisiųsti scenarijai turi būti skaitmeniniu parašu pasirašyti patikimo leidėjo.
- Neribota: Leidžia paleisti bet kokį scenarijų, tačiau rodo įspėjimą, jei scenarijus gaunamas iš interneto.
Svarbu pasirinkti tinkamą politikąJei norite paleisti tik vietinį scenarijų, gali pakakti „RemoteSigned“. Jei esate kūrėjas ir pasitikite savo kodu, gali pakakti perjungti į „Unrestricted“, tačiau visada darykite tai atsargiai.
Kaip nustatyti dabartinę vykdymo politiką sistemoje „Windows 11“?
Prieš ką nors keičiant, pravartu žinoti, kokia politika yra aktyvi.. Patikrinti:
- Atidarykite „PowerShell“.Tai galite padaryti meniu Pradėti, ieškodami „PowerShell“. Jei reikia atlikti pakeitimų, atlikite tai kaip administratorius.
- Įveskite šią komandą:
Get-ExecutionPolicy -List
Bus rodomas skirtingose srityse (vartotojas, vietinė sistema, procesas ir kt.) taikomų politikų sąrašas. Paprastai aktyvi politika bus rodoma kaip „Apribota“. Daugeliu atvejų.
Sprendimai: kaip žingsnis po žingsnio įjungti scenarijaus vykdymą

Yra keli būdai, kaip išspręsti klaidą, ir kiekvienas iš jų Tai priklauso nuo to, kokį saugumo lygį norite išlaikyti. ir kontekstą, kuriame dirbate. Štai pagrindinės parinktys:
Laikinai pakeisti vykdymo politiką (dabartinė sesija)
Jei scenarijų reikia paleisti tik vieną kartą ir nenorite, kad pakeitimas būtų nuolatinis, galite tai padaryti taip:
- Atidarykite „PowerShell“ kaip administratorių.
- Vykdyti:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Unrestricted
Tai paveikia tik atidarytą „PowerShell“ langą.Uždarius, politika grįš į ankstesnę būseną.
Nustatykite vykdymo politiką visam vartotojui arba sistemai
Norėdami, kad pakeitimas išliktų neribotą laiką, naudokite vieną iš šių komandų, jei reikia:
- Dabartiniam vartotojui:
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned - Visos sistemos (reikalingos administratoriaus teisės):
Set-ExecutionPolicy -Scope LocalMachine -ExecutionPolicy RemoteSigned
Parametras -Vykdymo politika galite jį modifikuoti Neribota, Viskas Pasirašyta o „RemoteSigned“ priklausomai nuo to, ko jums reikia. „RemoteSigned“ dažnai yra labiausiai subalansuotas pasirinkimas vartotojams ir kūrėjams.
Vykdymo politikos keitimas „Windows 11“ nustatymuose
Kita mažiau techninė alternatyva – pasiekti sistemos parinktis:
- Atidarykite „Windows 11“ nustatymus (galite bakstelėti „Win + I“).
- Eik į Privatumas ir saugumas > Kūrėjams.
- Ieškokite „PowerShell“ skyriaus.
- Įgalina parinktį vykdyti nepasirašytus vietinius scenarijus ir reikalauja parašo tik nuotoliniams scenarijams.
Šis metodas idealiai tinka tiems, kurie nenori liesti komandų ir renkasi paprastą, grafinį variantą.
Dažniausios klaidos ir saugos rekomendacijos
Scenarijaus vykdymo įgalinimas gali būti rizikingas, jei vykdomas procesas nėra gerai kontroliuojamas.Svarbu laikytis šių rekomendacijų:
- Neatsisiųskite ir nevykdykite skriptų iš nežinomų šaltinių.Net ir laikydamiesi mažiau ribojančios politikos, išlikite atsargūs.
- naudojimas „RemoteSigned“ kai tik įmanoma.
- Paleidus reikiamą scenarijų, atkuria ankstesnę politiką (pavyzdžiui, naudojant
Set-ExecutionPolicy Restricted). - Verslo aplinkoje arba tvarkant svarbius scenarijus, Pasirinkite „AllSigned“ arba kreipkitės į sistemos administratorių..
Ypatingi atvejai: „PowerShell“, „Azure“ ir nesuderinamos versijos
Pasitaiko atvejų, kai klaida gali kilti ne dėl vykdymo politikos, o dėl kažko kito. Pavyzdžiui, naudojant konkrečius modulius, tokius kaip „Azure Active Directory“, Kai kurios modernios „PowerShell“ versijos nepalaikomosir tai gali sukelti papildomų klaidų:
- „Azure Active Directory“ klasikinis modulis veikia tik su „PowerShell“ nuo 3 iki 5.1Jei naudojate aukštesnes versijas, ieškokite alternatyvių arba atnaujintų modulio versijų.
- Visada nepamirškite paleisti modulių, kuriems reikalingas administravimas, pvz. administratorius kad būtų išvengta nepakankamų leidimų.
Jei pamiršote savo „PowerShell“ versiją, tiesiog paleiskite:
$PSVersionTable
kad pamatytumėte visą informaciją apie jį.
Papildoma trikčių šalinimo ir naudingų išteklių paieška

Kartais net ir taikant aukščiau pateiktas komandas, vis tiek gali kilti gedimųTokiu atveju:
- Patikrinkite, ar yra Antivirusinė programa arba įmonės politika neleidžia atlikti pakeitimų.
- Jei klaida kyla tik su atsisiųstais scenarijais, Patikrinkite failo ypatybes ir atrakinkite jį (Dešiniuoju pelės mygtuku spustelėkite > Ypatybės > Atrakinti).
- Patikrink oficiali „Microsoft“ pagalba ir specializuotus forumus, jei tai yra įmonės aplinka su savo ribojančia politika.
Atminkite, kad jei jums reikia papildomos pagalbos, visada galite kreiptis į „PowerShell“ naudotojų bendruomenė arba „Microsoft“ palaikymo kanalai, nes jie paprastai atnaujinami su pakeitimais, kurie įvedami kiekvienoje versijoje.
Supratimas, kodėl „Windows 11“ riboja scenarijų vykdymą „PowerShell“, yra pirmas žingsnis siekiant efektyviai ir saugiai dirbti su scenarijais. Vadovaudamiesi šiomis rekomendacijomis, išspręsite klaidą ir sužinosite, kaip geriau valdyti savo vykdymo aplinką, išnaudoti daugiau automatizavimo galimybių ir apsaugoti savo sistemą. Keiskite nustatymus tik tada, kai tai būtina, ir nepamirškite iš naujo nustatyti saugumo politikos, kai baigsite užduotis.
Esu technologijų entuziastas, savo „geek“ pomėgius pavertęs profesija. Daugiau nei 10 savo gyvenimo metų praleidau naudodamas pažangiausias technologijas ir iš gryno smalsumo kūriau visas programas. Dabar aš specializuojasi kompiuterinėse technologijose ir vaizdo žaidimuose. Taip yra todėl, kad daugiau nei 5 metus rašau įvairioms interneto svetainėms apie technologijas ir vaizdo žaidimus, kurdamas straipsnius, kuriuose noriu pateikti jums reikalingą informaciją visiems suprantama kalba.
Jei turite klausimų, mano žinios svyruoja nuo visko, kas susiję su Windows operacine sistema, taip pat su Android mobiliesiems telefonams. Ir aš įsipareigoju jums, aš visada pasiruošęs skirti kelias minutes ir padėti jums išspręsti visus klausimus, kurie jums gali kilti šiame interneto pasaulyje.
