Программное создание запланированной задачи в Windows - ошибка 0x8004130f - PullRequest
16 голосов
/ 25 января 2009

У меня серьезные проблемы с запуском запланированной задачи. Задача прекрасно создается с помощью интерфейса 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, и оно работает нормально.

Все, что я могу получить из веб-поиска, - это то, что в Windows есть «база данных запланированных задач», для которой необходимо иметь учетные данные для каждой задачи.

Кто-нибудь знает, как изменить эту базу данных учетных данных или каким-либо другим способом запустить мою задачу?

Ответы [ 3 ]

24 голосов
/ 01 апреля 2009

Задача GoogleUpdateTaskMachine использует «NT AUTHORITY \ SYSTEM» для запуска задачи. Вы можете сделать это, используя команду schtasks и ключ / ru с «System» или «» в качестве параметра. Как это:

schtasks /create /tn "My App" /tr c:\apps\myapp.exe /sc monthly /d 15 /ru "System"

Пароль не запрашивается.

Подробнее см. technet .

9 голосов
/ 07 февраля 2009

вы можете использовать пакетный сценарий.

schtasks /create /tn UNO /tr YOURAPP.EXE /sc HOURLY /mo 2

вот, пожалуйста.

read: Как использовать Schtasks.exe для планирования задач в Windows Server 2003

2 голосов
/ 25 января 2009

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

...