- PowerShell Windows 11-ում սկրիպտներ գործարկելիս սխալը պայմանավորված է լռելյայն անվտանգության սահմանափակումներով։
- Կան մի քանի եղանակներ կատարման քաղաքականությունը փոփոխելու և սկրիպտները միացնելու համար՝ օգտատիրոջ կարիքներին համապատասխան։
- Անվտանգության պատշաճ կարգավորումը թույլ է տալիս վերահսկել սկրիպտների կատարումը՝ նվազագույնի հասցնելով համակարգի ռիսկերը։
Վերջերս հանդիպե՞լ եք նյարդայնացնող «» հաղորդագրությանը։Ֆայլը չի կարող վերբեռնվել, քանի որ սկրիպտի կատարումը անջատված է այս համակարգում։” Երբ փորձում եք PowerShell-ում սկրիպտ գործարկել ձեր Windows 11-ումԴուք մենակ չեք։ Սա այն իրավիճակներից մեկն է, որը խելագարեցնում է թե՛ սկսնակ օգտատերերին, թե՛ փորձառու մշակողներին։ Այս տեսակի սխալը Այն սովորաբար ի հայտ է գալիս, երբ մենք ուզում ենք ավտոմատացնել առաջադրանքներ կամ փորձարկել փոքր սկրիպտներ։ Եվ հանկարծ, համակարգը մեզ կանգնեցնում է տեղում՝ մի խնդրի պատճառով, որը, կարծես, թաքնված է անվտանգության շերտերի և անհայտ քաղաքականության հետևում։
En este artículo te explico Ամեն ինչ, որ դուք պետք է իմանաք Windows 11-ում PowerShell սկրիպտի կատարման սխալի մասին, օգտագործելով բարեկամական և գործնական մոտեցում, որպեսզի դուք կարողանաք հասկանալ այն, նույնիսկ եթե մեծ տեխնիկական փորձ չունեք: Մենք կխորանանք պատճառների, անվտանգության քաղաքականության, խնդիրների լուծման քայլերի և առավել առաջարկվող այլընտրանքների մեջ՝ հաշվի առնելով ձեր անվտանգությունն ու կարիքները: Ես նաև կպարզաբանեմ հաճախակի տրվող հարցերը և որոշ տեխնիկական նրբերանգներ, որոնք հաճախ անտեսվում են այլ ձեռնարկներում:
Ինչո՞ւ եմ PowerShell-ում սկրիպտի կատարման սխալ ստանում։
Դասական սխալի հաղորդագրությունը կարող է մի փոքր տարբեր լինել, բայց գրեթե միշտ ասում է հետևյալը. No se puede cargar el archivo <ruta_del_script> porque la ejecución de scripts está deshabilitada en este sistema. Այս նախազգուշացումը չի նշանակում, որ դուք վիրուս ունեք կամ ձեր Windows-ը վնասված է։; պատճառը կայանում է PowerShell անվտանգության քաղաքականության կարգավորման մեջ։
Microsoft-ը խստացնում է անվտանգության քաղաքականությունը Windows-ի յուրաքանչյուր նոր տարբերակում, հատկապես Windows 10-ից և Windows 11-ից հետո։ Ըստ լռելյայնի՝ PowerShell-ում սկրիպտների կատարումը սահմանափակված է կանխելու համար վնասակար կոդի անվերահսկելի աշխատանքըՍա դրական բան է օգտատերերի մեծամասնության համար, բայց մշակողների և ադմինիստրատորների համար դա կարող է լինել նյարդայնացնող սահմանափակում։
Ամենատարածված սխալի հաղորդագրություններից մի քանիսն են՝
- C:\my_script.ps1 ֆայլը չի կարող բեռնվել: Սկրիպտի կատարումը անջատված է այս համակարգում: Լրացուցիչ տեղեկությունների համար տե՛ս «Ստանալ օգնություն about_signing»-ը:
- Ֆայլը չի կարող բեռնվել, քանի որ սկրիպտի կատարումը անջատված է այս համակարգում: Լրացուցիչ տեղեկությունների համար տե՛ս about_Execution_Policies:
- C:\my_script.ps1 ֆայլը թվային ստորագրություն չունի։ Սկրիպտը չի աշխատի համակարգում։
Հիմնական պատճառը PowerShell-ում կարգավորված կատարման քաղաքականությունն է։Այս քաղաքականությունները սահմանում են, թե արդյոք սկրիպտային ֆայլերը թույլատրվում են գործարկել, թե ոչ, և ինչ պայմաններում: Ըստ լռելյայնի, ամենասահմանափակող քաղաքականությունը միացված է. Restricted, որը կանխում է սկրիպտների ցանկացած ավտոմատ կատարումը։
Որո՞նք են PowerShell կատարման քաղաքականությունները և ինչո՞ւ են դրանք կարևոր։

Windows PowerShell-ը օգտագործում է կատարման քաղաքականության համակարգ՝ որոշելու համար, թե որ սկրիպտները կարող են գործարկվել և ինչ հանգամանքներում։. Սա կարևոր է համակարգի անվտանգության համար։, քանի որ այն կանխում է ինտերնետից ներբեռնված կամ էլեկտրոնային փոստով ստացված պոտենցիալ վնասակար կոդի գործարկումը։
Հիմնական քաղաքականությունները, որոնք կարող եք գտնել, հետևյալն են.
- RestrictedՍա Windows 11-ի լռելյայն քաղաքականությունն է։ Չի թույլատրում որևէ սկրիպտի կատարումը, միայն ինտերակտիվ հրամաններ։
- AllSignedԹույլատրել միայն վստահելի հրատարակչի կողմից թվային ստորագրությամբ սկրիպտների և կարգավորման ֆայլերի գործարկումը։
- RemoteSignedՏեղական սկրիպտները աշխատում են առանց խնդիրների, սակայն ինտերնետից ներբեռնված սկրիպտները պետք է թվային ստորագրված լինեն վստահելի հրատարակչի կողմից։
- UnrestrictedԹույլ է տալիս գործարկել ցանկացած սկրիպտ, չնայած այն ցուցադրում է նախազգուշացում, եթե սկրիպտը գալիս է ինտերնետից։
Կարևոր է ճիշտ քաղաքականության ընտրությունըԵթե ուզում եք պարզապես տեղական սկրիպտ գործարկել, RemoteSigned-ը կարող է բավարար լինել։ Եթե դուք մշակող եք և վստահ եք ձեր կոդի մեջ, Unrestricted-ին անցնելը կարող է բավարար լինել, բայց միշտ զգուշությամբ։
Ինչպե՞ս որոշել Windows 11-ում ընթացիկ կատարման քաղաքականությունը։
Որևէ բան փոխելուց առաջ լավ գաղափար է իմանալ, թե ինչ քաղաքականություն ունեք ակտիվ։Սա ստուգելու համար՝
- Abre PowerShellԴուք կարող եք դա անել «Սկիզբ» ընտրացանկից՝ որոնելով «PowerShell»: Եթե անհրաժեշտ է փոփոխություններ կատարել, արեք դա որպես ադմինիստրատոր.
- Մուտքագրեք հետևյալ հրամանը՝
Get-ExecutionPolicy -List
Սա կցուցադրի տարբեր ոլորտներում (Օգտատեր, Տեղական համակարգ, Գործընթաց և այլն) կիրառվող քաղաքականությունների ցանկը։ Սովորաբար «Սահմանափակված» նշանը կտեսնեք որպես ակտիվ քաղաքականություն։ շատ դեպքերում։
Լուծումներ. Ինչպես միացնել սկրիպտի կատարումը քայլ առ քայլ

Սխալը լուծելու մի քանի եղանակ կա, և դրանցից յուրաքանչյուրը Դա կախված է անվտանգության այն մակարդակից, որը դուք ցանկանում եք պահպանել։ և այն համատեքստը, որում դուք աշխատում եք։ Ահա հիմնական տարբերակները՝
Ժամանակավորապես փոխել կատարման քաղաքականությունը (ընթացիկ նստաշրջան)
Եթե ձեզ անհրաժեշտ է սկրիպտը գործարկել միայն մեկ անգամ և չեք ուզում, որ փոփոխությունը մշտական լինի, կարող եք դա անել հետևյալ կերպ.
- Բացեք PowerShell-ը որպես ադմինիստրատոր։
- Ejecuta:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Unrestricted
Սա ազդում է միայն ձեր բացած PowerShell պատուհանի վրա։Երբ դուք այն փակեք, քաղաքականությունը կվերադառնա իր նախկին վիճակին։
Սահմանեք կատարման քաղաքականություն ամբողջ օգտատիրոջ կամ համակարգի համար
Փոփոխությունը անորոշ ժամանակով պահպանելու համար օգտագործեք հետևյալ հրամաններից մեկը՝
- Para el usuario actual:
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned - Համակարգի մասշտաբով (պահանջվում են ադմինիստրատորի թույլտվություններ):
Set-ExecutionPolicy -Scope LocalMachine -ExecutionPolicy RemoteSigned
El parámetro -ExecutionPolicy դուք կարող եք այն փոփոխել Unrestricted, AllSigned o RemoteSigned կախված նրանից, թե ինչ է ձեզ անհրաժեշտ։ RemoteSigned-ը հաճախ ամենահավասարակշռված տարբերակն է օգտատերերի և մշակողների համար։.
Փոխեք կատարման քաղաքականությունը Windows 11-ի կարգավորումներից
Մեկ այլ, պակաս տեխնիկական այլընտրանք է համակարգի տարբերակներին մուտք գործելը.
- Բացեք Windows 11-ի կարգավորումները (կարող եք սեղմել) Win + I).
- Անցնել Գաղտնիություն և անվտանգություն > Մշակողների համար.
- Փնտրեք PowerShell բաժինը։
- Միացնում է չստորագրված տեղական սկրիպտներ գործարկելու տարբերակը և պահանջում է ստորագրություն միայն հեռակա սկրիպտների համար։.
Այս մեթոդը իդեալական է նրանց համար, ովքեր չեն ցանկանում դիպչել հրամաններին և նախընտրում են պարզ, գրաֆիկական տարբերակ։
Հաճախակի սխալներ և անվտանգության խորհուրդներ
Սկրիպտի կատարման միացումը կարող է ռիսկային լինել, եթե կատարվողը լավ չի վերահսկվում։Անհրաժեշտ է հետևել այս առաջարկություններին.
- Մի՛ ներբեռնեք կամ մի՛ գործարկեք սկրիպտներ անհայտ աղբյուրներից։Նույնիսկ ավելի քիչ սահմանափակող քաղաքականության դեպքում, զգույշ եղեք։
- Օգտագործել RemoteSigned երբ հնարավոր է։
- Անհրաժեշտ սկրիպտը գործարկելուց հետո, վերականգնում է նախկին քաղաքականությունը (օրինակ՝ օգտագործելով
Set-ExecutionPolicy Restricted). - Գործարար միջավայրերում կամ կարևորագույն սցենարների հետ աշխատելիս, Ընտրեք AllSigned կամ դիմեք ձեր համակարգի ադմինիստրատորին։.
Հատուկ դեպքեր՝ PowerShell, Azure և անհամատեղելի տարբերակներ
Կան սցենարներ, երբ սխալը կարող է պայմանավորված լինել կատարման քաղաքականությունից տարբեր ինչ-որ բանով։ Օրինակ՝ որոշակի մոդուլների դեպքում, ինչպիսիք են Azure Active Directory-ն, PowerShell-ի որոշ ժամանակակից տարբերակներ չեն աջակցվում, և սա կարող է լրացուցիչ սխալներ առաջացնել՝
- Azure Active Directory դասական մոդուլը աշխատում է միայն PowerShell 3-ից 5.1Ավելի բարձր տարբերակների համար, խնդրում ենք փնտրել մոդուլի այլընտրանքային կամ թարմացված տարբերակներ։
- Միշտ հիշեք, որ պետք է աշխատեցնել այնպիսի մոդուլներ, որոնք պահանջում են կառավարում, օրինակ՝ ադմինիստրատոր անբավարար թույլտվություններից խուսափելու համար։
Եթե կորցրել եք ձեր PowerShell տարբերակի հետքը, պարզապես գործարկեք հետևյալը.
$PSVersionTable
դրա մասին ամբողջ տեղեկատվությունը տեսնելու համար։
Լրացուցիչ խնդիրների լուծում և օգտակար ռեսուրսներ

Երբեմն նույնիսկ վերը նշված հրամանները կիրառելիս կարող եք դեռևս խնդիրներ ունենալԱյդ դեպքում՝
- Ստուգեք, եթե կա Հակավիրուսային ծրագիրը կամ ընկերության քաղաքականությունը կանխում են փոփոխությունները.
- Եթե սխալը տեղի է ունենում միայն ներբեռնված սկրիպտների հետ, Ստուգեք ֆայլի հատկությունները և բացեք այն (Սեղմեք աջ կոճակը > Հատկություններ > Բացել).
- Ստուգեք ayuda oficial de Microsoft և մասնագիտացված ֆորումներ, եթե դա կորպորատիվ միջավայր է՝ իր սեփական սահմանափակող քաղաքականությամբ։
Հիշե՛ք, որ եթե լրացուցիչ օգնության կարիք ունեք, միշտ կարող եք դիմել PowerShell օգտատերերի համայնք կամ Microsoft-ի աջակցության ալիքներ, քանի որ դրանք սովորաբար թարմացվում են տարբերակ առ տարբերակ ներդրվող փոփոխություններով։
Հասկանալը, թե ինչու է Windows 11-ը սահմանափակում սկրիպտների կատարումը PowerShell-ում, սկրիպտների հետ արդյունավետ և անվտանգ աշխատելու առաջին քայլն է։ Հետևելով այս առաջարկություններին՝ դուք կլուծեք սխալը և կսովորեք, թե ինչպես ավելի լավ կառավարել ձեր աշխատանքային միջավայրը, առավելագույնս օգտվել ավտոմատացումներից և պաշտպանել ձեր համակարգը։ Փոխեք կարգավորումները միայն անհրաժեշտության դեպքում և հիշեք վերակայել անվտանգության քաղաքականությունը ձեր առաջադրանքներն ավարտելուց հետո։
Ես տեխնոլոգիայի էնտուզիաստ եմ, ով իր «գիկ» հետաքրքրությունները վերածել է մասնագիտության։ Ես իմ կյանքի ավելի քան 10 տարին անցկացրել եմ՝ օգտագործելով նորագույն տեխնոլոգիաներ և զուտ հետաքրքրասիրությունից դրդված բոլոր տեսակի ծրագրերի հետ աշխատելիս: Այժմ ես մասնագիտացել եմ համակարգչային տեխնիկայի և տեսախաղերի մեջ։ Դա պայմանավորված է նրանով, որ ավելի քան 5 տարի ես գրում եմ տարբեր կայքերի համար տեխնոլոգիայի և վիդեոխաղերի վերաբերյալ՝ ստեղծելով հոդվածներ, որոնք փորձում են ձեզ տրամադրել ձեզ անհրաժեշտ տեղեկատվությունը բոլորին հասկանալի լեզվով:
Եթե ունեք հարցեր, իմ գիտելիքները տատանվում են Windows օպերացիոն համակարգի հետ կապված ամեն ինչից, ինչպես նաև բջջային հեռախոսների համար նախատեսված Android-ից: Եվ իմ հանձնառությունն է ձեզ, ես միշտ պատրաստ եմ մի քանի րոպե ծախսել և օգնել ձեզ լուծել ցանկացած հարց, որը կարող եք ունենալ այս ինտերնետային աշխարհում:
