Ошибка «Невозможно загрузить файл ….ps1, так как выполнение сценариев отключено в этой системе» (РЕШЕНО)
В настоящее время в каждую Windows предустановлен PowerShell.
PowerShell — это не только консоль предоставляющая доступ к утилитам командной строки, но и мощное средство администрирования и автоматизации. В PowerShell реализовано множество команд и функций, которые могут добавляться как модули устанавливаемым программным обеспечением.
Но при попытке запуска скрипта PowerShell вас, вероятно, ждёт неприятный сюрприз. К примеру, моя попытка выполнить файл PowerShell с расширением .ps1:
Эта команда вызвала ошибку:
Ключевой является информация:
Причина ошибки в том, что в системе Windows по умолчанию запрещено запускать пакетные файлы, скрипты PowerShell.
Как разрешить в Windows выполнение скриптов PowerShell
Проблема заключается в том, что политика выполнения скриптов запрещает выполнять эти самые скрипты. Узнать текущее значение политики можно командой:
Для своей системы я получил значение:
Когда поступит запрос, введите Y.
Данные команды нужно выполнять в PowerShell, а не в CMD.
Как запретить в Windows выполнение скриптов PowerShell
Чтобы вновь включить запрет на выполнение пакетных файлов в PowerShell достаточно выполнить команду:
Опасно ли разрешать выполнение файлов со скриптами PowerShell в Windows?
При выполнении команды по изменению политика запуска скриптов каждый раз показывается сообщение:
Предупреждение кажется довольно страшным, но в самой справке, на которую дана ссылка, написано, что данная политика запрета запуска скриптов не является мерой безопасности, поскольку пользователь по-прежнему может выполнить команды одну за другой. Более того, у хакеров есть возможность обойти этот запрет и запустить скрипт даже при отключённой политике.
Как сказано в документации, это мера для предотвращения случайного выполнения скриптов PowerShell и случайных изменений.
То есть в целом изменение этой настройки не уменьшает уровень безопасности системы. Но если вы редко запускаете скрипты PowerShell, то можете установить уровень Restricted, то есть запрет выполнения сценариев.
Ошибка «»Set-ExecutionPolicy» не является внутренней или внешней командой, исполняемой программой или пакетным файлом»
Если при выполнении
вы получили ошибку
то это означает, что вы запускаете указанную команду в CMD (командная строка Windows), а не в PowerShell. Чтобы ошибка исчезла, откройте PowerShell и выполните команду там.
Windows PowerShell. Выполнение сценариев отключено в этой системе
Если скрипт не соответствует этому условию, то выполнение сценариев PowerShell в системе запрещено. Это связано в первую очередь с тем, что в скрипте может находиться вредоносный код, который может нанести вред операционной системе.
PowerShell имеет несколько режимов выполнения, которые определяют, какой тип кода разрешается выполнять. Существует 5 различных режимов выполнения:
По умолчанию для PowerShell используется режим «Ограниченный». В этом режиме, PowerShell работает как интерактивная оболочка. Если вы ранее не настраивали PowerShell, то вместо работы скрипта вы увидите сообщение об ошибке, написанное красным шрифтом как на скриншоте ниже.
Самым безопасным способом решения этой проблемы является – изменение политики выполнения на неограниченную, запуск скрипта, и затем обратный возврат к ограниченной политике.
Для изменения политики выполнения на неограниченную, воспользуемся консолью PowerShell открытую с правами Администратора и выполним следующую команду:
После запуска команды вам будет предложено подтвердить изменение политики выполнения. Ответим Y ( Да ).
Теперь можно запустить скрипт. Однако, вы подвергаете систему серьезному риску, так что по окончании работы скрипта, не забудьте вернуть политику выполнения назад в ограниченный режим. Сделать это можно с помощью следующей команды:
После запуска команды вам будет предложено подтвердить изменение политики выполнения. Ответим Y ( Да )
Далее ниже представлены все команды для изменения политики выполнения.
Блокируется выполнение любых скриптов. Значение по умолчанию.
Разрешено выполнение скриптов, имеющих цифровую подпись.
Разрешено выполнение любых скриптов. При запуске не подписанного скрипта, который был загружен из Интернета, программа может потребовать подтверждение.
Ничего не блокируется, никакие предупреждения и запросы не появляются.
Теперь при выполнении команд не нужно подтверждать производимые изменения.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Ошибка:
.\venv\Scripts\activate : Невозможно загрузить файл C:\path\venv\Scripts\activate.ps1, так как выполнение сценариев отключено в этой системе.
Для получения дополнительных сведений см. about_Execution_Policies по адресу http://go.microsoft.com/fwlink/?LinkID=135170.
строка:1 знак:1
.\venv\Scripts\activate
This comment has been minimized.
Copy link Quote reply
Maga000005 commented Dec 3, 2019
Ошибка: .\venv\Scripts\activate : Невозможно загрузить файл C:\path\venv\Scripts\activate.ps1, так как выполнение сценариев отключено в этой системе. Для получения дополнительных сведений см. about_Execution_Policies по адресу http://go.microsoft.com/fwlink/?LinkID=135170-да. строка:1 знак:1 .\venv\Скрипты\активировать
This comment has been minimized.
Copy link Quote reply
Wegazz commented Mar 9, 2020
This comment has been minimized.
Copy link Quote reply
borisk85 commented Apr 15, 2020
This comment has been minimized.
Copy link Quote reply
nevidomskii8 commented May 5, 2020
все там помогло. нужно только найти где эта PowerShell хранится и запусить её от админа.
This comment has been minimized.
Copy link Quote reply
Aranatell commented May 5, 2020
Вот результат ввода
ошибка так же выдаётся
This comment has been minimized.
Copy link Quote reply
MaxVilson commented May 5, 2020
все помогло, спасибо, добрые люди)
This comment has been minimized.
Copy link Quote reply
alexalex04261 commented Jun 26, 2020
Спасибо большое! Помогло!
This comment has been minimized.
Copy link Quote reply
Vladimir-xx commented Jul 8, 2020
This comment has been minimized.
Copy link Quote reply
BulatSa commented Aug 18, 2020
This comment has been minimized.
Copy link Quote reply
MedvedievMaksym commented Aug 18, 2020
This comment has been minimized.
Copy link Quote reply
Kitanit commented Aug 23, 2020
This comment has been minimized.
Copy link Quote reply
gambit-bgr commented Sep 16, 2020
This comment has been minimized.
Copy link Quote reply
KniginAleksey commented Oct 15, 2020
This comment has been minimized.
Copy link Quote reply
Kirill-Sakov commented Dec 7, 2020
«Set-ExecutionPolicy RemoteSigned» команда помогла
This comment has been minimized.
Copy link Quote reply
gmyza123 commented Jan 11, 2021
This comment has been minimized.
Copy link Quote reply
Nikolasgrizli commented Jan 19, 2021
Спасибо тебе, добрый человек! проблема была с запуском tars cli но тоже решилась твоим способом.
Исправлено: выполнение сценариев отключено в этой системе —
Эта ошибка возникает, когда пользователи пытаются запустить сценарии или конкретные команды в PowerShell как часть своей работы или устранить проблему, которая беспокоит их на их ПК. Выполнение сценариев часто отключено по умолчанию в пользовательских системах, и для его разрешения необходимо настроить эти параметры.
Выполнение скриптов отключено в этой системе
У этой проблемы есть и другие причины, и поэтому мы подготовили статью, которая поможет вам решить эту проблему, если вы будете тщательно следовать методам. Удачи!
Что вызывает ошибку «Выполнение сценариев отключено в этой системе»?
У этой проблемы не так много разных причин, и они часто различаются в разных системах. Тем не менее, они могут быть легко перечислены, и вы должны увидеть, можно ли классифицировать вашу проблему, как некоторые из вариантов ниже:
Решение 1. Запустите PowerShell от имени администратора и выполните команду
В PowerShell есть команда, которая решает именно эту проблему, и ее можно решить за считанные минуты. Это включает в себя фактическое изменение политики выполнения скрипта из окна PowerShell. Попробуйте и убедитесь сами!
Запуск Windows PowerShell от имени администратора
Решение 2. Изменить групповые политики
Если описанный выше метод не привел к успеху, что часто встречается в более новых версиях Windows, таких как Windows 10, вам может потребоваться изменить политики в более широком контексте. Это обычное сообщение об ошибке, которое появляется после запуска команды из Решения 1:
Чтобы решить проблему, вам нужно перейти в редактор групповой политики и немедленно изменить настройки.
Запуск редактора групповой политики
Разрешить запуск всех скриптов
Решение 3. Измените его в настройках Windows 10
Пользователи Windows 10 также могут изменить настройки скрипта в своем приложении «Настройки Windows 10» в разделе «Для разработчиков». Как правило, это то место, куда вам следует направиться, если описанные выше шаги не дали качественных результатов для решения проблемы. Обратите внимание, что это может быть применено только к пользователям под управлением Windows 10.
Обновить Безопасность в настройках
Разрешить скрипты в настройках
Решение 4. Решите метод с помощью реестра
Если описанные выше способы не помогли решить вашу проблему, остается только зайти в реестр и вручную изменить настройки в максимально возможной области. Этот метод довольно прост, но вы все равно должны быть осторожны при редактировании реестра, чтобы убедиться, что все в порядке.