Alexander A Manaeff -

 
 

Выполнение скриптов PowerShell запрещено для данной системы

Windows PowerShell — расширяемое средство автоматизации от Microsoft, состоящее из оболочки с интерфейсом командной строки и сопутствующего языка сценариев.
Отличная замена командной строке. Возможности просто безграничные.

Модератор: UncleFather

Выполнение скриптов PowerShell запрещено для данной системы

Сообщение UncleFather » 07 мар 2014 13:04, Пт




Проблема:

При попытке выполнить скрипт PowerShell получаем сообщение
Не удается загрузить файл MyScript.ps1 так как выполнение скриптов запрещено для данной системы. Введите "get-help about_signing" для получения дополнительных сведений.

 При запуске из командной строки:
00.JPG

 При запуске скрипта из оболочки PowerShell
02.JPG




Объяснение:

По умолчанию выполнение сценариев PowerShell в системе запрещено. Так как в скриптах может находится вредоносный код, который может нанести вред системе. По соображениям безопасности скрипты PowerShell должны быть подписаны цифровой подписью (либо можно пользоваться только одиночными командами PowerShell в интерактивном режиме, все прочие сценарии запрещены), такой подход называется политика выполнения.


Решение:

Изменить политику выполнения можно в интерактивном режиме (то есть непосредственно из оболочки PowerShell) командой:
Код: Выделить всё
Set-ExecutionPolicy НовоеЗначениеПолитики

здесь «НовоеЗначениеПолитики» может принимать одно из значений:


  • RemoteSigned - все ЛОКАЛЬНЫЕ сценарии PowerShell будут выполняться без подписи, а сценарии загруженные из интернета - с цифровой подписью надежного издателя

  • Restricted - (по умолчанию) все сценарии запрещены, можно пользоваться только одиночными командами PowerShell в интерактивном режиме

  • AllSigned - все сценарии должны иметь цифровую подпись надежного издателя. Перед выполнение сценариев надежных издателей запрашивается подтверждение

  • Unrestricted - разрешается выполнение любых сценариев PowerShell без проверки цифровой подписи


Итак, в нашем случае проделываем следующее:


  1. Открываем оболочку PowerShell от имени Администратора

  2. Создаем новую (чистую) вкладку. Поскольку, если мы попытаемся выполнять даже одиночные команды из вкладок ранее сохраненных скриптов, то опять же получим ошибку «Выполнение скриптов PowerShell запрещено для данной системы»
     Создаем новую вкладку:
    03.JPG


  3. Выполняем команду
    Код: Выделить всё
    Set-ExecutionPolicy RemoteSigned


  4. Соглашаемся с условиями
     Подтверждение изменения политики выполнения скриптов:
    01.JPG


Теперь политика скриптов данного компьютера изменена на «RemoteSigned», в чем мы можем убедиться выполнив следующую команду:
Код: Выделить всё
Get-ExecutionPolicy

Поскольку на этот момент политика выполнения скриптов уже должна быть изменена, то эту команду можно уже выполнять из любой вкладки оболочки PowerShell, либо вообще из командной строки.
 Результат Get-ExecutionPolicy:
04.JPG




Если Вам понравился этот материал, то мы с признательностью примем вашу финансовую поддержку, которая поможет нам и в дальнейшем радовать Вас интересной и полезной информацией.
Помните, что даже минимальная сумма сделает Вас инвестором этого проекта и о Вас будут думать с благодарностью тысячи наших новых читателей.
Материально поддержать проект можно здесь










Alexander A. Manaeff©

Понравилась статья? Будем крайне признательны за репосты в соцсетях! Материально поддержать проект можно здесь

Мои странички:
ВКонтакте
Одноклассники
Youtube
Facebook
Instagram
Изображение
Изображение
Изображение
Изображение
Аватара пользователя
UncleFather
Site Admin
 
Сообщения: 1342
Зарегистрирован: 17 авг 2004 16:20, Вт



Вернуться в Windows PowerShell

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Alexander A Manaeff - нижняя граница
Рейтинг@Mail.ru Яндекс.Метрика Яндекс цитирования

Счетчик посещений