SEO программы для веб-мастера > PowerShell для веб-мастеров > Как запустить PoS сценарий через Планировщик задач

Запуск PowerShell скриптов по расписанию

Одним из несомненных достоинств PowerShell является то, что сценарии этого языка программирования очень удобно использовать для автоматизации периодически возникающих задач, добавив их в Планировщик задач.

Однако настроить запуск скриптов PowerShell по расписанию не так-то легко: простое указание в задаче ссылки на .ps1-файл ни к чему не приведет. Существует несколько хитростей, позволяющих использовать Планировщик задач для работы с PowerShell.

Запуск из vbs-скрипта

Проще всего настроить запуск Powershell-сценария по расписанию, добавив в Планировщик задач vbs-скрипт, который, в свою очередь, и будет запускать сценарий PowerShell.

Чтобы открыть Диспетчер задач, нажмите Пуск –> Выполнить –> введите в появившемся окне taskschd.msc и нажмите OK. Появится окно Диспетчера задач.

Планировщик заданий

Затем щелкнете по строке меню «Действие» и выбираем пункт «Создать задачу». Более подробную инструкцию можно прочесть в статьей Планировщик заданий.

Указывать путь к vbs-файлу необходимо в окне «Создание действия». Кликните по кнопке «Обзор» и укажите путь к vbs-скрипту.

Запуск программы в Планировщике заданий

Код vbs-скрипта очень простой:

command = "powershell.exe -nologo -noninteractive -command С:\Temp\my-script.ps1"
set shell = CreateObject("WScript.Shell")
shell.Run command,0, false

Этот vbs-скрипт не только запустит сценарий PowerShell, но и уберет мигающее черное окно консоли, которое может помешать работе пользователя.

Использование аргументов с указанием адреса сценария PowerShell при создании задачи

Указать напрямую адрес скрипта .ps1 в Планировщике заданий нельзя, потому что, в целях безопасности, сценарии PowerShell могут выполняться только интерактивно, т.е. в оболочке PowerShell. Поэтому предварительно необходимо запустить powershell.exe, после чего уже в ней выполнять необходимый сценарий.

Поэтому при создании новой задачи в Планировщике заданий необходимо указать в поле «Программа или сценарий» powershell.exe, а в поле аргументы адрес к сценарию .ps1 в формате

-File "C:\Scripts\start.ps1"

Кроме этого, в поле аргументы вы можете указать другие параметры.


Меню сайта

Запуск PowerShell скриптов по расписанию
Запуск PowerShell скриптов по расписанию