Server 2008 任务计划程序和 CMD 文件

Server 2008 任务计划程序和 CMD 文件

任务计划程序 - 我有一个 .cmd 文件,我正尝试通过任务计划程序定期执行它。我已将任务设置为指向 cmd 文件。我希望即使没有人登录,任务也能执行。我已将与任务关联的凭据设置为本地服务帐户。当我执行任务时,什么也没发生。上次运行结果显示 0x1,这意味着它没有正确执行。当我从命令提示符运行文件时,它执行得很好。任何帮助都将不胜感激。我会发布代码,但里面有敏感信息,我不允许将代码泄露出去。谢谢

答案1

从您的问题无法清楚了解该任务是以“本地系统”身份运行还是以本地用户(即服务帐户)身份运行。

如果,

  1. 用户是本地服务帐户,而不是系统帐户,并且
  2. 用户不在管理员组中,

那么你需要修改安全设置cmd.exe- 默认情况下,NTFS ACL 仅允许管理员和以交互方式登录的用户执行它。(参考

编辑:哦,这仅适用于 Windows 2003。在这个答案中我有三个毫无根据的假设......让我们知道什么操作系统和用户权限级别,我们应该能够缩小范围。

答案2

创建一个用户帐户,设置权限,以便任务可以以该用户的身份运行(例如文件夹访问权限),以该用户的身份运行命令提示符(runas /user:domain \user cmd),然后从那里尝试该任务。

当它工作时,将计划任务设置为以该用户身份运行。

编辑:除非你考虑到 Shane Madden 关于权限的回复,否则这不会起作用目录:\windows\system32\cmd.exe也一样。

答案3

我遇到了类似的问题,因为我的 .cmd 文件位于 C:\(根目录)。移到其他地方后,它从任务计划程序运行良好。在某些公司环境中,C:\ 根目录级别存在限制。

答案4

在您的脚本中尝试一下pause。然后您将能够读懂这个问题。

就我而言,我遇到了一个access denied错误,因为脚本开始在 中运行\windows\system32。因此,在更改为正确的文件夹 ( cd) 后,它就可以正常工作了。

相关内容