Task Scheduler

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Task Scheduler (англ. планировщик задач) — компонент Microsoft Windows, который предоставляет возможность запланировать запуск программ или скриптов в определённые моменты времени или через заданные временные интервалы. Компонент впервые появился в Windows 95 Plus! pack под названием System Agent[1], но был переименован в Task Scheduler в Windows 98. Данный сервис для запуска требует включённого Event Log service.

Версии[править | править вики-текст]

Task Scheduler 1.0[править | править вики-текст]

Task Scheduler 1.0 включён в Windows 2000, Windows XP и Windows Server 2003[2].

В Windows 95, Windows 98 и Windows Me, Task Scheduler запускается как приложение (mstask.exe). Он отображает иконку состояния в области уведомлений в Windows 95 и Windows 98 и запускается как скрытое приложение в Windows Me. В семействе операционных систем Windows NT он реализован как служба Windows.

Описания задач и расписания их запуска сохраняются в бинарных .job файлах. Взаимодействие с задачами производится прямым редактированием .job файлов. Каждая задача соответствует отдельному действию.

Task Scheduler 1.0 предоставляет API для программного создания задач. Оно доступно через COM-интерфейс ITaskScheduler.

Task Scheduler 2.0[править | править вики-текст]

Task Scheduler 2.0 появился в Windows Vista и включён также в Windows Server 2008[2]. Новый пользовательский интерфейс Task Scheduler основан на Management Console. В дополнение к запуску задач в определённое время или через заданные интервалы, Task Scheduler 2.0 также поддерживает календарные и основанные на событиях триггеры, такие как запуск задачи, когда определённое событие записывается в event log, или когда происходит комбинация событий. Также несколько действий, которые активируются одним и тем же событием могут быть сконфигурированы на одновременный запуск или запуск в предопределённой последовательности, вместо создания нескольких запланированных задач. Задачи также могут быть сконфигурированы для запуска в зависимости от состояния системы, такого как простой на предопределённый интервал времени, запуск, прекращение сеанса. Расширения XPath могут быть использованы для фильтрования событий из Windows Event Log. Задачи также могут быть задержаны на заданное время после возникновения события или повторяться пока не возникнет некоторое событие. Также могут быть заданы действия, которые необходимо выполнить, если задача не может быть выполнена. Действия, которые могут быть выполнены в ответ на триггеры, включают не только запуск приложений, но и ряд специальных действий. Task Scheduler включает ряд встроенных действий, таких как отправка e-mail, отображение окна с сообщением, или создание COM обработчика. Специальные действия могут также быть заданы при помощи Task Scheduler API. Task Scheduler сохраняет подробный протокол выполнения всех задач[3]. Windows Vista использует Task Scheduler 2.0 для запуска различных задач системного уровня[4], поэтому теперь Task Scheduler service не может быть остановлен напрямую. Однако он может быть остановлен посредством редактирования реестра.

API для программного создания задач Task Scheduler 2.0 так же, как и для Task Scheduler 1.0, доступен через COM-интерфейс ITaskService[5]. Windows API, однако, не включает обёртки для управляемого кода для Task Scheduler. Task Scheduler API также доступно для скриптовых языков, включая VBScript, JScript и Windows PowerShell.[6]. job файлы для Task Scheduler 2.0 основаны на XML и пригодны для чтения человеком. Их структура соответствует Task Scheduler Schema[5]. Несмотря на то, что возможно создавать job файлы вручную, Microsoft советует этого не делать, а использовать Task Scheduler API. Также предоставляется консольная утилита для использования Task Scheduler в виде программы schtasks.exe[7].

Примечания[править | править вики-текст]

Ссылки[править | править вики-текст]