Среда, 15 мая 2013 08:56

Как запустить скрипт PowerShell

Оцените материал
(10 голосов)

Бывают случаи когда для выполнения каких либо задач функционала утилит CSVDE и LDIFDE недостаточно и для решения задачи необходимо использовать PowerShell. Если задача не тривиальная и требует ввода большого количества команд, удобней записать их в один файл и запустить этот файл из PowerShell, чем вводить все в одну строку. Как сделать скрипт и запустить его в PowerShell?- на этот вопрос вы найдете ответ, если прочитаете статью.

Для того чтобы запустить скрипт PowerShell необходимо сделать текстовый файл (txt), набрать в нем необходимые команды, после этого сменить расширение файла на PS1. Если возникли проблемы с изменением расширения файла- оно не отображается, рекомендую прочитать статью- Как сделать видимым расширение файлов.

Теперь необходимо запустить PowerShell ("Пуск- Все программы- Стандартные- Windows Power Shell") и перейдите в папку со скриптом CD D:/ (в данном примере скрипт расположен в корне диска D), после этого запускаем скрипт .\<имя скрипта> например: .\script.ps1. Можно другим способом,  запустить скрипт PowerShell- прописать весь путь, например D:/script.ps1

При первом запуске выполнении скрипта увидите ошибку:

Не удается загрузить файл <путь к вашему файлу>, так как выполнение скриптов запрещено для данной системы. Введите "get-help about_signing" для получения дополнительных сведений.

Чтобы запускать созданные собою скрипты, необходимо либо использовать сертификат более подробно об этом можно узнать если запустит команду get-help about_signing, либо разрешить выполнение ненадежных скриптов с помощью команды Set-ExecutionPolicy remotesigned и подтверждением (Внимание!!! для выполнения этой команды необходимо запустить PowerShell с правами администратора). После этого можно вновь запустить выполнения скрипта.

Я очень надеюсь, моя статья помогла Вам! Просьба поделиться ссылкой с друзьями:


Комментарии  

+4 # npcpp_evgen 12.02.2015 07:40
Нашел.
:sigh: Set-ExecutionPo licy Restricted — блокируется выполнение любых скриптов. Значение по умолчанию;
:sigh: Set-ExecutionPo licy AllSigned — разрешено выполнение скриптов, имеющих цифровую подпись;
:sigh: Set-ExecutionPo licy RemoteSigned — скрипты, подготовленные на локальном компьютере, можно запускать без ограничений, скрипты, загруженные из Интернета — только при наличии цифровой подписи;
:sigh: Set-ExecutionPo licy Unrestricted — разрешено выполнение любых скриптов. При запуске неподписанного скрипта, который был загружен из Интернета, программа может потребовать подтверждение;
:sigh: Set-ExecutionPo licy Bypass — ничего не блокируется, никакие предупреждения и запросы не появляются.

Обычно для безпроблемного выполнения скриптов достаточно задать значение RemoteSigned. Изменить текущее значение можно командой Set-ExecutionPo licy, например:
Set-ExecutionPo licy RemoteSigned -force
Ответить
0 # npcpp_evgen 12.02.2015 07:28
Присоединяюсь к Alex.
Как вернуть всё в исходное состояние???
Ответить
+1 # Alex 13.07.2014 19:40
Большое спасибо! Помогло. Скажите, а как обратно вернуть запрет на выполнение небезопасных скриптов. Сейчас это как потенциальная дыра в безопасности. Подобный скрипт больше выполнять не понадобится.
Ответить
0 # admin PK-HELP.COM 21.05.2013 12:03
Цитирую Serg:
Ошибочка вышла: разрешить выполнение ненадежных скриптов нужно выполнить Set-ExecutionPolicy unrestricted. А лучше: Set-ExecutionPolicy remotesigned. Это разрешит запускать все локальные скрипты

Исправил, спасибо за поправку.
Ответить
+2 # Serg 21.05.2013 11:13
Ошибочка вышла: разрешить выполнение ненадежных скриптов нужно выполнить Set-ExecutionPo licy unrestricted. А лучше: Set-ExecutionPo licy remotesigned. Это разрешит запускать все локальные скрипты
Ответить

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