Управление планировщиком заданий windows из командной строки (Schtasks)

Планировщик задач windows включен начиная с windows xp, но большинство примеров расчитано на запуск начиная с windows 7.

В пакетном файле для принудительной замены задачи, удаления и изменения используется флаг /F, позволяющий не запрашивать действия пользователя и не останавливать выполнение скрипта.

Из особенностей, задачи созданные вручную, могут быть запрещены к редактированию из командной строки, т.к. не хватает прав. По этой причине лучше перепроверять, действительно ли скрипт отработал так как планировалось, после его выполнения, читая через query весь список заданий в поисках нужного.

schtasks /query

Выводит список всех задач в планировщике

Этот список возможно отформатировать в виде списка, таблицы или сохранить в csv файл.

schtasks /query /fo LIST /v
schtasks /query /fo TABLE /v
schtasks /query /fo CSV /v

Для создание и измения задач необходимы соответствующие разрешения.

Необходимые разрешения Чтобы запланировать, просмотреть и изменить все задачи на локальном компьютере, необходимо быть членом группы “Администраторы”.

Чтобы запланировать, просмотреть и изменить все задачи на удаленном компьютере, необходимо быть членом группы “Администраторы” на удаленном компьютере или использовать параметр /u для предоставления учетных данных администратора удаленного компьютера.

Варианты запуска планировщика

schtasks change
schtasks create
schtasks delete
schtasks end
schtasks query
schtasks run

Пример, как удалить запланированную задачу schtasks /delete /tn “Название задачи”

ключ /TN обязателен и указывает, к какой задаче применяется данное действие. В названии задачи разрешается использовать символы подстановки *, в этом случае будет примено сразу ко всем заданиям подходящим под данное условие.

Как создать задачу, которая будет выполняться каждые 20 минут

schtasks /create /sc minute /mo 20 /tn “Повторяющаяся задача” /tr “c:\apps\myapp.exe”

ключ /TR отвечает за название программы или скрипта, которая должна быть запущена, временем запуска будет считаться начиная с момента запуска в командной строке, чтобы задать точное время, необходимо использоовать дополнительные параметры.

Подробная документация описана на сайте https://docs.microsoft.com/ru-ru/windows-server/administration/windows-commands/schtasks