Управление планировщиком заданий 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