Выполнение сценария отключено в этой системе Windows 10
Обновлено: 21.11.2024
Если PowerShell блокирует выполнение сценариев, выполните следующие действия, чтобы включить выполнение сценариев PowerShell в Windows 10.
PowerShell — это мощное средство автоматизации и управления Windows. С помощью интерфейса командной строки PowerShell вы можете управлять и автоматизировать практически любую часть или процедуру Windows. На самом деле, в Интернете есть множество как официальных, так и созданных сообществом сценариев PowerShell для выполнения работы в Windows 10. При необходимости вы также можете создавать свои собственные сценарии.
По сути, сценарий PowerShell — это не что иное, как текстовый файл с набором команд и расширением «.ps1». Используя сценарий, PowerShell может выполнять команды в файле в последовательном порядке для получения желаемых результатов.
Учитывая, насколько мощной является возможность выполнения сценариев, PowerShell имеет встроенный механизм блокировки нежелательного или случайного выполнения сценариев. Например, когда вы пытаетесь выполнить сценарий PowerShell с настройками по умолчанию, он покажет «невозможно загрузить, поскольку выполнение сценариев отключено в этой системе». ошибка. Чтобы включить выполнение сценариев PowerShell, сначала необходимо установить правильную политику выполнения.
Если вам когда-нибудь понадобится выполнить сценарии PowerShell, выполните перечисленные ниже шаги, чтобы включить сценарии PowerShell в Windows 10.
Шаги по включению выполнения скриптов PowerShell в Windows 10
- Нажмите клавишу Windows, чтобы открыть меню "Пуск".
- Введите «PowerShell».
- Щелкните правой кнопкой мыши результат PowerShell и выберите «Запуск от имени администратора».
- После открытия окна PowerShell выполните «get-executionpolicy», чтобы узнать текущую политику выполнения.
- Скорее всего, там будет указано «Запрещено». Это означает, что скрипты заблокированы.
- В окне PowerShell выполните команду set-executionpolicy remotesigned.
- Введите «A» рядом с подтверждающим сообщением и нажмите «Ввод».
- Вы изменили политику выполнения, чтобы включить сценарии PowerShell. ол>р>
- Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted
- Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
- set-executionpolicy удаленно подписанный
- Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Restricted
Это все. Отныне вы можете запускать сценарии, созданные непосредственно на вашем компьютере, или загружать подписанные сценарии из Интернета или других компьютеров.
Если вы хотите запускать неподписанные скрипты, загруженные из Интернета или с других компьютеров, вам необходимо установить политику выполнения на «неограниченно». Для этого выполните команду set-executionpolicy unlimited в окне PowerShell.
Чтобы отключить выполнение скрипта PowerShell, вы можете просто установить политику выполнения обратно на ограничение. Просто выполните команду «set-executionpolicy limited», и все готово.
Это все. Включить выполнение сценариев PowerShell в Windows 10 очень просто. Если вы застряли или вам нужна помощь, оставьте комментарий ниже, и я постараюсь помочь, насколько это возможно.
Чтобы узнать больше о политиках выполнения PowerShell, прочитайте, как изменить политику обмена PowerShell в Windows 10. Вы также можете узнать больше о выполнении скриптов PowerShell из этой статьи Microsoft TechNet.
У меня есть сценарий Power Shell, который запускается для остановки служб, "остановки/завершения процесса", удаления двух файлов и последующего перезапуска.
Я могу идеально запустить этот скрипт на моем хост-компьютере с 64-разрядной версией Windows 10 — проблем НЕТ. Я пытаюсь запустить его на своих виртуальных машинах и получаю сообщение об ошибке
ТАК просто ради смеха я пошел посмотреть свои групповые политики, и они не настроены ни на одной машине.
Административные шаблоны > Компоненты Windows > Windows PowerShell не настроен.
Так почему проблема на виртуальной машине, а не на моем хосте?
EDIT Запустил Get-ExecutionPolicy, а также Get-ExecutionPolicy-List на виртуальной машине с ограничениями
Запустил на своем хосте
Я не знаю, как моя локальная машина была изменена - установка программного обеспечения??
Каковы выходные данные команды get-executionpolicy на одной из этих виртуальных машин? Если вывод отличается от RemoteSigned, Unrestricted или Bypass, это может быть вашей проблемой.
расширение вопроса от AdminOfThings . какова политика выполнения в этой системе для учетной записи, в которой запущен скрипт?
@AdminOfThings Я понимаю, что использование по умолчанию ограничено. Так почему же это должно быть ограничено, если ни одна машина не настроена, даже в соответствии с моей групповой политикой? Оба были в моем распоряжении с самого начала - новый ноутбук, новая виртуальная машина (я создал) ... никаких изменений в политике, и в политике Grp оба говорят, что не настроено. Сегодня политика get-executionpolicy работает, не выдавая мне ошибки - и точно говорит - одно ограничено, а другое нет. Вчера он просто выдал ошибку, что мне не разрешено запускать скрипты на машине.
12 ответов 12
Я собираюсь пойти на риск и просто перефразировать часть о политиках выполнения.
По умолчанию для клиентских ОС Windows используется политика выполнения Restricted. Это означает, что скрипт не будет запускаться автоматически. Если ваша виртуальная машина имеет клиентскую ОС Windows и вы никогда не меняли политику выполнения, то ваша проблема ожидаема. Если одна машина с Windows 10 работает без проблем, значит, кто-то изменил политику выполнения.
На проблемных виртуальных машинах вам нужно будет определить область действия (или учетную запись), в которой выполняется ваш скрипт. Затем вам нужно будет соответствующим образом установить политику выполнения.
Если вы тестируете выполнение скрипта, войдя на сервер под своим логином, вы можете просто открыть консоль PowerShell и выполнить следующее:
Затем запустите скрипт в той же консоли.
Следующая команда выводит список политик выполнения для всех областей на этом компьютере:
Вы должны сравнить приведенную выше команду в рабочей и нерабочей системах. Ваша проблема, вероятно, связана с настройкой политики выполнения для конкретной области, в которой выполняется сценарий. Если вы прочтете ссылку в моем посте, она должна помочь вам определить, что именно вам нужно изменить.
Следующее позволит всем локальным сценариям выполняться на виртуальной машине, независимо от того, подписаны они или нет:
Если вы пытаетесь запустить сценарий в Windows 10 PowerShell и получаете сообщение об ошибке "Невозможно загрузить, поскольку выполнение сценариев отключено в этой системе", продолжайте читать ниже, чтобы устранить проблему.
Как исправить: не удается запустить сценарий PowerShell, поскольку политика безопасности запрещает выполнение сценариев в Windows 10.
Ошибка PowerShell "%ScriptName%.ps1 не может быть загружен, поскольку он отключен в этой системе" появляется из-за политики безопасности, запрещающей выполнение сценариев. Чтобы снять ограничение и включить запуск скриптов в Windows 10, выполните следующие действия:
<р>1. Откройте PowerShell от имени администратора. Для этого: <блочная цитата>1. Нажмите клавиши Windows + R, чтобы открыть окно команды «Выполнить»
2. Введите powershell и нажмите CTRL + SHIFT + ENTER.
<р>2. В PowerShell скопируйте/вставьте приведенную ниже команду и нажмите Enter:
<р>4. После завершения изменения политики закройте окно PowerShell.
<р>5. Теперь запустите скрипт, который выдал вам ошибку «Сценарии отключены» с правами администратора. Теперь ошибка должна исчезнуть. ** Примечание. После выполнения приведенной выше команды вы получите предупреждающее сообщение, объясняющее риски безопасности, связанные с изменением политики выполнения. Нажмите Y, а затем Enter, чтобы принять изменение и вернуться к предыдущему параметру политики.
<р>7. Закройте окно PowerShell, и все готово!
Вот и все! Это сработало для вас?
Пожалуйста, оставьте комментарий в разделе комментариев ниже или, что еще лучше, поставьте лайк и поделитесь этим сообщением в социальных сетях, чтобы помочь распространить информацию об этом решении.
Если эта статья оказалась для вас полезной, поддержите нас, сделав пожертвование. Даже 1 доллар может иметь для нас огромное значение.
Я столкнулся с этой ошибкой «запуск скриптов в этой системе отключен», когда пытался активировать виртуальную среду в PowerShell.
Эта ошибка возникает из-за того, что команда venv\Scripts\activate пытается запустить сценарий PowerShell Activate.ps1 для активации виртуальной среды в вашей системе.
Примечание. .ps1 — это расширение сценариев PowerShell.
Оказалось, что в моей системе Windows 10 политика выполнения по умолчанию ограничена. Это означает, что PowerShell не может выполнить какой-либо сценарий.
Следующие шаги показывают, как исправить ошибку.
Откройте Windows PowerShell от имени администратора
Откройте меню "Пуск" в Windows, найдите powershell и щелкните его правой кнопкой мыши.Нажмите «Запуск от имени администратора».
Примечание. Вам не нужно закрывать окно PowerShell, в котором возникла ошибка.
Разрешить Windows PowerShell выполнять сценарии
Чтобы исправить ошибку, необходимо изменить политику выполнения PowerShell на remotesigned . Это позволит вам запускать неподписанные сценарии на локальном компьютере, а также удаленные сценарии (из Интернета), которые были подписаны.
Введите следующую команду в окне администратора PowerShell, чтобы изменить политику выполнения:
Вам будет предложено принять изменение, введите A (Да для всех) и нажмите клавишу ВВОД на клавиатуре, чтобы принять изменение.
Закройте окно администрирования PowerShell и вернитесь к окну PowerShell, в котором возникла ошибка. Запустите команду, вызвавшую ошибку, еще раз. У меня был venv\Scripts\activate .
Если вы посмотрите на следующий снимок экрана, вы увидите, что ошибка больше не возникает, и виртуальная среда активирована:
Надеюсь, ваша ошибка тоже исправлена. Дайте мне знать в комментариях, если у вас есть какие-либо вопросы. Спасибо, что прочитали.
Категории: Powershell
Обновлено: 4 сентября 2021 г.
Вам также может понравиться
Обзор 2021 года и планы на 2022 год
Цель состоит в том, чтобы отслеживать мои цели, достижения и неудачи, чтобы в будущем я мог видеть, как далеко я продвинулся.
Обзор 2020 года
В последнее время я читаю отчеты о годовых обзорах, они вдохновили меня на привычку документировать свой годовой прогресс.
Асинхронное программирование с обратными вызовами в JavaScript
В этой статье вы узнаете о синхронном и асинхронном программировании в JavaScript. После этого вы узнаете значение обратного вызова.
Читайте также: