at.exe
at.exe — это утилита командной строки в операционных системах семейства Windows, предназначенная для планирования однократного или периодического запуска программ, команд или скриптов в заданное время. Относится к классу планировщиков задач. Впервые появилась в Windows NT 4.0 и использовалась вплоть до Windows 8, после чего была заменена более функциональной командой schtasks. В современных версиях Windows (начиная с Windows 10 и Windows Server 2016) at.exe считается устаревшей, но по-прежнему доступна для обратной совместимости.
История
Утилита at.exe была разработана компанией Microsoft как часть семейства Windows NT. Её название происходит от команды at, используемой в Unix-подобных системах для планирования задач (cron). Впервые команда появилась в Windows NT 4.0 (1996 год) и стала стандартным инструментом для администраторов, работающих с серверными и рабочими станциями.
В Windows 2000 и Windows XP at.exe была расширена: добавлена поддержка сетевых планировщиков (через \\имя_компьютера) и возможность задания периодичности. Однако с выходом Windows Vista (2006 год) Microsoft начала постепенно вытеснять at.exe в пользу schtasks.exe, которая предоставляла более гибкие настройки (например, выполнение задач с правами пользователя, а не только системы, и поддержку сложных триггеров).
В Windows 8 (2012 год) at.exe была официально объявлена устаревшей. В документации Microsoft рекомендовалось использовать schtasks для всех новых сценариев. Тем не менее, команда остаётся доступной в Windows 10, Windows 11 и Windows Server 2022, но её функциональность ограничена: она работает только через службу «Планировщик заданий» (Task Scheduler) и не поддерживает многие современные параметры.
Синтаксис и параметры
Команда at.exe имеет следующий базовый синтаксис:
`` at [\\имя_компьютера] [id] [/delete] [/yes] at [\\имя_компьютера] время [/interactive] [/every:день[, ...] | /next:день[, ...]] команда ``
Основные параметры
\\имя_компьютера— указывает удалённый компьютер, на котором будет запланирована задача. Если не указан, задача выполняется на локальном компьютере.id— идентификатор задачи (число). Используется для просмотра или удаления конкретной задачи./delete— удаляет задачу с указанным ID. Если ID не указан, удаляются все задачи./yes— автоматически подтверждает удаление (без запроса).время— время запуска задачи в 24-часовом формате (например,14:30)./interactive— разрешает задаче взаимодействовать с рабочим столом (требует прав администратора)./every:день[, ...]— задаёт периодичность: день недели (например,Monday,Friday) или число месяца (например,1,15). Для ежедневного выполнения —every:Monday,Wednesday,Friday./next:день[, ...]— задаёт выполнение в следующий указанный день (однократно).команда— программа, скрипт или команда, которая будет выполнена. Путь к файлу должен быть полным, если команда не находится в системной переменной PATH.
Примеры использования
- Запланировать запуск блокнота в 10:00 на текущем компьютере:
`` at 10:00 notepad.exe ``
- Запланировать запуск скрипта на удалённом компьютере
SERVER1каждый понедельник в 18:00:
`` at \\SERVER1 18:00 /every:Monday "C:\Scripts\backup.bat" ``
- Просмотреть список запланированных задач:
`` at ``
- Удалить задачу с ID 3:
`` at 3 /delete ``
Особенности работы
Служба «Планировщик заданий»
Все задачи, созданные с помощью at.exe, хранятся в службе «Планировщик заданий» (Task Scheduler). В отличие от задач, созданных через графический интерфейс, задачи at.exe не имеют подробных триггеров, условий и действий. Они представляют собой простые однократные или повторяющиеся задания, которые выполняются с правами системы (SYSTEM) или, при указании /interactive, с правами текущего пользователя.
Ограничения
- Права доступа: Для создания задач с
at.exeтребуются права администратора. Обычные пользователи не могут использовать эту команду. - Сетевые задачи: При планировании задач на удалённом компьютере необходимо, чтобы служба «Планировщик заданий» была запущена, а пользователь имел права администратора на целевом компьютере.
- Интерактивность: По умолчанию задачи выполняются в фоновом режиме, без отображения окон. Параметр
/interactiveпозволяет задаче взаимодействовать с рабочим столом, но это работает только для локальных задач и требует прав администратора. - Периодичность: Поддерживаются только дни недели и числа месяца. Нельзя задать интервал в часах, минутах или конкретные даты (например, «каждый вторник и четверг с 1 марта по 30 июня»). Для таких сценариев требуется
schtasks. - Совместимость: В Windows 10 и Windows 11 команда
at.exeможет не работать корректно с некоторыми приложениями, особенно требующими прав пользователя. Microsoft рекомендует использоватьschtasksдля всех новых задач.
Сравнение с schtasks
| Параметр | at.exe | schtasks.exe |
|---|---|---|
| Время появления | Windows NT 4.0 (1996) | Windows XP (2001) |
| Статус | Устаревшая | Актуальная |
| Поддержка сложных триггеров | Нет | Да (дни, часы, минуты, события) |
| Выполнение с правами пользователя | Только через /interactive | Да (можно указать учётную запись) |
| Сетевые задачи | Да (через \\имя_компьютера) | Да (через /s параметр) |
| Поддержка XML | Нет | Да (экспорт/импорт задач) |
| Удаление задач | По ID или все | По имени задачи |
Применение
Несмотря на устаревший статус, at.exe продолжает использоваться в некоторых сценариях:
- Администрирование старых систем: На компьютерах с Windows 2000, Windows XP или Windows Server 2003 команда
at.exeостаётся основным инструментом планирования задач. - Скрипты и автоматизация: В средах, где требуется минимальная зависимость от современных функций,
at.exeможет быть проще для быстрого создания однократных задач. - Обучение: Команда используется в учебных курсах по администрированию Windows для демонстрации базовых принципов планирования задач.
- Обратная совместимость: Некоторые сторонние программы и скрипты, написанные для старых версий Windows, могут использовать
at.exeдля планирования.
Безопасность
Использование at.exe может представлять угрозу безопасности, если злоумышленник получает права администратора. Через эту команду можно запланировать выполнение вредоносного кода с системными привилегиями. В современных версиях Windows рекомендуется отключать at.exe или ограничивать её использование через групповые политики. Также важно регулярно проверять список запланированных задач с помощью at или schtasks /query для выявления несанкционированных заданий.
Источники
- Документация Microsoft: «at command» (Windows IT Pro Center)
- «Windows Command-Line Reference» (Microsoft Press, 2012)
- «Windows Internals, Part 1» (Mark Russinovich, David Solomon, Alex Ionescu, 7th edition, 2017)
- «Windows Server 2012 R2: Planning and Administration» (Charlie Russel, 2014)
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →