Windows任务计划程序无法启动批处理文件任务。

52

我有一个批处理文件,其中包含以下代码,用于停止和启动SQL报表服务:

net stop "SQL Server Reporting Services (MSSQLSERVER)" 

timeout /t 10

net start "SQL Server Reporting Services (MSSQLSERVER)"

我已经设置了每天运行的计划任务,它当前使用最高权限SYSTEM运行。我在操作中设置了“开始于文件夹”选项,一切似乎都正确地设置了。但是当我运行任务时,好像什么都没有发生,它说任务已经运行过了,但是我不能看到服务已经重新启动了,这是它应该做的。
有人可以指导我缺少什么吗?

1
如果使用用户凭据而不是系统凭据,它是否有效?这将是一个很好的测试,以查看它是否作为计划任务运行。也许可以注释掉 net start 行,并验证服务是否已经停止 - 以查看权限是否存在问题。 - foxidrive
我已将其编辑为只包含停止命令行,尝试使用我的凭据和另一个用户的凭据,但未能停止该服务。我可以单独运行批处理文件,而不是与任务一起运行,它可以正常工作。 - jimminybob
也许它没有被正确地启动,或者仍然存在权限问题 - 或者批处理文件中还有我们尚未看到的内容。 - foxidrive
批处理文件仅包含我上面复制的位。我在其他地方读到,如果批处理文件包含引号,则无法从任务中运行。这是真的吗?如果是这样,我该如何解决? - jimminybob
你可能误解了引用注释,或者它是错误的。在命令行中,您需要对包含空格和其他特殊字符的术语使用双引号,但它们将正常工作。在任务计划程序中,您可能需要像这样启动批处理文件:cmd /c "c:\myfolder\mybatch.bat" - foxidrive
21个回答

0
WIN 10:整个该死的东西不工作的主要原因是选项“即使用户未登录也执行”。在尝试了这么多解决方案之后,它是主要的罪魁祸首...
一旦将其设置为“仅在用户登录时执行”,批处理就能正常工作...没有特别的麻烦。只需自动搜索文件,然后嗖地一声,它就能工作了。不像上面提到的那样需要特殊的命令。只需输入“C:\yourbat.bat”就行了。
当然,我没有找到在未登录时启动批处理的解决方案 : /

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接