Так как выполнение сценариев отключено в этой системе
Перейти к содержимому

Так как выполнение сценариев отключено в этой системе

  • автор:

Так как выполнение сценариев отключено в этой системе

Фото Григорьева Ивана

��

Добро пожаловать! Меня зовут Григорьев Иван, я Full Stack Developer. В основном пишу на PHP (Nette, Laravel), Python (Django, DRF), Vue (Quasar Framework). Опыт профессиональной разработки более 10 лет.

��

Работаю в компании MACRO разработчиком. В свободное время оказываю консультации по разработке ПО.

✏ Пишу о:

Как включить выполнение сценариев PowerShell

image from Как включить выполнение сценариев PowerShell

При переносе этого блога на хостинг Firebase я столкнулся с ошибкой PowerShell, которая говорила о невозможности загрузки файла, из-за которой у меня отказывались работать инструменты firebase-tools.

Как оказалось, политикой выполнения скриптов по умолчанию запрещается выполнять скрипты. В заметке приводится решение.

PS C:\_projects\ivanscm.name> firebase init firebase : Невозможно загрузить файл C:\Users\ivans\AppData\Roaming\npm\firebase.ps1, так как выполнение сценариев откл ючено в этой системе. Для получения дополнительных сведений см. about_Execution_Policies по адресу https:/go.microsoft. com/fwlink/?LinkID=135170. строка:1 знак:1 + firebase init + ~~~~~~~~  + CategoryInfo : Ошибка безопасности: (:) [], PSSecurityException  + FullyQualifiedErrorId : UnauthorizedAccess 

Выключение запрета выполнения сценариев

Для решения проблемы достаточно выполнить команду Set-ExecutionPolicy unrestricted и выбрать необходимую опцию. В моем случае я выбрал A (это небезопасно!), но можно и рекомендуется выбирать Y , что бы система каждый раз спрашивала разрешение на запуск скриптов.

PS C:\_projects\ivanscm.name> Set-ExecutionPolicy unrestricted  Изменение политики выполнения Политика выполнения защищает компьютер от ненадежных сценариев. Изменение политики выполнения может поставить под угрозу безопасность системы, как описано в разделе справки, вызываемом командой about_Execution_Policies и расположенном по адресу https:/go.microsoft.com/fwlink/?LinkID=135170 . Вы хотите изменить политику выполнения? [Y] Да - Y [A] Да для всех - A [N] Нет - N [L] Нет для всех - L [S] Приостановить - S [?] Справка (значением по умолчанию является "N"):A 

Включение запрета выполнения сценариев

Для включения запрета выполните Set-ExecutionPolicy Restricted .

Ознакомится подробнее можно в документации на сайте Microsoft.

powershell выполнение сценариев отключено в этой системе

если выполнять из C:\Windows\system32 то все хорошо, если с D:\SCRIPTS\sc.ps1 то все не хочет, как это можно исправить?

Невозможно загрузить файл D:\SCRIPTS\sc.ps1, так как выполнение сценариев отключено в этой системе. Для получения дополнительных сведений см. about_Execution_Policies по адресу http://go.microsoft.com/fwlink/?LinkID=135170. + CategoryInfo : Ошибка безопасности: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId : UnauthorizedAccess 
$ipv4 = (Test-Connection -ComputerName $env:computername -count 1).ipv4address.IPAddressToString $num = $ipv4.split(".")[-1] $ie = Invoke-WebRequest -Uri "http://****/indata.php?nt=$num" -Method POST -ContentType "text/plain; charset=utf-8" 

Отслеживать
задан 22 янв 2019 в 11:55
651 1 1 золотой знак 6 6 серебряных знаков 15 15 бронзовых знаков
Переходил по указанному адресу? about_Execution_Policies
22 янв 2019 в 11:57
Да там сказано через Set-ExecutionPolicy Unrestricted но это ничем хорошим не закончится
22 янв 2019 в 11:59
Там кроме Unrestricted еще 5 политик есть
22 янв 2019 в 12:01
там только либо разрешить всем сценариям работать либо нет, можно как то работать с одним сценарием?
22 янв 2019 в 12:02
можно разрешить на текущий сеанс только.
22 янв 2019 в 12:05

4 ответа 4

Сортировка: Сброс на вариант по умолчанию

  • Открываем терминал от админа.
  • Пишем и запускаем: Set-ExecutionPolicy RemoteSigned
  • На вопрос отвечаем: A (Да для всех)

Отслеживать
ответ дан 2 ноя 2019 в 8:59
Serg The Bright Serg The Bright
1,506 1 1 золотой знак 9 9 серебряных знаков 7 7 бронзовых знаков
Это единственный во всем интернете, включая англоязычный, простой и верный ответ.
4 дек 2019 в 12:57
Спасибо за ответ!
8 ноя 2020 в 10:46

Единственное что тут можно добавить — это рекомендацию: если это нужно для разовой установки чего-то — то лучше потом вернуть состояние в стандартное: Set-ExecutionPolicy Default. Это поможет избежать вредоносного ПО 🙂

2 дек 2020 в 9:06

По ссылке, которая указанна у сообщении об ошибке, идет описание политик выполнения.

Для запуска локальных скриптов, нужно установить минимум политику REMOTESIGNED, в этом случае можно будет запускать локальные не подписанные скрипты.

Для установки политики можно воспользоваться командой

Set-ExecutionPolicy -ExecutionPolicy

Так же можно ограничить область применения данной политики, для этого можно воспользоваться параметром -Scope . По умолчанию политика устанавливается для всех пользователей на локальном компьютере, однако с помощью значения CurrentUser , можно ограничить применение только для текущего пользователя, а с помощью значения Process применение ограничится текущим запущенным процессом PowerShell.

Таким образом для выполнения можно выполнить сначала команду:

> Set-ExecutionPolicy RemoteSigned -Scope Process 

и затем запустить нужный скрипт.

Не активируется виртуальная среда в python (pycharm) venv?

Невозможно загрузить файл D:\template\venv\Scripts\activate.ps1, так как выполнение сценариев отключено в этой системе. Для получения дополнительных сведений см. about_Execution_Policies по адресу https:/go.microsoft.com/fwlink/?Li
nkID=135170.
+ CategoryInfo : Ошибка безопасности: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : UnauthorizedAccess

И если ошибка связана с PowerShell как решить это или как обойти

  • Вопрос задан более двух лет назад
  • 22782 просмотра

1 комментарий

Средний 1 комментарий

Powershell — невозможно загрузить файл ps1, так как выполнение сценариев отключено в этой системе

PowerShell

Написал маленький скрипт Powershell, выполняю и получаю ошибку:

Невозможно загрузить файл C:\distrib\Send-UdpDatagram.ps1, так как выполнение сценариев отключено в этой системе. Для получения дополнительных сведений см. about_Execution_Policies по адресу https:/go.microsoft.com/fwlink/?LinkID=135170

powershell

Система новая, Windows 11. По умолчанию в ней запуск Powershell скриптов отключён. Включим. Выполняем под админом:

Set-ExecutionPolicy unrestricted

И выбрать опцию.

  • Y — Да
  • A — Да для всех
  • N — Нет
  • L — Нет для всех
  • S — Приостановить

Я выбираю A. Небезопасно.

powershell

Пробую выполнить PS1 скрипт теперь.

powershell

Скрипт выполнился. Чтобы включить запрет:

Set-ExecutionPolicy restricted

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *