Планировщик задач назначенная задача при запуске не работает

Вопрос или проблема

Я запланировал задачу для выполнения при запуске системы. Но она не работает. Когда я запускаю задачу вручную, она работает. Ниже приведены скриншоты настроек.

введите описание изображения здесь

введите описание изображения здесь

Что я сделал неправильно здесь? Эта задача выполняет bat-файл, который запускает процесс. Между прочим, результат последнего выполнения отображается как успешный.

Я некоторое время боролся с такой же проблемой. В моем случае проблема заключалась в настройке “Запускать задачу только если компьютер подключен к источнику питания переменного тока”.

Вы выполняете эту задачу с привилегиями пользователя “VM”. Есть ли у аккаунта “VM” права “Запуск в качестве пакетной задачи”?

Как вы настраиваете свою запланированную задачу, через локальный Планировщик задач или через предпочтения GPO DC? Что я заметил, так это то, что если задача создана через предпочтения GPO DC, то задача никогда не выполняется (независимо от того, что вы выполняете, VBS, PowerShell, CMD, EXE), если единственный триггер – “При запуске”. Мне нужно создавать свои задачи с двумя триггерами:

  1. При создании/изменении задачи

  2. При запуске

Теперь задача выполняется правильно каждый раз, когда я перезагружаю свои компьютеры.

ЗАМЕТКА

  1. Это применимо только в том случае, если задачи создаются через предпочтения GPO на стороне DC.

  2. Это применимо только для триггера “При запуске”. Насколько я заметил, каждый другой триггер работает нормально.

  3. Не забывайте не использовать режим “Замена” при создании этого предпочтения GPO, если вы не хотите, чтобы задача выполнялась каждый раз, когда компьютер обновляет свои GPO. В режиме “Замена” во время обновления задача пересоздается, и триггер – “При создании/изменении задачи”. Вместо этого используйте режим “Обновление”. Также именно здесь вы видите одну проблему с этой уловкой … вы не можете создать задачу таким образом, чтобы она удаляла себя, как только компьютер перестает быть частью домена, потому что такие задачи требуют режима “Замена”.

Ваша программа не является фоновым скриптом или службой. Это GUI-программа, которая должна выполняться как пользователь в графической среде. Поэтому вам не следует запускать ее как запланированную задачу при запуске, а следует запускать при входе пользователя.

Поскольку программа находится в вашей разработке, вы могли бы пересмотреть ее дизайн: должна ли она иметь фоновую службу, выполняющую фоновые операции, и отдельный GUI для настройки/мониторинга?

Почему бы вам не запустить этот bat-файл как службу Windows? Есть ли какая-то конкретная причина? Для справки: http://nssm.cc/usage

У меня также есть проблемы с планировщиком задач Win 10, и по какой-то причине у меня такое же поведение, как у вас. Задача помечена как успешно выполненная, но программа/скрипт не запускается.

Чтобы решить эту проблему, по крайней мере, это работает у меня, попробуйте разместить ярлык скрипта как программу автозагрузки в %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup.

Вы также можете сделать так, чтобы этот ярлык запускался с наивысшими привилегиями (Администратор). Я обнаружил, что это работает лучше, чем планировщик задач, по крайней мере, для моего программного обеспечения/скриптов. Некоторые из них запускаются с GUI, а некоторые без GUI, но оба работают нормально в папке Startup.

ПД: %APPDATA% – это системная переменная, полный путь должен выглядеть следующим образом:

C:\Users\YourUserName\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

Включен ли быстрый запуск в BIOS? Win10 использует перезапуск аналогично режиму сна, если включен быстрый запуск, поэтому это не настоящий ‘перезапуск’.

Поместите скрипт в папку автозагрузки для всех пользователей %allusersprofile%\Microsoft\Windows\Start Menu\Programs\Startup, вы даже можете настроить его запуск с правами администратора, если это необходимо, изменив свойства ярлыка.

