В дополнение к команде at система Windows 2000 располагает новым средством ≈ планировщиком заданий (Task Scheduler). С помощью планировщика заданий можно составить расписание запуска командных файлов, документов, обычных приложений или различных утилит для обслуживания системы. Программы могут запускаться однократно, ежедневно, еженедельно или ежемесячно в заданные дни, при загрузке системы или регистрации в ней, а также при бездействии системы (idle state). Планировщик позволяет задавать достаточно сложное расписание для выполнения заданий, в котором задаются продолжительность задания, время его окончания, количество повторов, зависимость от состояния источника питания (работа от сети или от батарей) и т. п.
Задание сохраняется как файл с расширением job, что позволяет перемещать его с одного компьютера на другой. Администраторы могут создавать файлы заданий для обслуживания систем и переносить их в нужное место. К папке заданий можно обращаться удаленно, кроме того, задания можно пересылать по электронной почте.
Служба планировщика заданий (Task Scheduler Service, MSTask.exe) инсталлируется вместе с системой и автоматически запускается при ее загрузке. При помощи меню Дополнительно (Advanced) планировщика заданий можно приостанавливать или запускать снова эту службу. Данное меню позволяет также обращаться к журналу регистрации запланированных и выполненных заданий.
Среди особенностей планировщика можно отметить:
- Удобный графический пользовательский интерфейс
- Возможность программного доступа ко всем возможностям планировщика, включая страницы свойств
- Создание новых заданий при помощи технологии drag-and-drop или мастера планирования заданий (Scheduled Task wizard)
- Средства безопасности
Графический интерфейс планировщика заданий не требует знания ключей и параметров программы (как это нужно для использования команды at), интегрирован в операционную систему и доступен из панели управления (папка Назначенные задания (Scheduled Tasks)). Кроме того, упрощается отладка заданий, поскольку их легко проверить, запустив в любой момент непосредственно из папки заданий (команда Выполнить (Run) в контекстном меню). В главном окне планировщика выводится основная информация о заданиях: расписание, время следующего и предыдущего запуска, состояние, результат выполнения задания, имя создателя задания.
Мастер планирования заданий (запускаемый при выборе команды Добавить задание (Add Scheduled Task)) позволяет легко и быстро в интерактивном режиме указать все параметры для запуска запланированного задания. Задания могут иметь несколько расписаний, принципиально отличающихся друг от друга. Например, некоторая программа может запускаться ежедневно в одно время, еженедельно ≈ в другое время и однократно ≈ в заданное время указанного дня.
Благодаря наличию полного набора интерфейсов API (планировщик задач` позволяет использовать все достоинства моделей СОМ и DCOM) разработчики могут встраивать службы планирования заданий в свои приложения, не заботясь об поддержке и надежности этих служб. Возможность доступа к страницам свойств позволяет создавать в приложениях специфические диалоговые окна, а затем вызывать стандартные страницы планировщика.
В среде Windows 2000 запланированные задания создаются и выполняются с учетом стандартных разрешений системы безопасности. На файлы заданий распространяются правила использования списков управления доступом (ACL) файловой системы NTFS, определяющие круг лиц, которым разрешено просматривать, удалять, модифицировать и выполнять задания (обратите внимание на вкладку Безопасность (Security),
Примечание: При перемещении файла *.job в другую систему необходимо восстановить разрешения на его использование, поскольку эти полномочия хранятся в системе безопасности Windows.
При создании задания требуется указывать имя и пароль пользователя, определяющие контекст безопасности, в котором выполняется задание. Это позволяет запускать на одном компьютере несколько заданий с различными правами в отношении безопасности, т. е. несколько пользователей могут одновременно иметь индивидуальные, независимые расписания запланированных заданий.