Одним из несомненных достоинств PowerShell является то, что сценарии этого языка программирования очень удобно использовать для автоматизации периодически возникающих задач, добавив их в Планировщик задач.
Однако настроить запуск скриптов PowerShell по расписанию не так-то легко: простое указание в задаче ссылки на .ps1-файл ни к чему не приведет. Существует несколько хитростей, позволяющих использовать Планировщик задач для работы с PowerShell.
Проще всего настроить запуск 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, но и уберет мигающее черное окно консоли, которое может помешать работе пользователя.
Указать напрямую адрес скрипта .ps1 в Планировщике заданий нельзя, потому что, в целях безопасности, сценарии PowerShell могут выполняться только интерактивно, т.е. в оболочке PowerShell. Поэтому предварительно необходимо запустить powershell.exe, после чего уже в ней выполнять необходимый сценарий.
Поэтому при создании новой задачи в Планировщике заданий необходимо указать в поле «Программа или сценарий» powershell.exe, а в поле аргументы адрес к сценарию .ps1 в формате
-File "C:\Scripts\start.ps1"
Кроме этого, в поле аргументы вы можете указать другие параметры.
Меню сайта
Запуск PowerShell скриптов по расписанию |