Открыть сервис

Планировщик заданий

Планировщик заданий (англ. Task Scheduler) — компонент операционных систем семейства Microsoft Windows, предназначенный для автоматического запуска программ, скриптов или выполнения других действий по расписанию, при наступлении определённых событий или при выполнении заданных условий. Планировщик заданий входит в состав стандартных средств администрирования системы и позволяет автоматизировать рутинные операции, такие как обновление программного обеспечения, резервное копирование, очистка временных файлов и отправка отчётов.

История

Ранние версии

Впервые планировщик заданий появился в Windows 95 в составе дополнения Microsoft Plus! под названием System Agent. Он предоставлял базовые возможности для запуска программ по расписанию и имел простой графический интерфейс. В Windows 98 и Windows Me планировщик заданий стал встроенным компонентом системы, но его функциональность оставалась ограниченной: поддерживались только простые временные триггеры и один тип действия — запуск приложения.

Windows NT и Windows 2000

В Windows NT 4.0 и Windows 2000 планировщик заданий был переработан и получил название Task Scheduler 1.0. Он использовал службу (сервис) для выполнения заданий и хранил их в специальном файле с расширением .job. Однако управление заданиями осуществлялось через оснастку MMC (Microsoft Management Console), что усложняло работу для обычных пользователей. В этой версии появилась возможность задавать сложные расписания, включая ежедневный, еженедельный и ежемесячный запуск.

Windows Vista и более поздние версии

Начиная с Windows Vista (и в последующих версиях, включая Windows 7, 8, 10 и 11) планировщик заданий был полностью переписан и получил название Task Scheduler 2.0. Основные изменения включали:

  • Новое хранилище заданий: задания стали храниться в XML-формате в папке %SystemRoot%\System32\Tasks.
  • Расширенная система триггеров: помимо временных расписаний, появилась возможность запуска заданий при событиях в журнале Windows, при подключении или отключении пользователя, при блокировке или разблокировке рабочей станции, при изменении состояния системы (например, при переходе в режим питания от батареи).
  • Условия и действия: добавлена возможность задавать условия выполнения (например, запускать задание только при простое компьютера или при наличии подключения к сети) и выполнять несколько действий в одном задании.
  • Интеграция с системой безопасности: задания могут выполняться от имени определённого пользователя или системной учётной записи, с возможностью настройки прав доступа.

Устройство и характеристики

Архитектура

Планировщик заданий состоит из двух основных компонентов:

  • Служба Task Scheduler (файл svchost.exe с именем службы Schedule), которая работает в фоновом режиме и отвечает за хранение заданий, проверку триггеров и выполнение действий.
  • Оснастка консоли управления (файл taskschd.msc), предоставляющая графический интерфейс для создания, просмотра, редактирования и удаления заданий.

Структура задания

Каждое задание в планировщике состоит из нескольких обязательных и опциональных элементов:

  • Триггеры (Triggers): условия, при которых задание должно быть запущено. Типы триггеров:
  • По расписанию (однократно, ежедневно, еженедельно, ежемесячно).
  • При запуске системы.
  • При входе пользователя в систему.
  • При наступлении определённого события в журнале Windows.
  • При подключении или отключении устройства.
  • При изменении состояния питания (переход на батарею или от сети).
  • Действия (Actions): операции, выполняемые при срабатывании триггера. Основные типы действий:
  • Запуск программы или скрипта.
  • Отправка электронного письма (устаревшая функция, не рекомендуется к использованию).
  • Отображение сообщения (устаревшая функция).
  • Условия (Conditions): дополнительные проверки, которые должны быть выполнены перед запуском задания. Например:
  • Запускать только при простое компьютера.
  • Запускать только при наличии подключения к сети.
  • Запускать только при питании от сети (не от батареи).
  • Настройки (Settings): параметры, управляющие поведением задания после запуска. Например:
  • Разрешить выполнение по требованию.
  • Запускать задание как можно скорее после пропущенного запланированного запуска.
  • Останавливать задание, если оно выполняется дольше указанного времени.
  • Не запускать новое задание, если предыдущее ещё выполняется.

Хранение и безопасность

Задания хранятся в файловой системе в виде XML-файлов в папке %SystemRoot%\System32\Tasks. Каждое задание имеет собственный идентификатор безопасности (SID), что позволяет разграничивать права доступа. Для выполнения заданий с повышенными привилегиями используется учётная запись SYSTEM или учётная запись администратора. Планировщик заданий также поддерживает выполнение заданий в контексте учётной записи текущего пользователя.

Применение

Системные задачи

Планировщик заданий используется операционной системой для выполнения множества фоновых задач, включая:

  • Автоматическое обновление Windows и других компонентов.
  • Дефрагментация дисков по расписанию.
  • Создание точек восстановления системы.
  • Очистка временных файлов (средство «Очистка диска»).
  • Сбор и отправка диагностических данных (телеметрия).

Пользовательские задачи

Пользователи могут создавать собственные задания для автоматизации повседневных операций:

  • Запуск антивирусного сканирования в определённое время.
  • Резервное копирование важных папок или файлов.
  • Отправка отчётов по электронной почте (через скрипты).
  • Запуск программ, которые должны работать в определённое время (например, будильник или напоминание).
  • Автоматический запуск скриптов PowerShell или командных файлов.

Корпоративное использование

В корпоративной среде планировщик заданий широко применяется для:

  • Развёртывания и обновления программного обеспечения на множестве компьютеров.
  • Сбора инвентаризационных данных.
  • Запуска задач обслуживания серверов (например, очистка журналов событий).
  • Выполнения заданий по расписанию в составе групповых политик.

Примеры

Пример 1: Запуск блокнота каждый день в 10:00

  1. Открыть оснастку «Планировщик заданий» (taskschd.msc).
  2. Создать задачу, указав имя «Запуск блокнота».
  3. В разделе «Триггеры» создать новый триггер: «Ежедневно», начать с 10:00.
  4. В разделе «Действия» создать новое действие: «Запуск программы», указать путь к notepad.exe.
  5. Нажать «ОК». Задание будет выполняться ежедневно в 10:00.

Пример 2: Очистка корзины при запуске системы

  1. Создать задачу с именем «Очистка корзины».
  2. Триггер: «При запуске системы».
  3. Действие: «Запуск программы», программа — cmd.exe, аргументы: /c rd /s /q C:\$Recycle.bin.
  4. Условия: отключить все условия (например, «Запускать только при простое»).
  5. Настройки: включить «Выполнять задачу с наивысшими привилегиями».

Интересные факты

  • В Windows 10 и 11 планировщик заданий используется для запуска процесса «Сбор телеметрии» (Connected User Experiences and Telemetry), который собирает данные об использовании системы.
  • Злоумышленники часто используют планировщик заданий для закрепления вредоносного ПО в системе, создавая задания, которые запускают вредоносные файлы при входе пользователя или через определённые промежутки времени.
  • Планировщик заданий поддерживает выполнение заданий на удалённых компьютерах через службу удалённого управления Windows (WinRM).
  • В Windows Server планировщик заданий используется для автоматизации задач резервного копирования, мониторинга и обслуживания.

Критика и ограничения

  • Сложность для начинающих: графический интерфейс планировщика заданий может показаться перегруженным и неинтуитивным для пользователей, не знакомых с системным администрированием.
  • Ограниченная документация: некоторые параметры и их влияние на выполнение заданий описаны недостаточно подробно, что может приводить к ошибкам при настройке.
  • Проблемы с правами: задания, выполняемые от имени пользователя, могут не запускаться, если пользователь не вошёл в систему, что требует использования учётной записи SYSTEM или учётной записи с соответствующими правами.
  • Устаревшие функции: отправка электронной почты и отображение сообщений помечены как устаревшие и не рекомендуются к использованию, что ограничивает возможности уведомлений.

Источники

  • Microsoft Docs. «Task Scheduler». Документация по Windows.
  • Руссинович М., Соломон Д. «Внутреннее устройство Microsoft Windows». 6-е издание.
  • TechNet. «Understanding Task Scheduler». Статья из архива Microsoft.
  • MSDN Magazine. «Task Scheduler 2.0 Internals».

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →