Программное создание запланированной задачи в Windows - ошибка 0x8004130f
У меня возникают серьезные проблемы с запуском запланированной задачи. Задача создается с использованием интерфейса ITaskScheduler, предоставленного Microsoft. Задача запускается только в том случае, если пользователь вошел в систему.
Проблема заключается в том, что задача НЕ запускается, а файл журнала SchedLgU.txt ссылается на следующую причину:
"The attempt to retrieve account information for the specified task failed; therefore, the task did not run. Either an error occurred, or no account information existed for the task.
The specific error is:
0x8004130f: No account information could be found in the Task Scheduler security database for the task indicated."
Я знаю, что запланированную задачу можно создать без учетной записи, потому что запланированная задача Google Updater делает это, и она работает нормально.
Все, что я могу собрать из веб-поиска, - это то, что Windows имеет "запланированную базу данных задач", которая должна иметь учетную информацию для каждой задачи, чтобы она могла работать.
Кто-нибудь знает, как изменить эту учетную базу или любой другой способ запустить мою задачу?
Ответы
Ответ 1
Задача GoogleUpdateTaskMachine использует "NT AUTHORITY\SYSTEM" для запуска задачи. Вы можете сделать это, используя команду schtasks и переключатель /ru с параметром "System" или "". Вот так:
schtasks /create /tn "My App" /tr c:\apps\myapp.exe /sc monthly /d 15 /ru "System"
Он не запрашивает пароль.
Подробнее см. technet.
Ответ 2
вы можете использовать пакетный скриптинг.
schtasks /create /tn UNO /tr YOURAPP.EXE /sc HOURLY /mo 2
там вы идете.
read: Как использовать файл Schtasks.exe для расписания задач в Windows Server 2003
Ответ 3
Насколько я знаю, и документация подтверждает это, для запланированной задачи требуется учетная запись. Если задание запускается только при входе пользователя в систему, это означает, что пароль не нужен, вам все равно нужна учетная запись. Эта учетная запись может быть установлена в группу, чтобы задача выполнялась при ее запуске до тех пор, пока кто-либо из группы вошел в систему. Например, вы можете настроить учетную запись на "Пользователи", чтобы задача могла выполняться, когда кто-либо вошел в систему.