我在 Windows Server 2008 SP2(32 位)的任务计划程序中设置了多个任务,除了在 Windows 上创建或更新文件外,它们都成功“完成工作”。所有任务都指向执行实际工作的简单 .cmd 文件,但除此之外没有任何模式:有些使用 /LOG 选项调用 robocopy,有些调用我编写的操纵 XML 文件的 .exe 文件,有些只是通过>
重定向执行操作。
对于所有这些,如果我自己双击 .cmd 文件,它都可以正常工作,文件会被创建或更新或诸如此类。如果我从任务计划程序运行它(按计划或单击“运行”),任务总是“成功”完成,但不会对文件进行任何所需的更改。我在事件查看器中也没有看到任何“无法创建文件”错误。
所有任务均以特定帐户的身份运行,但我已以该帐户身份登录并验证它有权执行其需要执行的所有操作。
更多细节 - 无论用户是否登录,任务都设置为运行。配置为:“Windows Vista 或 Windows Server 2008”,没有其他可用的配置选项。
答案1
需要注意的一点是脚本从哪里运行。如果您有一个引用“test.log”的补丁文件,则直接从 c:\logs 运行批处理不会有问题。但是当任务计划程序运行它时,它不知道在哪里找到“test.log”。因此,请确保您在代码中使用完整路径,或者使用任务计划程序的“运行”功能。
答案2
您的任务配置是什么?如果 cmd 执行的脚本配置为 2008,我也遇到过类似的问题。在常规选项卡上,我必须将“配置为”选项设置为 2003/xp/2000。您有哪些安全选项?
答案3
*.exe 文件通过计划任务运行时;虽然显示已成功完成,但任务仍未完成!但是当使用批处理文件通过计划任务调用 *.exe 文件时,任务完成,这是在服务器 2008 中运行 *.exe 文件的唯一方法吗?