Использование at.exe и schtasks.exe для управления планировщиком задач Windows

Введение
Планировщик задач Windows позволяет запускать программы и скрипты по расписанию. Для автоматизации и массового управления часто используют консольные утилиты: устаревшую at.exe и современную schtasks.exe. at.exe присутствовала в старых версиях Windows (XP, Vista, 7). Microsoft отмечает, что at.exe устарела; schtasks.exe обеспечивает больше возможностей: планировщики триггеров, учётные данные, сложные расписания и массовые операции.
Важно: для выполнения разных команд обычно требуются права администратора. Запускайте Командную строку от имени администратора или настраивайте учётные данные задачи.
Что такое at.exe
at.exe — простая командная утилита для создания задач по времени. Преимущества: простота и совместимость со старыми системами. Ограничения: нет гибких триггеров, ограниченный контроль прав и параметров окружения.
Коротко: at.exe удобно для простых однократных и ежедневных задач на старых машинах.
Что такое schtasks.exe
schtasks.exe — мощный инструмент для управления планировщиком задач из командной строки. Позволяет создавать задачи с разными триггерами (DAILY, WEEKLY, ONCE, ONSTART), указывать учётные записи, параметры запуска, отлавливать ошибки и массово удалять или экспортировать задачи.
Коротко: schtasks.exe — стандартный инструмент для современных сценариев автоматизации и управления на удалённых компьютерах.
Когда использовать какую утилиту
- Если цель — поддержка старой машины (Windows 7 и ниже) и нужны только простые задачи — at.exe может работать.
- Для новых систем, сложных расписаний, управления правами и массового развёртывания — всегда используйте schtasks.exe.
- Для сценариев с PowerShell-ориентированным управлением рассмотрите модуль ScheduledTasks (PowerShell), он даёт объектную модель.
Important: at.exe может отсутствовать в некоторых конфигурациях и не поддерживает учётные записи с паролями.
1. Создание задачи
Создать ежедневную задачу с помощью schtasks.exe (Windows 8 и выше)
Откройте Командную строку от имени администратора.
Пример команды (ежедневно в 08:30):
SCHTASKS /CREATE /SC DAILY /TN "MyTasks\Script Task" /TR "C:\Scripts\script.bat" /ST 08:30
Пояснения:
- /SC DAILY — ежедневный планировщик.
- /TN “MyTasks\Script Task” — имя задачи с папкой MyTasks.
- /TR “C:\Scripts\script.bat” — исполняемый файл или скрипт.
- /ST 08:30 — время запуска (24-часовой формат).

Создать задачу с помощью at.exe (Windows 7 и старее)
Откройте Командную строку от имени администратора.
Пример:
AT 09:00 /EVERY:D "C:\Scripts\script.bat"
Этот формат создаёт задачу, которая запускается ежедневно в 09:00. Ограничение: синтаксис и возможности расписания простые.

2. Изменение задачи
schtasks.exe (Windows 8 и выше)
Поменять время задачи на 09:00:
SCHTASKS /CHANGE /TN "MyTasks\Script Task" /ST 09:00

at.exe (Windows 7 и ниже)
Команда изменения у at.exe ограничена. Часто проще удалить задачу и создать заново. Тем не менее есть поддерживаемые варианты:
AT 09:00 /CHANGE "MyTasks\Script Task"

3. Просмотр задач
schtasks.exe (Windows 10 и новее)
SCHTASKS /QUERY
Команда выведет список задач с именами, статусом, триггерами и другими полями.

at.exe (Windows 7 и старее)
AT
Список будет содержать задачи, созданные через at.exe, обычно внизу общего списка.
4. Удаление задачи
schtasks.exe (Windows 8 и выше)
Удаление конкретной задачи:
SCHTASKS /DELETE /TN "MyTasks\Cleanup Task"
Подтвердите Y при запросе.

Удалить все задачи (без запроса подтверждения):
SCHTASKS /DELETE /TN * /F

at.exe (Windows 7 и старее)
Удалить задачу по ID:
AT 8 /DELETE
Где 8 — идентификатор задачи. Чтобы удалить все задачи:
AT /DELETE

