- Запуск с скрипт windows
- Разрешить выполнение скриптов powershell
- Как запустить скрипт PowerShell по расписанию
- Запуск скрипта PowerShell через исполняемый файл exe
- Скрипты сервера Windows Script Host (WSH)
- Как создать и запустить сценарий PowerShell в Windows 10 – инструкция по шагам
- Создание файла сценария PowerShell
- Создание скрипта с помощью блокнота
- Создание сценария с помощью интегрированной среды сценариев
- Запуск файла сценария PowerShell
Запуск с скрипт windows
Как запустить скрипт PowerShell в Windows-01
Всем привет сегодня хочу рассказать как запустить скрипт PowerShell в Windows. Представьте ситуацию вы написали скрипт который сильно упрощает вам вывод информации по Active Directory, вы открываете оснастку powershell прописываете путь к своему скрипту нажимаете enter и получаете ошибку.
Не удается загрузить файл , так как выполнение скриптов запрещено для данной системы. Введите «get-help about_signing» для получения дополнительных сведений.
Смотрим как ее решить.
Как запустить скрипт PowerShell в Windows-02
PowerShell обладает рядом режимов исполнения, которые определяют, какой тип кода разрешается выполнять. Все это управляется ключом реестра, живущим в HKLM. Существует 4 различных режима исполнения:
Ограниченный (Restricted): Политика исполнения по умолчанию, не допускает работу скриптов и разрешает работу лишь интерактивных команд.
Все подписанные (All Signed): Допускает работу всех скриптов. Правда, все скрипты и файлы конфигурации должны быть подписаны издателем, которому вы доверяете; данный режим подвергает вас риску работы подписанных (но вредоносных) скриптов, после получения подтверждения доверия издателю.
Удаленные подписанные (Remote Signed): Локальные скрипты работают без подписи. Все скачанные скрипты должны иметь цифровую подпись.
Неограниченный (Unrestricted): Все скрипты и файлы конфигурации, полученные из коммуникационных приложений, вроде Microsoft Outlook, Internet Explorer, Outlook Express и Windows Messenger работают после подтверждения, что вы понимаете, что файл исходит из Интернета; никакие цифровые подписи не требуются; данный режим подвергает вас риску работу неподписанных, вредоносных скриптов.
По умолчанию для PowerShell используется режим «Ограниченный». В этом режиме, PowerShell работает лишь как интерактивная оболочка. Он не допускает работу скриптов, и загружает лишь те файлы конфигурации, которые подписаны издателем, которому вы доверяете.
Разрешить выполнение скриптов powershell
Чтобы запускать созданные собою скрипты, необходимо разрешить выполнение ненадежных скриптов с помощью команды Set-ExecutionPolicy remotesigned и подтверждением (Внимание. для выполнения этой команды необходимо запустить PowerShell с правами администратора). После этого можно вновь запустить выполнения скрипта.
Как запустить скрипт PowerShell в Windows-03
На вопрос жмем Y, для разрешения выполнения скриптов. После этих манипуляций вы сможете запустить ваш скрипт.
Как запустить скрипт PowerShell по расписанию
Очень часто на серверах появляется необходимость по запуску скрипта PowerShell по расписанию или по определенному событию, которое появляется в логах Windows, в таких ситуациях нам на помощь приходит планировщик заданий.
Я приведу пример, когда мне нужно было отслеживать события ID 20291 или ID 11707. И так откройте окно выполнить и введите в нем:
Далее вы щелкаете по библиотеке правым кликом и из контекстного меню выбираете пункт «Создать задачу«.
Задаете имя задания, советую запускать скрипт PowerShell от имени учетной записи «СИСТЕМА (SYSTEM)«, это будет гарантировать, что задание точно отработает.
Поставьте галку «Выполнять с наивысшими правами»
Переходим на вкладку тригеры и создаем новый. В параметрах выберите «При событии«
- Журнал — Приложение
- Источник — MsiInstaller
- Код события — 11707
Тут тригер будет срабатывать, когда в логах появится событие 11707.
В действие оставляем «Запуск программы». В программе указываем powershell, а в параметрах задайте путь до самого скрипта, через параметр -File c:\scripts\id11707.ps1.
В итоге у меня вышло вот так.
Как видим, мое задание по запуску скрипта PowerShell успешно создано и отработало в планировщике Windows.
Запуск скрипта PowerShell через исполняемый файл exe
Так же вы можете воспользоваться конвертированием скрипта PowerShell из формата ps1 в exe файл, после чего даже не потребуется менять политику запуска не подписанных скриптов. Так же exe скрипт можете запускать и через планировщик.
Скрипты сервера Windows Script Host (WSH)
В статье описаны скрипты WSH (Windows Script Host), способы их запуска, состав и функциональные возможности самого сервера Windows Script Host, и несколько примеров WSH скриптов. И так, давайте приступим. Все скрипты WSH являются интерпретируемыми, то есть, для их выполнения не требуется не требуется посредника, который будет преобразовывать ваш код в машинный. Вы просто открываете блокнот и пишите код сценария WSH. По умолчанию, Windows Script Host позволяет писать сценарии на двух языках, это VBScript и Jscript, но, при желании можно установить дополнительные модули для остальных языков, например, Perl, Phyton, TCL и так далее.
Теперь давайте рассмотрим, какие типы WSH сценариев можно создавать по умолчанию и их расширения:
.vbs – данный тип файлов содержит программный код на языке VBScript, если запустить такой скрипт, то сервер Windows Script Host автоматически применит для его обработки интерпретатор VBScript.
.vbe – в данном случае, это такой же файл как и vbs, но, закодированный.
.js — данный тип файлов содержит программный код на языке JScript, сервер автоматически будет его обрабатывать интерпретатором Jscript
.jse – закодированный сценарий WSH для языка Jscript.
.wsf – данный тип файлов содержит разметку XML и позволяет объединять вместе синтаксис различным языков.
.wsc – используется для регистрации вашего скрипта как COM-компонента (скриплет). Данный тип файлов требует отдельной статьи.
.wsh – управляет скриптом, аналог файла *.pif для DOS-программ. Будет рассмотрен в данной статье более подробно.
Хорошо, давайте рассмотрим, как запускать WSH скрипты. Для этого существуют два варианта:
cscript.exe – данная программа позволяет запускать сценарии wsh в консольном режиме, то есть, в окне командной строки.
wscript.exe – запуск сценариев wsh в графическом режиме. По умолчанию, при запуске, его обрабатывает именно wscript.exe.
Для простоты эксперимента, напишем два примера, один на языке VBScript, а второй на языке Jscript:
Тут мы используем лишь один объект WScript, объявлять который не надо, он автоматически доступен. Свойство Echo отвечает за вывод информации, остальные свойства (Name, FullName …) позволяют нам получить дополнительную информацию, знак & позволяет объединять строки, символ подчеркивания говорит, что мы разделили строку, константа vbCrlf отвечает за перевод каретки.
И вот аналогичный скрипт WSH, но уже на языке Jscript:
Тут мы объявили переменную Mess, в которую прописали несколько строк, плюсик отвечает за объединение строк, а \n – за перевод строки. Для полноты понимания, советую, вам все-таки познакомиться с основами VBScript и Jscript и с остальными статьями из этой рубрики.
Хорошо, теперь стоит уточнить один момент, по умолчанию, если вы сохраните данные сценарии wsh и запустите их с помощью щелчка мыши, то их обработает программа wscipt.exe, однако есть одно но. После установки различных программ или каких-то изменений в системе, сценарии wsh будут обрабатываться совсем другой программой (блокнот, например). Просто надо отрыть свойства файла (скрипта), и изменить приложение для их обработки на wscript.exe (папка Windows\System32).
Теперь давайте рассмотрим способы запуска скриптов wsh.
Консольный режим в командной строке – просто откройте командную строку и пропишите:
cscript.exe “путь к сценарию wsh”
Кавычки нужны лишь в том случае, если путь содержит пробелы, пример:
cscript.exe D:\work\info.vbs
cscript.exe D:\work\info.js
Графический режим в командной строке – просто откройте командную строку и пропишите:
wscript.exe “путь к сценарию”
wscript.exe D:\work\info.vbs
wscript.exe D:\work\info.js
Используя меню Пуск – Откройте меню пуск, и в поле Выполнить введите путь к сценарию wsh. Например:
D:\work\info.vbs
D:\work\info.js
Хорошо, теперь настало время настройки параметров запуска
Параметры cscript.exe — если вы войдете в командную строку и пропишите cscript.exe, то вам будет показан список параметров запуска сценариев wsh. Все параметры начинаются с символов //. Встроенной справки хватит, что бы во всем разобраться. Так, параметр //Job используется при вызове заданного задания для файлов wsf, пример я привел в статье “Знакомство с ws-файлами (windows script file)”.
Параметры wscript.exe — тут все намного проще. Просто кликните по вашему wsh скрипту правой кнопкой, выберите пункт свойства и перейдите на вкладку Сценарий. Тут можно задать время, через которое произойдет остановка сценария. После того, как вы зададите значение в секундах и нажмете кнопку применить, появится файл с аналогичным названием, но с расширением wsh. Если теперь запустить этот скрипт, то произойдет выполнение сценария с заданными настройками, но, как вы уже догадались, тут есть один подводный камень. У нас сейчас два файла с одинаковыми именами (info), но с разными расширениями, для какого бы скрипты мы не применяли настройки, все ровно будет создан лишь один info.wsh. Ладно, на этом пока все, комментируйте и подписывайтесь.
Спасибо за внимание. Автор блога Владимир Баталий
Как создать и запустить сценарий PowerShell в Windows 10 – инструкция по шагам
Windows 10 PowerShell – это средство командной строки, которое позволяет выполнять команды и сценарии для изменения параметров системы и автоматизации задач. Это похоже на командную строку, но PowerShell является более эффективным интерфейсом командной строки (CLI), который предоставляет широкий набор инструментов и обеспечивает большую гибкость и контроль (особенно для сценариев).
Скрипт – это просто набор команд, сохраненных в текстовый файл (с расширением .ps1), которые PowerShell может понять и выполнить в заданной последовательности. Единственное предупреждение заключается в том, что в отличие от командной строки, протокол безопасности по умолчанию предотвращает выполнение всех сценариев.
Это означает, что при двойном щелчке .ps1 файла в системе Windows 10 ничего не произойдёт, и если вы пытаетесь выполнить скрипт в PowerShell, вы получите сообщение об ошибке: «не может быть загружен, потому что запрещено выполнение сценариев в этой системе». Тем не менее, запускать сценарии на вашем устройстве довольно просто. Вам просто нужно включить правильную политику выполнения.
В этой версии урока по Windows 10 мы проведём вас шаг за шагом, чтобы вы смогли успешно запустить свой первый скрипт в PowerShell.
Создание файла сценария PowerShell
В Windows 10 файлы сценариев PowerShell можно создавать с помощью практически любого текстового редактора или консоли интегрированной среды сценариев (ISE).
Создание скрипта с помощью блокнота
Чтобы создать сценарий PowerShell с помощью блокнота, выполните следующие действия:
- Откройте приложение «Блокнот».
- Создайте или вставьте сценарий. Например: Write-Host ««Поздравляем! Ваш первый скрипт успешно выполнен»»
Вышеприведенный скрипт просто выводит на экране фразу «Поздравляем! Ваш первый скрипт успешно выполнен».
Создание сценария с помощью интегрированной среды сценариев
Кроме того, консоль PowerShell ISE можно использовать для кодирования сценариев в Windows 10. Интегрированная cреда сценариев является сложным инструментом, но вы можете начать работу с помощью этих шагов:
- Откройте системный поиск и введите запрос Windows PowerShell ISE, щелкните правой кнопкой мыши верхний результат, и выберите Запуск от имени администратора или выберите соответствующий параметр в правой колонке.
В PowerShell ISE создайте пустой файл .ps1, в котором можно создать или вставить скрипт. Например:
Write-Host ««Поздравляем! Ваш первый скрипт успешно выполнен»»
Как только Вы выполнили эти шаги с помощью Блокнота или PowerShell ISE, сценарий готов к запуску, но он не будет выполнен. Это происходит потому, что параметры PowerShell по умолчанию всегда настроены на блокирование выполнения любого сценария.
Запуск файла сценария PowerShell
Чтобы запустить файл сценария в PowerShell, необходимо изменить политику выполнения, выполнив следующие действия:
- Откройте поиск и введите PowerShell, щелкните правой кнопкой мыши в верхний результат и выберите Запуск от имени администратора.
- Введите следующую команду, чтобы разрешить выполнение скриптов и нажмите клавишу Enter :
Укажите тип А и ещё раз нажмите клавишу Enter .
Введите следующую команду для запуска скрипта и нажмите клавишу Enter :
В приведенной выше команде обязательно измените PATH\to\SCRIPT на расположение вашего скрипта.
После выполнения этих шагов сценарий будет запущен, и если он был создан правильно, вы должны увидеть его вывод без проблем.
PowerShell в Windows 10 включает четыре политики выполнения:
- Restricted – останавливает выполнение скрипта.
- RemoteSigned – запускает скрипты, созданные на устройстве. Однако, сценарии, созданные на другом компьютере, не будут запускаться, если они не содержат подписи доверенного издателя.
- AllSigned – все скрипты будут работать до тех пор, пока они подписаны надежным издателем.
- Unrestricted запускает любой скрипт без каких-либо ограничений.
В приведенных выше шагах мы использовали команду, чтобы разрешить запуск локальных скриптов в Windows 10. Однако, если вы не планируете регулярно выполнять скрипты, можно восстановить настройки по умолчанию, используя те же инструкции, но на Шаге 4, обязательно используйте Set-ExecutionPolicy Restricted команду.