Системному администратору часто приходится писать разные скрипты и настраивать их запуск по расписанию в Планировщике заданий (Task Scheduler). Простой пример ниже.
Написал небольшой скрипт и сохранил по адресу:
B:\scripts\web\url_status.ps1
Я хочу, чтобы этот скрипт запускался каждые 10 минут. Время работы скрипта — не более 60 секунд.
Открываю Планировщик заданий. Создаю папку, в которой будет находиться расписание, называю её IIS.
Нажимаю Create Task.
В первой вкладке General указываю:
- Name. Любое название расписания.
- Description. Любое описание, не обязательно.
- С помощью кнопки Change User or Group можно выбрать пользователя, от имени которого будет выполняться скрипт. Я выбираю локального администратора.
- Run whether user is logged on or not. Устанавливаю радиокнопку, чтобы скрипт выполнялся независимо от того, залогинен пользователь или нет. В этом случае нас попросят после сохранения расписания указать пароль пользователя.
- Run with highest privileges. Устанавливаю галку для запуска скрипта с правами администратора.
Перехожу на вкладку Triggers. Здесь нужно создать триггер для расписания. New.
В настройках триггера:
- Begin the task. Выбираю On a schedule. Запуск по расписанию.
- Daily. Запускать каждый день.
- Recur every 1 days. Каждый день без пропусков.
- Repeat task every 10 minutes. Запускать каждые 10 минут for a duration 1 day. Весь день.
- Stop tasks if it runs longer than 5 minutes. Останавливать задачу, если она выполняется более 5 минут.
- Enabled. Включить расписание.
OK.
Расписание создано.
Перехожу на вкладку Actions. Здесь нужно указать скрипт для выполнения. New.
- Actions: Start a program. Выполнить программу.
- Program/script. Указываю powershell.exe
- Add arguments (optional). Здесь нужно указать параметры для запуска скрипта. Я пишу: -file "B:\scripts\web\url_status.ps1". Если нужно передать в скрипт аргументы, то можно написать -command "& {B:\scripts\web\url_status.ps1 -a 1 -b 3}".
OK.
Путь к выполняемому скрипту указан.
Перехожу на вкладку Conditions. Здесь определяются условия для запуска. Устанавливаю одну галку, просто на всякий случай:
- Wake the computer to run this task. Разбудить компьютер для выполнения скрипта.
Перехожу на вкладку Settings. Здесь есть ряд полезных настроек. Ставлю галки:
- Allow task to be run on demand. Разрешить запуск скрипта по запросу.
- If the running task does not end when requested, force it to stop. Если задача не завершилась к моменту повторного запуска, то остановить её.
- Do not start a new instance. Не запускать второй экземпляр.
OK.
Указываю пароль локального администратора. OK.
Теперь скрипт будет запускаться по расписанию. В разделе History можно отслеживать результат выполнения.