Частые варианты и дополнительные параметры schtasks.exe
- Запуск от имени конкретного пользователя:
/RU "DOMAIN\User" /RP "password"(пароль хранится в зашифрованном виде в системном хранилище). - Запуск с наивысшими привилегиями:
/RL HIGHEST. - Экспорт/импорт задач: используйте графический Task Scheduler для экспорта XML или
schtasks /Create /XML file.xml /TN "Name".
Пример создания задачи, которая запускается каждую понедельник в 07:00 от имени пользователя:
SCHTASKS /CREATE /SC WEEKLY /D MON /TN "MyTasks\WeeklyReport" /TR "C:\Scripts\report.bat" /ST 07:00 /RU "DOMAIN\ReportUser" /RP "UserPassword"
Note: хранение паролей в командах повышает риск — предпочтительно задавать учётные данные вручную при первом создании задачи или использовать управляемые сервисные учётные записи.
Миграция задач с at.exe на schtasks.exe: мини-методология
- Списоките текущие задачи: на старой машине выполните
ATи сохраните вывод. - Для каждой задачи определите: время, повторяемость, исполняемый файл, ID, учётную запись.
- На целевой машине составьте эквивалентную команду schtasks.exe с необходимыми параметрами (SC, TN, TR, ST, RU).
- Тестируйте задачу вручную (выполнить /Run) и проверяйте логи в «Просмотр событий» → «Журналы приложений и служб» → Microsoft → Windows → TaskScheduler.
- Удалите старые задачи после успешного тестирования.
Отладка и типичные ошибки
- Неправильный путь к исполняемому файлу — чаще всего из-за пробелов или отсутствия кавычек.
- Проблемы с правами — задача создана, но не запускается; проверьте учётные данные и опцию «Запускать с наивысшими привилегиями».
- Различия окружения — задачи запускаются в системном контексте, PATH и переменные окружения могут отличаться.
- Ошибки формата времени — используйте 24-часовой формат HH:MM.
Совет: для отладки записывайте вывод скрипта в лог-файл и проверяйте код возврата.
Контрпримеры: когда schtasks.exe не решает задачу
- Если вы работаете с очень старыми машинами без поддержки современных API, schtasks.exe может отсутствовать или иметь ограниченную реализацию.
- Для очень сложной оркестрации задач на множестве хостов лучше использовать централизованные системы автоматизации (например, Ansible, SCCM) вместо одиночных schtasks вызовов.
Альтернативы
- Графический Task Scheduler — удобно для изучения и экспорта в XML.
- PowerShell ScheduledTasks — объектно-ориентированное управление планировщиком.
- Сторонние планировщики задач и системы оркестрации для корпоративного управления.
Диагностическое дерево для выбора инструмента
flowchart TD
A[Нужно настроить задачу?] --> B{Целевая ОС}
B -->|Windows 8 и выше| C[schtasks.exe]
B -->|Windows 7 или старее| D[at.exe 'если доступен' или GUI]
C --> E{Нужна сложная логика/авторизация?}
E -->|Да| F[Использовать schtasks с /RU и /RL или PowerShell]
E -->|Нет| G[schtasks базовые параметры]
D --> H[Рассмотреть миграцию на современную ОС]Чек-листы по ролям
Администратор:
- Проверить версию ОС и наличие schtasks.exe.
- Запускать команды от имени администратора.
- Убедиться в корректности путей и прав учётных записей.
- Настроить мониторинг выполнения задач.
Разработчик автоматизации:
- Тестировать скрипты вручную до добавления в планировщик.
- Логировать вывод и ошибки в файл.
- Использовать относительные пути, если запускаете из конкретной рабочей папки.
Системный интегратор:
- План миграции с at.exe на schtasks.exe.
- Массовое развёртывание командой или через систему управления конфигурацией.
Критерии приёмки
- Задача создана и видна в
SCHTASKS /QUERY. - Задача запускается вручную (
SCHTASKS /RUN /TN "MyTasks\Script Task") и выполняет работу. - Логи показывают успешное завершение без ошибок.
- При необходимости — корректно работает под нужной учётной записью.
Полезный набор команд (cheat sheet)
- Создать ежедневную:
SCHTASKS /CREATE /SC DAILY /TN "MyTasks\Task" /TR "C:\Path\app.exe" /ST 08:00 - Удалить задачу:
SCHTASKS /DELETE /TN "MyTasks\Task" - Посмотреть все:
SCHTASKS /QUERY /V /FO LIST - Запустить задачу вручную:
SCHTASKS /RUN /TN "MyTasks\Task" - Экспорт/импорт XML:
schtasks /Create /XML file.xml /TN "Name"
Безопасность и права
- Не храните пароли в скриптах с общим доступом.
- Используйте минимально необходимые права для учётных записей задач.
- Рассмотрите Managed Service Accounts или gMSA для сервисных задач.
Совместимость и миграция
- Планируйте миграцию с at.exe на schtasks при обновлении ОС.
- Тестируйте расписания и учётные данные на тестовой машине перед массовым развёртыванием.
Сводка
- at.exe — простая, но устаревшая утилита для старых Windows.
- schtasks.exe — современный и гибкий инструмент для создания, изменения, просмотра и удаления задач.
- Для большинства задач используйте schtasks.exe или PowerShell; at.exe — только для обратной совместимости.
Короткий словарь:
- Планировщик задач — компонент Windows для запуска программ по расписанию.
- Триггер — условие, запускающее задачу (время, запуск системы и т. п.).
- RU/RP — параметры учётной записи для запуска (Run User / Run Password).
Если у вас есть конкретный сценарий или пример команды — опишите его в комментариях, и мы поможем составить точную команду.
Похожие материалы
Отключить iPhone от Mac — полный гид
Восстановить COM‑порты в Windows
Добавить медицинские записи в Apple Health на iPhone
Установка Visual Studio 2022 на Windows 10
Как установить Android M Developer Preview