Выполнение заданий по расписанию (Task Scheduler)
В дополнение к командам AT системы Windows XP и Windows Server 2003 располагают новым средством — планировщиком заданий (Task Scheduler). (Присутствует также новая утилита командной строки — Schtasks.exe, имеющая значительно больше функциональных возможностей по сравнению с AT.) С помощью планировщика заданий можно составить расписание запуска командных файлов, документов, обычных приложений или различных утилит для обслуживания системы. Программы могут запускаться однократно, ежедневно, еженедельно или ежемесячно в заданные дни, при загрузке системы или регистрации в ней, а также при бездействии системы (idle state). Планировщик позволяет задавать достаточно сложное расписание для выполнения заданий, в котором определяются продолжительность задания, время его окончания, количество повторов, зависимость от состояния источника питания (работа от сети или от батарей) и т. п.
Задание сохраняется как файл с расширением job, что позволяет перемещать его с одного компьютера на другой. Администраторы могут создавать файлы заданий для обслуживания систем и переносить их в нужное место. К папке заданий можно обращаться удаленно, кроме того, задания можно пересылать по электронной почте.
Служба Task Scheduler (имя Schedule) инсталлируется вместе с системой и автоматически запускается при ее загрузке. Управление этой службой может осуществляться интерактивно из окна Scheduled Tasks (Назначенные задания), которое доступно из панели управления или по команде Start | АН Programs | Accessories | System Tools | Scheduled Tasks. При помощи меню Advanced (Дополнительно) в окне планировщика заданий можно приостанавливать или запускать снова эту службу. Данное меню позволяет также обращаться к журналу регистрации запланированных и выполненных заданий (команда View Log (Просмотр журнала)), в котором также фиксируются все ошибки, возникшие при запуске заданий.
Среди особенностей планировщика можно отметить:
Графический интерфейс планировщика заданий (рис. 10.29) не требует знания ключей и параметров программы (как это нужно для использования команды AT), он интегрирован в операционную систему и доступен из панели управления. Кроме того, упрощается отладка заданий, поскольку их легко проверить, запустив в любой момент непосредственно из папки заданий (команда Run (Выполнить) в контекстном меню выбранного задания). В главном окне планировщика выводится основная информация о заданиях: расписание, время следующего и предыдущего запуска, состояние, результат выполнения задания, имя создателя задания.

Рис. 10.29. Пример окна планировщика заданий с разными типами запуска
Мастер Scheduled Task Wizard (запускаемый при выборе команды Add Scheduled Task (Добавить задание)) позволяет легко и быстро в интерактивном режиме указать все параметры для запуска запланированного задания. Задания могут иметь несколько расписаний, принципиально отличающихся друг от друга. Например, некоторая программа может запускаться ежедневно в одно время, еженедельно — в другое время и однократно — в заданное время указанного дня. На рис. 10.30 приведен пример расписания для программы Outlook Express, запускающейся по рабочим дням, 3 раза в день. Установив флажок Show multiple schedules (Показывать несколько расписаний), можно задать несколько расписаний для запуска любой программы.

Рис. 10.30. Вкладка Schedule для запланированной задачи запуска программы Outlook Express
Благодаря наличию набора интерфейсов API (планировщик задач позволяет использовать все достоинства моделей СОМ и DCOM) разработчики могут встраивать службы планирования заданий в свои приложения, не заботясь о поддержке и надежности этих служб. Возможность доступа к страницам свойств задачи (см. например, рис. 10.30) позволяет создавать в приложениях специфические диалоговые окна, а затем вызывать стандартные страницы планировщика.
В среде Windows Server 2003 запланированные задания создаются и выполняются с учетом стандартных разрешений системы безопасности. На файлы заданий распространяются правила использования списков управления доступом (ACL) файловой системы NTFS, определяющие круг лиц, которым разрешено просматривать, удалять, модифицировать и выполнять задания (обратите внимание на наличие вкладки Security (Безопасность), рис. 10.30).
Примечание
При перемещении файла *.job в другую систему необходимо восстановить разрешения на его использование, поскольку эти полномочия хранятся в системе безопасности Windows.
При создании задания требуется указывать имя и пароль пользователя, определяющие контекст безопасности, в котором выполняется задание. Это позволяет запускать на одном компьютере несколько заданий с различными правами в отношении безопасности, т. е. несколько пользователей могут одновременно иметь индивидуальные, независимые расписания запланированных заданий.