Утилита 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 →