- За да промените политиката за изпълнение на PowerShell, отворете PowerShell (администратор) и изпълнете командата „Set-ExecutionPolicy RemoteSigned“ , за да разрешите изпълнението на скриптове. Командата „Set-ExecutionPolicy AllSigned“ позволява скриптове от надеждни издатели. Или командата „Set-ExecutionPolicy Unrestricted“ позволява скриптове без ограничения.
- Можете също да изпълните „Set-ExecutionPolicy Restricted“, за да отмените промените и да предотвратите изпълнението на скриптове.
- Накрая, можете да разрешите PowerShell скриптове, като промените политиката от приложението Настройки на Windows 11 и 10.
В Windows 11 (или 10), по подразбиране, когато се опитате да стартирате скрипт на PowerShell, той ще се провали със съобщението за грешка „не може да се зареди, защото изпълнението на скриптове е деактивирано на тази система“ . Това е така, защото PowerShell има функция за сигурност „правила за изпълнение“, която контролира как да се зареждат конфигурационни файлове и да се изпълняват скриптове, за да се предотврати изпълнението на зловреден код в системата.
Ако трябва да изпълните скрипт в Windows 11 (или 10), можете да промените политиката за изпълнение за локалния компютър, текущия потребител или сесията.
Когато зададете политика за изпълнение на PowerShell за локалния компютър и текущия потребител, информацията се съхранява в системния регистър. Ако конфигурирате политиката за определена сесия, тя се съхранява в паметта и след това се губи, когато затворите сесията.
Според Microsoft , политиката за изпълнение не ограничава действията. Можете да заобиколите политиката, като въведете скрипта в интерфейса на командния ред (CLI). Политиката е предназначена да помогне на потребителите да предотвратят изпълнението на злонамерени скриптове.
В това ръководство ще ви науча как да промените политиката за изпълнение, за да изпълнявате успешно скриптове в PowerShell на Windows 11 или 10.
Промяна на политиката за изпълнение в Windows 11 от PowerShell
За да промените политиката за изпълнение на PowerShell в Windows 11 (или 10), използвайте тези стъпки:
-
Отворете „Старт“ в Windows 11.
-
Потърсете PowerShell , щракнете с десния бутон върху горния резултат и изберете опцията „ Изпълни като администратор“ .
-
Въведете следната команда, за да потвърдите текущата политика за изпълнение, и натиснете Enter :
Get-ExecutionPolicy
-
(По избор) Въведете следната команда, за да видите действащите правила за изпълнение на PowerShell, и натиснете Enter :
Get-ExecutionPolicy-List
-
Въведете следната команда, за да промените политиката за изпълнение на PowerShell, за да позволите изпълнението на скриптове в Windows 11, и натиснете Enter :
Set-ExecutionPolicy RemoteSigned
-
(По избор) Въведете следната команда, за да промените политиката за изпълнение, така че да предотвратите изпълнението на скриптове, и натиснете Enter :
Set-ExecutionPolicy Restricted

След като изпълните стъпките, можете да изпълните скрипта отново и той вече би трябвало да работи успешно на Windows 11. Ако вече не искате да разрешавате изпълнението на скриптове на вашия компютър, можете да изпълните допълнителната команда, спомената в стъпките.
Ако искате да промените политиката за изпълнение, за да изпълнявате скриптове за текущия потребител или локалния компютър, трябва да използвате опцията „Обхват“ по следния начин: Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUserили Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine.
В Windows 11 можете да избирате от четири различни правила за изпълнение, за да разрешите или забраните скриптове:
- Ограничено — блокира изпълнението на всеки скриптов файл.
- RemoteSigned — позволява създаването на скриптове на компютъра. Скриптовете, създадени на друго устройство, обаче няма да се изпълняват без надежден подпис.
- AllSigned — позволява изпълнението на всички скриптове. Само ако обаче надежден издател е включил подпис.
- Неограничен — изпълнява всеки скрипт без ограничения.
Не е необходимо да променяте политиката за изпълнение, ако трябва да изпълните скрипт, който няма необходимите параметри и не връща резултат. Вместо това можете да използвате командата, PowerShell.exe -File "FILENAME" -ExecutionPolicy Bypassза да заобиколите ограниченията.
Промяна на политиката за изпълнение в Windows 11 от Настройки
В Windows 11 и 10 можете също да разрешите изпълнението на скриптове в PowerShell, като промените конфигурацията на командната конзола от приложението Настройки.
От Windows 11
За да промените политиката за изпълнение на PowerShell от приложението Настройки, използвайте тези стъпки:
-
Отворете Настройки .
-
Кликнете върху Система .
-
Кликнете върху страницата „За разработчици“ .
-
Щракнете върху настройката PowerShell .
-
Включете превключвателя „Промяна на политиката за изпълнение, за да се разрешат локални PowerShell скриптове […]“ .

Ако вече не се нуждаете от тази функция, можете да блокирате скриптове, като използвате същите стъпки, но в стъпка 5 изключете превключвателя „Промяна на политиката за изпълнение, за да се разрешат локални PowerShell скриптове […]“ .
От Windows 10
За да промените политиката за изпълнение на PowerShell от приложението Настройки, използвайте тези стъпки:
-
Отворете Настройки .
-
Кликнете върху „Актуализация и сигурност“ .
-
Кликнете върху страницата „За разработчици“ .
-
Отметнете опцията „Промяна на политиката за изпълнение, за да се разрешат локални PowerShell скриптове […]“ за настройката PowerShell.

-
Щракнете върху бутона Приложи .
Ако вече не се нуждаете от тази функция, можете да блокирате скриптове, като използвате същите стъпки, но в стъпка 4 изчистете отметката от опцията „Промяна на политиката за изпълнение, за да разрешите локални PowerShell скриптове […]“ и приложете промените.
След като изпълните стъпките, настройката ще зададе политиката за изпълнение за PowerShell на „RemoteSigned“. Тази политика ще ви позволи да изпълнявате скриптове без подписване, но ще изисква подписване за отдалечени скриптове.
Промяна на политиката за изпълнение, за да се позволи скрипт без цифров подпис
Ако имате PowerShell скрипт, създаден на друг компютър или изтеглен от интернет, ако се опитате да го стартирате, може да получите съобщението за грешка „Файл […].ps1 не може да бъде зареден. Файлът […].ps1 не е цифрово подписан. Не можете да стартирате този скрипт на текущата система“ или „Скриптът няма да се изпълни на системата“ . Стига да знаете обаче, че скриптът е безопасен за използване и сте го взели от надежден източник, можете да промените политиката за обхват „Процес“ , за да го стартирате успешно.

Грешка „Скриптът на PowerShell не е цифрово подписан“ / Изображение: Мауро Хуцулак
За да промените политиката за изпълнение на PowerShell, за да изпълнявате скрипт „.ps1“, който не е цифрово подписан, използвайте тези стъпки:
-
Отворете „Старт“ .
-
Потърсете PowerShell , щракнете с десния бутон върху горния резултат и изберете опцията „ Изпълни като администратор“ .
-
Въведете следната команда, за да разрешите PowerShell скриптове с цифров подпис и натиснете Enter :
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass

След като изпълните стъпките, можете да стартирате скриптовия файл, използвайки .\Your-PowerShell-Script.ps1командата по време на текущата сесия. След затваряне на PowerShell сесията, политиката за изпълнение ще се върне към първоначалното си състояние, за да предотврати изпълнението на други скриптове.
Ако трябва да изпълните друг скриптов файл, можете да повторите описаните по-горе стъпки.
Актуализация от 10 октомври 2024 г.: Това ръководство е актуализирано, за да се гарантира точност и да се отразят промените в процеса.