У меня была эта проблема, когда я настраивал UI-тесты на машине-рабочем узле Jenkins, но с одним отличием – я использую “Запускать только при входе пользователя”, так что не уверен, имеет ли это значение. Я решил проблему следующими шагами:

  1. Нажмите Win + R
  2. Введите secpol.msc и нажмите Enter – открывается менеджер локальной политики безопасности
  3. Перейдите в Настройки безопасности – Локальные политики – Узел назначения прав пользователей
  4. Дважды щелкните на “Вход в виде пакетной задачи” справа
  5. Нажмите “Добавить пользователя или группу…”
  6. Выберите пользователя и нажмите ОК

Взято из этой статьи.

Я знаю, что это старая запись, но настраивал небольшой мини-компьютер MeLE с Windows 11 и пытался запустить мобильную точку доступа из сценария PowerShell при запуске системы, и наткнулся на ту же проблему!!!! И что было еще более разочаровывающим, так это тот факт, что при перезагрузке скрипт запускается, но не при холодном запуске. Так что моя уловка заключалась в том, чтобы искать “другие события”, которые происходят при загрузке, и я нашел их в системных журналах Windows:
введите описание изображения здесь

Так что все, что я сделал, это добавил триггер на событие и наблюдал за этим событием 566:
введите описание изображения здесь

И вуаля! Теперь моя точка доступа запускается при холодном старте каждый раз! Надеюсь, это поможет.

У меня была аналогичная проблема с Планировщиком задач Windows 11. Я пытался настроить задачу при запуске для запуска Jenkins Agent на новом ПК. Я успешно сделал это на виртуальных машинах Windows 11, работающих на сервере сборки, но это был первый раз, когда я настраивал ПК Dell в сети (маленький стартап, без поддержки ИТ на месте).

Симптомы:

  1. Статус задачи был “Готово”, но она не запускалась.
  2. Результат последнего запуска – 0x41303 (Задача еще не запускалась).
  3. Время последнего запуска – 30.11.1999 12:00:00.

В “настройках” я отметил галочку “Разрешить задаче запускаться по требованию”, но я все равно не мог запустить ее из меню “Действия” в правой боковой панели.

Отладка

В меню “Действия” с правой стороны я нажал “Включить всю историю задач”, а затем “Запустить” для задачи.

Мне пришлось нажать “обновить” и в истории появилось следующее

Ошибка: Ошибка запуска

Нажав на это, я получил немного более общую информацию:

Планировщик задач не смог запустить задачу “\jenkins_agent” для пользователя “[редактировано]”. Дополнительные данные: Значение ошибки: 2147943726

Это привело меня к: https://stackoverflow.com/questions/44348330/task-scheduler-failed-to-start-additional-data-error-value-2147943726

Ответы там дали мне подсказки, необходимые для исправления, но по их мудрости администраторы stackoverflow закрыли этот вопрос, так что я не могу обновить ответ там.

Решение

По какой-то причине аккаунт, который я использовал, несмотря на то, что он администратор и имел право “Вход в виде пакетной задачи”, просто не работал.

Я сменил пользователя, выполняющего задачу, на SYSTEM:

  1. Щелкните правой кнопкой мыши на задаче и выберите “свойства”
  2. На вкладке “Общие”, в группе “Параметры безопасности”, “При выполнении задачи используйте следующую учетную запись:” Выберите кнопку “Изменить пользователя или группу…”. Введите “SYSTEM” в диалоговом окне и нажмите ОК.
  3. Нажмите ОК и введите учетные данные для подтверждения.

Затем я добавил “SYSTEM” в список пользователей, имеющих право “Вход в виде пакетной задачи”.

  1. Перейдите в меню “Пуск”.
  2. Введите secpol.msc и нажмите Enter. Откроется менеджер локальной политики безопасности.
  3. Перейдите в “Настройки безопасности” – “Локальные политики” – “Узел назначения прав пользователя”.
  4. Дважды щелкните по “Вход в виде пакетной задачи” справа.
  5. Нажмите “Добавить пользователя или группу”. Добавьте “SYSTEM”.
  6. Нажмите ОК.

После этого я смог запускать задачу по требованию, и задача начинается после сброса системы. Так что это решило проблему для меня.

Тем не менее, я не знаю, почему учетная запись пользователя, с которой я настраивал ПК, не работала. У меня есть теория, что это потому, что я использую общую учетную запись, которую использовал для виртуальных машин сервера сборки, а не ту, которая является официальной учетной записью интранета. Active Directory что-то там…

Когда вы отмечаете “Запускать, независимо от того, вошел ли пользователь в систему или нет”, контекст будет другим, и окна/программы, запущенные TaskSheduler или задачей, не появятся на экране, потому что они выполняются в фоновом режиме.

Ответ или решение

Задача в Планировщике задач не запускается при старте системы

Если ваша задача в Планировщике задач Windows не запускается при старте системы, но успешно выполняется вручную, вероятность появления проблемы может быть обусловлена несколькими ключевыми аспектами. Рассмотрим наиболее распространенные причины и возможные решения данной проблемы.

1. Проверьте параметры аутентификации

Одной из основных причин, по которой задача не стартует автоматически, может быть недостаток прав у аккаунта, от имени которого выполняется задача. Проверьте, есть ли у аккаунта, используемого для запуска задачи, разрешение "Запускать как пакетную задачу". Для этого:

  1. Откройте secpol.msc.
  2. Перейдите в Политики локальных пользователей -> Назначение прав пользователя.
  3. Убедитесь, что ваш пользователь добавлен в группу, которая имеет права на "Вход как пакетная работа".

Если вы используете учетную запись, созданную для виртуальной машины (например, "VM"), убедитесь, что у нее есть необходимые права.

2. Настройки триггеров

Если вы создали задачу через GPO (групповая политика) в домене, иногда задачи с триггером "При старте" могут не выполняться. В этом случае рекомендовано:

  • Установить два триггера: один — "При создании/изменении задачи", второй — "При старте".
  • Проверить, не установлен ли режим "Замена" для GPO. Режим "Обновление" может предотвратить повторное создание задачи во время обновления GPO.

3. Запуск задач с пользовательским интерфейсом

Если программа, которую вы пытаетесь запустить, требует взаимодействия с графическим интерфейсом, стоит рассмотреть вариант запуска задачи на входе пользователя, а не на старте системы. Для этого:

  • Настройте выполнение задачи "При входе пользователя" или добавьте ярлык на исполняемый файл в папку автозагрузки по пути %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup.

4. Проверка настроек BIOS

Если у вас включен режим быстрого запуска в BIOS, он может влиять на запуск задач при холодной загрузке системы. Попробуйте отключить эту опцию и проверьте, изменится ли поведение задачи.

5. Проверьте обрабатываемые события

Можно настроить задачу на срабатывание от определенного события в системных журналах. Например, добавление условия на основе события 566 может помочь устранить проблемы с запуском на холодной загрузке.

6. Отличия в контексте пользователя

Когда задача запускается с флажком "Запускать независимо от того, вошел ли пользователь в систему или нет", она выполняется в фоновом режиме и не будет отображать пользовательский интерфейс. Если ваша программа требует пользовательского интерфейса, рассмотрите возможность запуска задачи "При входе пользователя".

Заключение

Проблемы с выполнением задач при старте системы могут быть вызваны различными факторами, от прав доступа до неправильной настройки триггеров и режима запуска. Пошагово проанализировав настройки вашей задачи, вы сможете выявить и устранить проблему. Если проблемы сохраняются, рассмотрите возможность использования дополнительных подходов, таких как запуск программы как службы или использование альтернативных средств управления задачами.

Оцените материал
Добавить комментарий

Капча загружается...