Поправка на грешка при изпълнение на PowerShell скриптове в Windows 11: Актуализирано и пълно ръководство

Последна актуализация: 06/06/2025

  • Грешката при изпълнение на скриптове в PowerShell Windows 11 се дължи на ограниченията за сигурност по подразбиране.
  • Има няколко начина за промяна на политиката за изпълнение и активиране на скриптове въз основа на нуждите на потребителя.
  • Правилната конфигурация за сигурност позволява контролирано изпълнение на скриптове, минимизирайки рисковете за системата.
Грешка при блокиране на скрипта на PowerShell

Наскоро сблъсквали ли сте се с досадното съобщение „Файлът не може да бъде качен, защото изпълнението на скриптове е деактивирано на тази система." при опит за изпълнение на скрипт в PowerShell на вашия Windows 11Не сте сами. Това е една от онези ситуации, които подлудяват както начинаещите потребители, така и опитните разработчици. Този тип грешка Обикновено се появява, когато искаме да автоматизираме задачи или да тестваме малки скриптове. И изведнъж системата ни спира на място поради проблем, който изглежда скрит зад слоеве сигурност и неизвестни политики.

В тази статия обяснявам Всичко, което трябва да знаете за грешката при изпълнение на скрипт PowerShell в Windows 11, използвайки приятелски и практичен подход, за да можете да го разберете, дори и да нямате много технически опит. Ще се задълбочим в причините, политиките за сигурност, стъпките за отстраняване на неизправности и най-препоръчителните алтернативи, като вземем предвид вашата сигурност и нужди. Ще изясня и всички често задавани въпроси и някои технически нюанси, които често се пренебрегват в други уроци.

Защо получавам грешка при изпълнение на скрипт в PowerShell?

Грешка при изпълнение на PowerShell скрипт в Windows 11-9

Класическото съобщение за грешка може да се различава леко, но почти винаги пише нещо от рода на: 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 е ограничено за да се предотврати неконтролираното изпълнение на зловреден кодТова е положително нещо за повечето потребители, но за разработчиците и администраторите може да бъде досадно ограничение.

Изключително съдържание - Щракнете тук  Как да подредите листове в Word

Някои от най-често срещаните съобщения за грешки са:

  • Файлът C:\my_script.ps1 не може да бъде зареден. Изпълнението на скриптове е деактивирано на тази система. Вижте „Get-Help about_signing“ за повече информация.
  • Файлът не може да бъде зареден, защото изпълнението на скриптове е деактивирано на тази система. За повече информация вижте about_Execution_Policies.
  • Файлът C:\my_script.ps1 не е цифрово подписан. Скриптът няма да се изпълни на системата.

Основната причина е политиката за изпълнение, конфигурирана в PowerShellТези правила определят дали е разрешено изпълнението на скриптови файлове и при какви условия. По подразбиране е активирана най-рестриктивната политика: Ограничен, което предотвратява всяко автоматично изпълнение на скриптове.

Какво представляват правилата за изпълнение на PowerShell и защо са важни?

Политики за изпълнение на PowerShell

Windows PowerShell използва система от правила за изпълнение, за да реши кои скриптове могат да се изпълняват и при какви обстоятелства.. Това е от съществено значение за сигурността на системата., тъй като предотвратява стартирането на потенциално опасен код, изтеглен от интернет или получен по имейл.

Основните политики, които можете да намерите, са:

  • Ограничен: Това е политиката по подразбиране в Windows 11. Не позволява изпълнението на какъвто и да е скрипт, само интерактивни команди.
  • AllSigned: Разрешавайте изпълнението само на скриптове и конфигурационни файлове, които са цифрово подписани от надежден издател.
  • RemoteSignedЛокалните скриптове работят без проблеми, но скриптовете, изтеглени от интернет, трябва да бъдат цифрово подписани от надежден издател.
  • неограничен: Позволява ви да стартирате произволен скрипт, въпреки че показва предупреждение, ако скриптът идва от интернет.

Изборът на правилната политика е от съществено значениеАко просто искате да стартирате локален скрипт, RemoteSigned може да е достатъчен. Ако сте разработчик и сте уверени в кода си, преминаването към Unrestricted може да е достатъчно, но винаги с повишено внимание.

Как да идентифицирам текущата политика за изпълнение в Windows 11?

Преди да промените каквото и да е, е добре да знаете каква политика е активна.. Да проверя:

  • Отворете PowerShellМожете да направите това от менюто „Старт“, като потърсите „PowerShell“. Ако е необходимо да направите промени, направете го като администратор.
  • Въведете следната команда:
    Get-ExecutionPolicy -List

Това ще покаже списък с политики, приложени в различни области (Потребител, Локална система, Процес и др.). Обикновено ще виждате „Ограничено“ като активно правило. В повечето случаи

Изключително съдържание - Щракнете тук  Как да отворите VSP файл

Решения: Как да активирате изпълнението на скриптове стъпка по стъпка

активиране на изпълнението на скриптове в Powershell

Има няколко начина за отстраняване на грешката и всеки един от тях Зависи от нивото на сигурност, което искате да поддържате. и контекста, в който работите. Ето основните опции:

Временна промяна на политиката за изпълнение (текуща сесия)

Ако трябва да изпълните даден скрипт само веднъж и не искате промяната да е постоянна, можете да го направите по следния начин:

  1. Отворете PowerShell като администратор.
  2. Изпълнение:
    Set-ExecutionPolicy -Scope Process -ExecutionPolicy Unrestricted

Това засяга само прозореца на PowerShell, който сте отворили.Когато го затворите, полицата ще се върне в предишното си състояние.

Задайте политика за изпълнение за целия потребител или система

За да запазите промяната за неопределено време, използвайте една от тези команди, както е подходящо:

  • За текущия потребител:
    Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
  • За цялата система (изисква администраторски права):
    Set-ExecutionPolicy -Scope LocalMachine -ExecutionPolicy RemoteSigned

Параметър -Политика за изпълнение можете да го промените на неограничен, AllSigned o RemoteSigned в зависимост от това какво ви е необходимо. RemoteSigned често е най-балансираният вариант за потребители и разработчици.

Променете политиката за изпълнение от настройките на Windows 11

Друга, по-малко техническа алтернатива е достъпът до системните опции:

  1. Отворете настройките на Windows 11 (можете да докоснете Win+I).
  2. Отидете на Поверителност и сигурност > За разработчици.
  3. Потърсете секцията PowerShell.
  4. Активира опцията за изпълнение на неподписани локални скриптове и изисква подпис само за отдалечени скриптове.

Този метод е идеален за тези, които не искат да докосват команди и предпочитат опростен, графичен вариант.

Често срещани грешки и препоръки за безопасност

Активирането на изпълнението на скриптове може да бъде рисковано, ако изпълняваното не е добре контролирано.Задължително е да се следват тези препоръки:

  • Не изтегляйте и не стартирайте скриптове от неизвестни източници.Дори и с по-малко рестриктивни политики, останете предпазливи.
  • употреби RemoteSigned когато е възможно.
  • След като изпълните необходимия скрипт, възстановява предишната политика (например, използвайки Set-ExecutionPolicy Restricted).
  • В бизнес среда или при работа с критични скриптове, Изберете AllSigned или се консултирайте със системния си администратор..
Изключително съдържание - Щракнете тук  Как да вмъкнете индекса на Word

Специални случаи: PowerShell, Azure и несъвместими версии

Има сценарии, при които грешката може да се дължи на нещо различно от политиката за изпълнение. Например, със специфични модули като Azure Active Directory, Някои съвременни версии на PowerShell не се поддържат, и това може да предизвика допълнителни грешки:

  • Класическият модул на Azure Active Directory работи само с PowerShell 3 до 5.1За по-високи версии, моля, потърсете алтернативни или актуализирани версии на модула.
  • Винаги не забравяйте да стартирате модули, които изискват администриране, като например администратор за да се избегнат недостатъчни разрешителни.

Ако загубите представа за вашата версия на PowerShell, просто изпълнете:
$PSVersionTable
за да видите цялата информация за него.

Допълнителни ресурси за отстраняване на неизправности и полезни ресурси

Разширени трикове на PowerShell-4

Понякога, дори прилагайки горните команди, все още може да се случат сривовеВ такъв случай:

  • Проверете дали има такива Антивирусната програма или фирмената политика предотвратяват промени.
  • Ако грешката възниква само с изтеглени скриптове, Проверете свойствата на файла и го отключете (Щракнете с десния бутон > Свойства > Отключи).
  • Проверете официална помощ на Microsoft и специализирани форуми, ако става въпрос за корпоративна среда със собствени ограничителни политики.

Не забравяйте, че ако имате нужда от допълнителна помощ, винаги можете да се обърнете към Общност на потребителите на PowerShell или канали за поддръжка на Microsoft, тъй като те обикновено се актуализират с промените, въведени версия по версия.

Разбирането защо Windows 11 ограничава изпълнението на скриптове в PowerShell е първата стъпка към ефективна и сигурна работа със скриптове. Като следвате тези препоръки, ще отстраните грешката и ще научите как да управлявате по-добре средата си за изпълнение, като извлечете максимума от автоматизациите си и защитите системата си. Променяйте настройките само когато е необходимо и не забравяйте да нулирате правилата за сигурност, след като завършите задачите си.

Разширени трикове на PowerShell-0
Свързана статия:
Разширени трикове на PowerShell за администратори