- Kļūda, palaižot skriptus programmā PowerShell Windows 11, rodas noklusējuma drošības ierobežojumu dēļ.
- Ir vairāki veidi, kā mainīt izpildes politiku un iespējot skriptus atbilstoši lietotāja vajadzībām.
- Pareiza drošības konfigurācija ļauj kontrolēti izpildīt skriptus, tādējādi samazinot sistēmas riskus.
Vai nesen esat saskāries ar kaitinošu ziņojumu “Failu nevar augšupielādēt, jo šajā sistēmā ir atspējota skripta izpilde.“ mēģinot palaist skriptu programmā PowerShell operētājsistēmā Windows 11Jūs neesat viens. Šī ir viena no tām situācijām, kas padara traku gan iesācējus, gan pieredzējušus izstrādātājus. Šāda veida kļūda Tas parasti parādās, kad vēlamies automatizēt uzdevumus vai pārbaudīt mazus skriptus. Un pēkšņi sistēma mūs pilnībā aptur problēmas dēļ, kas šķiet paslēpta aiz drošības slāņiem un nezināmām politikām.
Šajā rakstā es paskaidroju Viss, kas jums jāzina par PowerShell skripta izpildes kļūdu operētājsistēmā Windows 11, izmantojot draudzīgu un praktisku pieeju, lai jūs to varētu saprast pat tad, ja jums nav lielas tehniskās pieredzes. Mēs iedziļināsimies cēloņos, drošības politikās, problēmu novēršanas darbībās un visieteicamākajās alternatīvās, ņemot vērā jūsu drošību un vajadzības. Es arī precizēšu visus bieži uzdotos jautājumus un dažas tehniskas nianses, kas citās pamācībās bieži tiek aizmirstas.
Kāpēc PowerShell saņemu skripta izpildes kļūdu?
Klasiskais kļūdas ziņojums var nedaudz atšķirties, bet gandrīz vienmēr tas saka kaut ko līdzīgu: No se puede cargar el archivo <ruta_del_script> porque la ejecución de scripts está deshabilitada en este sistema. Šis brīdinājums nenozīmē, ka datorā ir vīruss vai ka operētājsistēma Windows ir bojāta.; iemesls ir PowerShell drošības politiku konfigurācijā.
Microsoft ir pastiprinājis drošības politikas katrā jaunajā Windows versijā, īpaši kopš Windows 10 un Windows 11. Pēc noklusējuma Skriptu izpilde pakalpojumā PowerShell ir ierobežota lai novērstu ļaunprātīga koda nekontrolētu darbībuTas ir pozitīvi vairumam lietotāju, bet izstrādātājiem un administratoriem tas var būt kaitinošs ierobežojums.
Daži no visbiežāk sastopamajiem kļūdu ziņojumiem ir šādi:
- Failu C:\my_script.ps1 nevar ielādēt. Skripta izpilde šajā sistēmā ir atspējota. Plašāku informāciju skatiet sadaļā "Get-Help about_signing".
- Failu nevar ielādēt, jo šajā sistēmā ir atspējota skripta izpilde. Lai iegūtu papildinformāciju, skatiet sadaļu about_Execution_Policies.
- Fails C:\my_script.ps1 nav digitāli parakstīts. Skripts sistēmā nedarbosies.
Galvenais iemesls ir PowerShell konfigurētā izpildes politika.Šīs politikas nosaka, vai skriptu faili ir atļauti darboties un kādos apstākļos. Pēc noklusējuma ir iespējota visstingrākā politika: Ierobežots, kas novērš jebkādu skriptu automātisku izpildi.
Kas ir PowerShell izpildes politikas un kāpēc tās ir svarīgas?

