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

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.

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

  1. Запланировать запуск блокнота в 10:00 на текущем компьютере:

`` at 10:00 notepad.exe ``

  1. Запланировать запуск скрипта на удалённом компьютере SERVER1 каждый понедельник в 18:00:

`` at \\SERVER1 18:00 /every:Monday "C:\Scripts\backup.bat" ``

  1. Просмотреть список запланированных задач:

`` at ``

  1. Удалить задачу с 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.exeschtasks.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 →