Иногда я буду делать:
SCHTASKS /create /tn "Task Name 123" /XML C:\temp\Task Name 123.xml /F
schtasks /run /tn "Task Name 123"
и задача не будет запущена, она останется в статусе «ожидание» (не уверен, что это за английский термин, поскольку мы используем французские окна...)
Если я вручную зайду в графический интерфейс taskschd.msc и щелкну правой кнопкой мыши — RUN, он запустится, но этого не произошло с командой /run, показанной выше. Это каким-то образом подтверждает, что команда schtasks и щелчок правой кнопкой мыши в графическом интерфейсе не действуют одинаково.
Есть идеи, почему? Есть ли что-то «ожидающее», что может помешать запуску моей задачи, как я могу ЗАСТАВИТЬ ее запустить через командную строку?
Проблема не в самой задаче. Один и тот же код отлично работает на многих компьютерах, и время от времени я замечаю, что даже несмотря на то, что команда /run была отправлена, когда я иду проверять, что задача «ожидает», если я запускаю ее вручную, она затем работает нормально. Странный ?
Когда вы это делаете, проверяете ли вы, что другие задачи не выполняются и, возможно, мешают вашим?
Когда я это замечаю, да, я вижу, что есть несколько других задач, которые также находятся в состоянии ожидания. Есть ли какой-то механизм, который предотвратит запуск моей задачи, если другие задачи?
В этот момент я полагаю, что может быть что-то не так с базовой службой, выполняющей задачи. Отметьте Win32_Service.Name = "schedule" в таком случае.
Хм Хорошо, я буду исследовать. Это странно, потому что он не зависает во время работы, он просто отказывается запускаться, когда его спрашивают (за исключением случаев, когда я щелкаю правой кнопкой мыши «Выполнить», что каким-то образом подтверждает, что команда schtasks по сравнению с правым щелчком мыши в графическом интерфейсе не действует одинаково).





Нет, ни утилита
SCHTASKS.EXE, ни объект COMService.Scheduleне имеют опции «принудительно» запустить запланированную задачу. Хотя COM-объект делает предоставляет вам больше диагностической информации, которая может рассказать вам, почему он не работает или зависает в состоянии ожидания.