#Симптом и условия применимости
Ночной сценарий в Планировщике заданий не выполняется в назначенное время или завершается без видимого результата. Проверять нужно триггер, контекст учётной записи, рабочий каталог, условия питания и журнал TaskScheduler, а не только ручной успешный запуск скрипта. Инструкция подходит для Windows Server 2022 и Windows Server 2025 при наличии соответствующей роли или компонента; варианты Desktop Experience и Server Core могут отличаться. Для критических серверов требуется согласование с владельцем системы.
#Возможные причины и признаки
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Задача не запускается по триггеруНеверная дата/время, отключённый триггер или условия работы. | Last Run Time не меняется, History не содержит старта. | Проверить вкладки «Триггеры» и «Условия». |
| Неверная рабочая папкаВ задаче указан относительный путь к входным файлам. | Ручной запуск успешен, в задаче ошибка «файл не найден». | Указать абсолютный путь и Start in. |
| Недостаточно прав/нет доступа к сетиСлужебная учётная запись не имеет интерактивных прав, сетевых токенов или разрешения на папки. | Задача стартует, но пишет отказ доступа. | Сравнить учётную запись и минимальные права. |
#Пошаговая диагностика и устранение
- Зафиксируйте исходный сбой и исходные условияЗапишите дату и время, полную версию Windows Server, роль устройства (член домена, контроллер домена, узел виртуализации и т. п.), точный текст ошибки и последнее известное изменение конфигурации. Для графической установки версию можно проверить Win+R →
winver; для Server Core — через штатную административную консоль. Не считайте совпадение по дате доказательством, что причиной было обновление.
- Не перезапускайте опасный ночной сценарий наугадЕсли задание отправляет письма, перемещает данные или выполняет расчёты с повторными платежами, сначала сделайте безопасную копию входных данных и выясните, допускается ли ручной повтор. Два запуска могут создать дубли или испортить рабочий набор.
- Прочитайте «Последний результат»Win+R → taskschd.msc → «Библиотека планировщика заданий» → нужная задача. Запишите статус, «Время последнего запуска» и «Результат последнего запуска». Код 0x0 означает завершение действия без ошибки с точки зрения задачи, но не гарантирует правильность обработки данных скриптом.
- PowerShell на сервереWindows · PowerShellКомандаPowerShell на сервере. В кавычках замените имя на настоящее; команда читает время и код последнего запуска, не запускает задачу. Если она лежит в вложенной папке, укажите -TaskPath или найдите полное имя.
Get-ScheduledTask -TaskName "НАЗВАНИЕ_ЗАДАЧИ" | Get-ScheduledTaskInfo
- Проверьте расписание и условияОткройте свойства задачи → «Триггеры», проверьте, активна ли запись и её время. В «Условия» проверьте требования питания/простоя/сети; на виртуальном сервере эти условия могут препятствовать ночному запуску.
- Сверьте учётную записьВо вкладке «Общие» посмотрите, от чьего имени запускается задание, разрешён ли запуск без входа пользователя, требуется ли повышенный уровень прав. Служебный аккаунт мог сменить пароль или права; не записывайте пароль в аргументах задачи.
- Сверьте исполняемый файл и рабочую папкуНа вкладке «Действия» проверьте «Программа или сценарий», аргументы и поле «Рабочая папка», если используется. Для PowerShell укажите путь к powershell.exe и полное имя безопасного скрипта; относительные пути к файлам лучше заменить на абсолютные внутри самого скрипта после ревизии.
- Откройте историю фактического запускаВо вкладке «Журнал» (History) проверьте, есть ли событие «запущена задача» и чем завершилось действие. Если истории нет, в Event Viewer откройте Microsoft → Windows → TaskScheduler → Operational и проверьте разрешённость ведения журнала.
- Проверьте скрипт в безопасном режимеВ выделенной тестовой среде или на копии данных запустите команду сценария с теми же параметрами и разрешённой учётной записью. Добавьте штатный журнал результатов приложения. Не запускайте производственный сценарий вручную, пока не подтверждена идемпотентность.
- Повторите по одобренному расписаниюИсправив единственную доказанную настройку, дождитесь следующего окна запуска или используйте согласованный тестовый запуск. Проверьте созданный выходной файл, журнал задания и результат основного действия. Если задача стартует, но результата нет, исследуйте сам скрипт.
#Как понять, что проблема решена
Сопоставьте исходную неисправность («планировщик заданий не запускает ночной сценарий») с новым результатом после одного согласованного изменения. Зафиксируйте время теста, журналы и результаты для затронутых пользователей или служб. Если результат нестабилен, не предпринимайте второй рискованный шаг наугад: восстановите согласованное предыдущее состояние и передайте журнал владельцу роли.
#Если не помогло
Сохраните исходный и новый код ошибки, выбранную роль, версию сборки, номера событий и анонимизированные результаты диагностических команд. Для доменных контроллеров, узлов Hyper-V и серверов безопасности рассмотрите профильную поддержку и процедуру изменения конфигурации. Не выключайте защиту, не удаляйте роли и не сбрасывайте всю ОС вместо адресной диагностики.