代码之家  ›  专栏  ›  技术社区  ›  Dan

在Windows中以编程方式创建计划任务-0x8004130F错误

  •  16
  • Dan  · 技术社区  · 16 年前

    我在运行计划任务时遇到重大问题。使用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."
    

    我知道一个事实,一个计划任务可以创建没有帐户信息,因为谷歌更新计划任务这样做,它运行良好。

    从web搜索中我所能得到的就是windows有一个“计划任务数据库”,它需要有每个任务的凭据信息才能运行。

    是否有人知道如何修改此凭据数据库或以任何其他方式运行我的任务?

    3 回复  |  直到 15 年前
        1
  •  24
  •   David Glass    15 年前

    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
  •  9
  •   Germán Rodríguez    15 年前

    可以使用批处理脚本。

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

    给你。

    阅读: How to use Schtasks.exe to Schedule Tasks in Windows Server 2003

        3
  •  2
  •   Stephen Martin    16 年前

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