SchTasks: управление задачами планировщика через CLI
Быстрые ссылки
Примеры
Массовое создание
Windows XP и Windows Server 2003 представили утилиту SchTasks, которая заменила инструмент At из Windows 2000. С её помощью можно управлять всеми аспектами запланированных задач через командную строку. Мастер в графическом интерфейсе удобен, но SchTasks предпочтителен в ситуациях, когда нужно автоматизировать, разворачивать или массово изменять задачи на многих компьютерах.
Important: для некоторых команд требуются права администратора и запущенный сервис «Планировщик заданий».
Примеры
Ниже приведены простые примеры типичных операций. Команды взяты в формате, используемом в исходной документации — при необходимости замените пути и имена задач на ваши.
Создать задачу «My Task», которая запускает C:RunMe.bat каждый день в 9:00:
SchTasks /Create /SC DAILY /TN “My Task” /TR “C:RunMe.bat” /ST 09:00
Изменить расписание задачи «My Task», чтобы она запускалась в 14:00:
SchTasks /Change /TN “My Task” /ST 14:00
Создать задачу «My Task», которая запускает C:RunMe.bat первого числа каждого месяца:
SchTasks /Create /SC MONTHLY /D 1 /TN “My Task” /TR “C:RunMe.bat” /ST 14:00
Создать задачу «My Task», которая запускает C:RunMe.bat по будням в 14:00:
SchTasks /Create /SC WEEKLY /D MON,TUE,WED,THU,FRI /TN “My Task” /TR “C:RunMe.bat” /ST 14:00
Удалить задачу с именем «My Task»:
SchTasks /Delete /TN “My Task”
Note: это вызовет предупреждение, которое потребуется подтвердить.
Массовое создание
Как и любой инструмент командной строки, SchTasks удобно использовать в пакетных (*.bat) или сценариях для массового создания и удаления. Пример простого скрипта, который создаёт три задания:
SchTasks /Create /SC DAILY /TN “Backup Data” /TR “C:Backup.bat” /ST 07:00
SchTasks /Create /SC WEEKLY /D MON /TN “Generate TPS Reports” /TR “C:GenerateTPS.bat” /ST 09:00
SchTasks /Create /SC MONTHLY /D 1 /TN “Sync Database” /TR “C:SyncDB.bat” /ST 05:00
Это быстрое средство для развёртывания задач на множестве машин. Один из распространённых подходов — включить соответствующие команды SchTasks в доменный скрипт входа в систему (logon script) или в процесс конфигурации образа, чтобы обновлять задачи при входе пользователей или при инициализации машины.
Когда SchTasks не подходит
- Нужен сложный триггер на внешнее событие или сложная логика условий — лучше использовать Task Scheduler GUI или API/PowerShell-модуль.
- Нет прав администратора — многие операции требуют повышения привилегий.
- Нужно распределённое управление с отчётностью и откатом — стоит рассмотреть централизованные инструменты конфигурации (SCCM, Ansible, Intune).
Альтернативные подходы
- PowerShell ScheduledTasks (Register-ScheduledTask, Get-ScheduledTask) — современная и скриптуемая альтернатива с объектной моделью.
- Графический Планировщик задач (Task Scheduler MMC) — когда нужна визуальная настройка и отладка.
- GPO/Group Policy Preferences — для массового развёртывания в домене (ограничения по тонкости настроек).
- Системы управления конфигурацией (Ansible, Puppet, SCCM) — для масштаба и отслеживания изменений.
Контрольный список администратора перед массовым развёртыванием
- Убедитесь, что у вас есть резервная копия текущих задач на целевых машинах.
- Проверьте права учётной записи, от которой будут запускаться задачи (/RU и /RP).
- Тестируйте команды на одной тестовой машине до массового применения.
- Отслеживайте журнал событий Windows на предмет ошибок выполнения задач.
- Подумайте о безопасном хранении паролей, если используете /RP — избегайте plaintext в скриптах.
Мини‑методология для массового обновления расписаний
- Подготовьте набор команд SchTasks в отдельном .bat или .ps1 файле.
- Тестируйте локально: создайте задачу, запустите вручную, проверьте результат.
- Внедрите на тестовом пуле машин, соберите логи ошибок.
- Обновите скрипт с учётом ошибок и особенностей окружения.
- Разверните через GPO, logon script или инструмент управления конфигурацией.
- Мониторьте успешность выполнения и отваливающиеся хосты.
Соображения по безопасности
- По умолчанию задачи выполняются под указанной учётной записью; для системных операций используйте учётные записи с минимально необходимыми правами.
- Не храните пароли в открытом виде в скриптах; при необходимости используйте защищённые хранилища или сервисные учётные записи без пароля (если это допустимо и безопасно).
- Ограничьте доступ к файлам .bat/.ps1 и к журналам задач.
Быстрый справочник по ключевым параметрам SchTasks
- /Create — создать задачу
- /Change — изменить существующую задачу
- /Delete — удалить задачу
- /SC — тип расписания (ONCE, DAILY, WEEKLY, MONTHLY, ONSTART, ONLOGON, ONIDLE, MINUTE, HOURLY)
- /TN — имя задания
- /TR — команда/программа для запуска
- /ST — время старта (HH:MM)
- /D — день для /SC MONTHLY или WEEKLY (например: MON,TUE)
- /RU /RP — учётная запись и пароль для выполнения
Полезные советы и распространённые ошибки
- Проверьте синтаксис команд и кавычки при пути с пробелами.
- Если задача не запускается — посмотрите события в Application/System и записи Планировщика задач.
- При массовом развёртывании учитывайте локальные политики безопасности и UAC.
Итог
SchTasks остаётся простым и надёжным инструментом для автоматизации задач на Windows, особенно когда нужна массовая или безголовая (headless) настройка. Для сложных сценариев рассмотрите PowerShell-модуль ScheduledTasks или централизованные системы управления. Помните про безопасность учётных записей и тестирование на небольшой группе перед массовым развёртыванием.
Notes: для подробной справки используйте встроенную справку SchTasks (/?) или официальную документацию Microsoft.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента