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

Утилита schtasks.exe

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

История

Планировщик заданий как компонент Windows появился в Windows 95 (в составе Microsoft Plus! для Windows 95) и был значительно расширен в Windows 98. В Windows NT 4.0 и Windows 2000 он получил название Task Scheduler, а управление задачами через командную строку стало возможным с помощью утилиты at.exe, унаследованной от систем DOS/OS/2. В Windows Vista (2006 год) и последующих версиях (Windows 7, 8, 10, 11) был внедрён новый Планировщик заданий версии 2.0, который поддерживает более сложные триггеры, условия и действия. Для управления им из командной строки была введена утилита schtasks.exe, которая заменила устаревшую at.exe. В Windows 10 и 11 schtasks.exe остаётся основным средством для автоматизации задач через командную строку, а at.exe по-прежнему доступна для обратной совместимости, но её функциональность ограничена.

Синтаксис и параметры

Утилита schtasks.exe вызывается из командной строки (cmd.exe, PowerShell) или из скриптов (BAT, CMD, VBS, PowerShell). Общий синтаксис:

`` schtasks <команда> [<параметры>] ``

Основные команды:

  • /Create — создание новой задачи.
  • /Deleteудаление задачи.
  • /Query — отображение списка задач или информации о конкретной задаче.
  • /Change — изменение свойств существующей задачи.
  • /Run — немедленный запуск задачи.
  • /End — остановка выполнения задачи.

Основные параметры

  • /TN (TaskName) — имя задачи (обязательный параметр для большинства команд).
  • /TR (TaskRun) — путь к исполняемому файлу, скрипту или команде, которая будет выполнена.
  • /SC (Schedule) — тип расписания: MINUTE, HOURLY, DAILY, WEEKLY, MONTHLY, ONCE, ONSTART, ONLOGON, ONIDLE, ONEVENT (для событий из журнала Windows).
  • /MO (Modifier) — модификатор расписания (например, каждый 5-й день, каждую 2-ю неделю).
  • /D (Days) — дни недели или месяца (для WEEKLY и MONTHLY).
  • /M (Months) — месяцы (для MONTHLY).
  • /ST (StartTime) — время первого запуска в формате HH:MM (24-часовой).
  • /SD (StartDate) — дата первого запуска (MM/DD/YYYY).
  • /ED (EndDate) — дата последнего запуска.
  • /RU (RunUser) — имя учётной записи, от имени которой выполняется задача (например, SYSTEM, Administrator, DOMAIN\User).
  • /RP (RunPassword) — пароль для указанной учётной записи (если не указан, будет запрошен интерактивно).
  • /IT (Interactive) — разрешить взаимодействие с рабочим столом (только для Windows 7 и более ранних версий; в Windows 10/11 не поддерживается).
  • /F (Force) — принудительное создание или удаление задачи без подтверждения.
  • /XML — импорт задачи из XML-файла (только для /Create).
  • /V1 — создание задачи в формате Windows 2000/XP (совместимость с более старыми системами).
  • /RL (RunLevel) — уровень привилегий: LIMITED (обычный) или HIGHEST (наивысший, с правами администратора).
  • /DELAY — задержка перед запуском (для триггеров ONSTART, ONLOGON, ONIDLE).

Примеры использования

Создание простой задачи

Создать задачу, которая запускает notepad.exe каждый день в 10:00:

`` schtasks /Create /TN "Запуск блокнота" /TR "C:\Windows\System32\notepad.exe" /SC DAILY /ST 10:00 ``

Создание задачи с повышенными привилегиями

Создать задачу от имени SYSTEM, которая запускает cleanmgr.exe (очистка диска) каждый понедельник в 03:00:

`` schtasks /Create /TN "Очистка диска" /TR "C:\Windows\System32\cleanmgr.exe" /SC WEEKLY /D MON /ST 03:00 /RU SYSTEM /RL HIGHEST ``

Создание задачи при входе пользователя

Создать задачу, которая запускает script.vbs при входе любого пользователя:

`` schtasks /Create /TN "Скрипт при входе" /TR "C:\Scripts\script.vbs" /SC ONLOGON /RU SYSTEM ``

Вывод списка задач

Отобразить все задачи с деталями (в формате CSV):

`` schtasks /Query /FO CSV /V ``

Удаление задачи

Удалить задачу "Запуск блокнота" без подтверждения:

`` schtasks /Delete /TN "Запуск блокнота" /F ``

Изменение задачи

Изменить время запуска задачи "Очистка диска" на 05:00:

`` schtasks /Change /TN "Очистка диска" /ST 05:00 ``

Немедленный запуск

Запустить задачу "Очистка диска" немедленно:

`` schtasks /Run /TN "Очистка диска" ``

Применение

Утилита schtasks.exe широко используется в следующих сценариях:

  • Автоматизация администрирования — запуск скриптов резервного копирования, обновления антивирусных баз, очистки временных файлов, мониторинга системы.
  • Развёртывание и настройка ПО — установка обновлений, запуск конфигурационных скриптов после перезагрузки.
  • Планирование задач в среде Active Directory — с помощью групповых политик и скриптов входа/выхода.
  • Создание задач в пакетных файлах — для автоматизации повторяющихся операций без участия пользователя.
  • Интеграция с системами управления конфигурациями — например, с Microsoft SCCM, Ansible, PowerShell DSC.
  • Криминалистика и анализ вредоносного ПО — злоумышленники часто используют schtasks.exe для создания персистентности (запуска вредоносных программ при старте системы или входе пользователя). Аналитики безопасности проверяют задачи на наличие подозрительных записей.

Ограничения и особенности

  • Для создания и изменения задач, требующих повышенных привилегий, необходимо запускать командную строку от имени администратора.
  • Пароли для учётных записей, от имени которых выполняются задачи, хранятся в зашифрованном виде в реестре Windows, но могут быть извлечены при наличии административного доступа.
  • В Windows 10 и 11 задачи, созданные с помощью schtasks.exe, полностью совместимы с графическим интерфейсом Планировщика заданий (taskschd.msc).
  • Утилита не поддерживает создание задач с несколькими действиями или несколькими триггерами в одной команде — для этого требуется импорт XML-файла.
  • Начиная с Windows 8, параметр /IT (интерактивный режим) не работает — задачи выполняются в фоновом режиме, даже если указан /RU с учётной записью пользователя.

Безопасность и аудит

Задачи, созданные через schtasks.exe, регистрируются в журнале событий Windows (Event Viewer) в категории "Microsoft-Windows-TaskScheduler/Operational". Администраторы могут отслеживать создание, изменение, запуск и завершение задач. Вредоносное ПО, использующее schtasks.exe для персистентности, часто маскирует задачу под легитимное имя (например, "WindowsUpdate", "AdobeFlashPlayerUpdate") и запускает скрипты из скрытых папок. Для обнаружения таких угроз рекомендуется регулярно проверять список задач с помощью schtasks /Query /V и анализировать подозрительные записи.

Сравнение с at.exe

Утилита at.exe (доступна в Windows 7–11) имеет более ограниченный синтаксис и не поддерживает сложные триггеры, условия, действия и уровни привилегий. schtasks.exe является более современным и гибким инструментом. Microsoft рекомендует использовать schtasks.exe вместо at.exe для всех новых задач.

Источники

  • Документация Microsoft: "Schtasks commands" (TechNet / Microsoft Learn).
  • Справочник по командной строке Windows (Windows Command Line Reference).
  • Книга: "Windows Internals, Part 1" (Mark Russinovich, David Solomon, Alex Ionescu) — описание планировщика задач.
  • Статья "Task Scheduler" в Википедии (английская версия).
  • Официальные руководства по администрированию Windows Server 2016/2019/2022.

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

На главную BFOmetr →