我遇到运行计划任务的主要问题。使用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有一个“计划任务数据库”,需要为每个任务提供凭据信息才能运行。
有谁知道如何修改此凭据数据库或任何其他方式来运行我的任务?
答案 0 :(得分:24)
GoogleUpdateTaskMachine任务使用“NT AUTHORITY \ SYSTEM”来运行任务。您可以使用schtasks命令和带有“System”或“”作为参数的/ ru开关来完成此操作。像这样:
schtasks /create /tn "My App" /tr c:\apps\myapp.exe /sc monthly /d 15 /ru "System"
它不会提示输入密码。
有关详细信息,请参阅technet。
答案 1 :(得分:9)
您可以使用批处理脚本。
schtasks /create /tn UNO /tr YOURAPP.EXE /sc HOURLY /mo 2
你去吧。
阅读:How to use Schtasks.exe to Schedule Tasks in Windows Server 2003
答案 2 :(得分:2)
据我所知,文档支持这一点,计划任务需要一个帐户。如果将任务设置为仅在用户登录时运行,仅表示不需要密码,则仍需要帐户。此帐户可以设置为一个组,以便只要该组中的任何人登录,该任务将在触发时运行。例如,您可以将帐户设置为“用户”,以便任何人登录时都可以运行该任务。