Запуск 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"

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


Сайт использует cookie-файлы, чтобы лучше работать. Оставаясь на сайте, вы соглашаетесь на использование файлов куки.