Windows PowerShell izmanto izpildes politikas sistēmu, lai izlemtu, kurus skriptus var palaist un kādos apstākļos.. Tas ir svarīgi sistēmas drošībai., jo tas novērš potenciāli kaitīga koda palaišanu, kas lejupielādēts no interneta vai saņemts pa e-pastu.
Galvenās politikas, ar kurām varat iepazīties, ir šādas:
- IerobežotsŠī ir noklusējuma politika operētājsistēmā Windows 11. Neļauj izpildīt nevienu skriptu, tikai interaktīvas komandas.
- AllSigned: Atļaut palaist tikai tos skriptus un konfigurācijas failus, kurus digitāli parakstījis uzticams izdevējs.
- Attālināti parakstītsLokālie skripti darbojas bez problēmām, bet no interneta lejupielādētajiem skriptiem jābūt digitāli parakstītiem no uzticama izdevēja puses.
- Neierobežots: Ļauj palaist jebkuru skriptu, lai gan tiek parādīts brīdinājums, ja skripts nāk no interneta.
Pareizās politikas izvēle ir būtiskaJa vēlaties palaist tikai lokālu skriptu, RemoteSigned var būt pietiekams. Ja esat izstrādātājs un pārliecināts par savu kodu, pārslēgšanās uz Unrestricted var būt pietiekama, taču vienmēr rīkojieties piesardzīgi.
Kā noteikt pašreizējo izpildes politiku operētājsistēmā Windows 11?
Pirms jebkādu izmaiņu veikšanas ir ieteicams zināt, kāda politika jums ir aktīva.Lai to pārbaudītu:
- Atvērt PowerShellTo var izdarīt izvēlnē Sākt, meklējot "PowerShell". Ja nepieciešams veikt izmaiņas, dariet to kā administrators.
- Ierakstiet šādu komandu:
Get-ExecutionPolicy -List
Tas parādīs dažādās jomās (lietotājs, lokālā sistēma, process utt.) piemēroto politiku sarakstu. Parasti kā aktīvu politiku redzēsiet “Ierobežots”. vairumā gadījumu.
Risinājumi: Kā soli pa solim iespējot skripta izpildi

Ir vairāki veidi, kā novērst kļūdu, un katrs no tiem Tas ir atkarīgs no drošības līmeņa, kuru vēlaties saglabāt. un kontekstu, kurā strādājat. Šeit ir galvenās iespējas:
Īslaicīgi mainīt izpildes politiku (pašreizējā sesija)
Ja skripts ir jāizpilda tikai vienu reizi un nevēlaties, lai izmaiņas būtu pastāvīgas, varat to izdarīt šādi:
- Atveriet PowerShell kā administrators.
- Izpildīt:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Unrestricted
Tas ietekmē tikai atvērto PowerShell logu.Aizverot to, politika atgriezīsies iepriekšējā stāvoklī.
Iestatiet izpildes politiku visam lietotājam vai sistēmai
Lai izmaiņas paliktu spēkā bezgalīgi, izmantojiet vienu no šīm komandām atbilstoši situācijai:
- Pašreizējam lietotājam:
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned - Sistēmas mērogā (nepieciešamas administratora atļaujas):
Set-ExecutionPolicy -Scope LocalMachine -ExecutionPolicy RemoteSigned
Parametrs -Izpildes politika jūs varat to modificēt, lai Neierobežots, AllSigned o Attālināti parakstīts atkarībā no tā, kas jums nepieciešams. RemoteSigned bieži vien ir vislīdzsvarotākā iespēja lietotājiem un izstrādātājiem..
Mainiet izpildes politiku no Windows 11 iestatījumiem
Vēl viena mazāk tehniska alternatīva ir piekļūt sistēmas opcijām:
- Atveriet Windows 11 iestatījumus (varat pieskarties Uzvara + I).
- Dodieties uz Konfidencialitāte un drošība > Izstrādātājiem.
- Meklējiet sadaļu PowerShell.
- Iespējo opciju palaist neparakstītus lokālos skriptus un pieprasa parakstu tikai attāliem skriptiem.
Šī metode ir ideāli piemērota tiem, kas nevēlas pieskarties komandām un dod priekšroku vienkāršai, grafiskai opcijai.
Biežāk sastopamās kļūdas un drošības ieteikumi
Skriptu izpildes iespējošana var būt riskanta, ja izpildāmais netiek labi kontrolēts.Ir svarīgi ievērot šādus ieteikumus:
- Nelejupielādējiet un nepalaidiet skriptus no nezināmiem avotiem.Pat ievērojot mazāk ierobežojošus noteikumus, saglabājiet piesardzību.
- Lietošana Attālināti parakstīts kad vien iespējams.
- Pēc nepieciešamā skripta palaišanas atjauno iepriekšējo politiku (piemēram, izmantojot
Set-ExecutionPolicy Restricted). - Uzņēmējdarbības vidē vai strādājot ar kritiskiem skriptiem, Izvēlieties AllSigned vai sazinieties ar savu sistēmas administratoru..
Īpaši gadījumi: PowerShell, Azure un nesaderīgas versijas
Pastāv scenāriji, kad kļūda var būt saistīta ar kaut ko citu, nevis izpildes politiku. Piemēram, ar konkrētiem moduļiem, piemēram, Azure Active Directory, Dažas modernās PowerShell versijas netiek atbalstītas., un tas var izraisīt papildu kļūdas:
- Azure Active Directory klasiskais modulis darbojas tikai ar PowerShell 3 līdz 5.1Augstāku versiju gadījumā, lūdzu, meklējiet alternatīvas vai atjauninātas moduļa versijas.
- Vienmēr atcerieties palaist moduļus, kuriem nepieciešama administrēšana, piemēram, administrators lai izvairītos no nepietiekamām atļaujām.
Ja pazaudējat savas PowerShell versijas izsekošanu, vienkārši palaidiet:
$PSVersionTable
lai redzētu visu informāciju par to.
Papildu problēmu novēršana un noderīgi resursi

Dažreiz pat lietojot iepriekš minētās komandas, joprojām var rasties avārijas.Šādā gadījumā:
- Pārbaudiet, vai ir kāds Antivīruss vai uzņēmuma politika neļauj veikt izmaiņas.
- Ja kļūda rodas tikai ar lejupielādētiem skriptiem, Pārbaudiet faila īpašības un atbloķējiet to (Ar peles labo pogu noklikšķiniet > Rekvizīti > Atbloķēt).
- Pārbaudiet oficiālā Microsoft palīdzība un specializētos forumos, ja tā ir korporatīva vide ar savu ierobežojošo politiku.
Atcerieties, ka, ja jums nepieciešama papildu palīdzība, jūs vienmēr varat vērsties pie PowerShell lietotāju kopiena vai Microsoft atbalsta kanāli, jo tie parasti tiek atjaunināti ar izmaiņām, kas tiek ieviestas katrā versijā.
Izpratne par to, kāpēc operētājsistēma Windows 11 ierobežo skriptu izpildi pakalpojumā PowerShell, ir pirmais solis ceļā uz efektīvu un drošu darbu ar skriptiem. Ievērojot šos ieteikumus, jūs novērsīsiet kļūdu un uzzināsiet, kā labāk pārvaldīt savu izpildlaika vidi, iegūstot vairāk no automatizācijas un aizsargājot savu sistēmu. Mainiet iestatījumus tikai nepieciešamības gadījumā un atcerieties atiestatīt drošības politikas pēc uzdevumu pabeigšanas.
Esmu tehnoloģiju entuziasts, kurš savas "geek" intereses ir pārvērtis profesijā. Es esmu pavadījis vairāk nekā 10 gadus no savas dzīves, izmantojot jaunākās tehnoloģijas un tīri ziņkārības vadīts ar visu veidu programmām. Tagad esmu specializējies datortehnoloģijās un videospēlēs. Tas ir tāpēc, ka vairāk nekā 5 gadus esmu rakstījis dažādām tīmekļa vietnēm par tehnoloģijām un videospēlēm, veidojot rakstus, kuru mērķis ir sniegt jums nepieciešamo informāciju ikvienam saprotamā valodā.
Ja jums ir kādi jautājumi, manas zināšanas svārstās no visa, kas saistīts ar Windows operētājsistēmu, kā arī Android mobilajiem tālruņiem. Un mana apņemšanās ir jums, es vienmēr esmu gatavs veltīt dažas minūtes un palīdzēt jums atrisināt visus jautājumus, kas jums varētu rasties šajā interneta pasaulē.
