17

我在运行计划任务时遇到了重大问题。使用 Microsoft 提供的 ITaskScheduler 接口可以很好地创建任务。该任务设置为仅在用户登录时运行。

问题是任务没有运行,日志文件 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 有一个“计划任务数据库”,它需要为每个任务提供凭据信息才能运行。

有谁知道如何修改这个凭证数据库或任何其他方式让我的任务运行?

4

3 回答 3

24

GoogleUpdateTaskMachine 任务使用“NT AUTHORITY\SYSTEM”来运行任务。您可以使用 schtasks 命令和带有“System”或“”作为参数的 /ru 开关来执行此操作。像这样:

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

它不会提示输入密码。

有关更多信息,请参见技术网。

于 2009-03-31T20:18:41.267 回答
9

你可以使用批处理脚本。

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

你去吧。

阅读:如何使用 Schtasks.exe 在 Windows Server 2003 中安排任务

于 2009-02-07T20:11:47.133 回答
2

据我所知,文档支持这一点,计划任务需要一个帐户。如果您将任务设置为仅在用户登录时运行,这意味着不需要密码,您仍然需要一个帐户。可以将此帐户设置为一个组,以便只要该组中的任何人登录,该任务就会在触发时运行。例如,您可以将帐户设置为“用户”,以便在任何人登录时都可以运行任务。

于 2009-01-25T13:27:16.530 回答