尽管报告任务已完成,但任务计划程序无法运行批处理文件

时间:2014-08-21 21:00:40

标签: windows powershell batch-file cmd

我有一个简单的批处理文件,它调用PowerShell脚本。

我已经看过以下关于这个主题的3个问题:

Run a batch file from Task Scheduler is not working with a java command

Windows Task Scheduler doesn't start batch file task

Task Scheduler not executing batch (bat) file with MSTest commands

似乎我已经尝试了运行任务的每一个组合,但它仍然没有执行我的powershell脚本。

批处理文件内容: powershell.exe“E:\ SIS \ fileCopy.ps1”

如果我手动在批处理文件中运行该命令,它运行就好了。以下是我试图让它发挥作用的事情:

  • 我已将安全选项更改为以“运行最高权限”选中的系统运行
  • 我尝试了“只在用户登录时运行”,“运行用户是否登录”和“以最高权限运行”的所有其他组合
  • 我尝试将“启动(可选”设置)添加到文件所在的文件夹中。

我的智慧结束了,无法相信微软还没有想出办法让这更容易。

3 个答案:

答案 0 :(得分:1)

您需要让任务计划程序执行Powershell.exe并将参数作为.ps1文件的路径。

要验证脚本是否正常运行,您应将安全选项设置为“仅在用户登录时运行”。然后它会在运行时弹出powershell对话框。我经常也使用start-transcript来查看计划的poweshell脚本的结果。

验证脚本运行正常后,您可以设置最适合您情况的安全选项。

答案 1 :(得分:0)

使用执行策略标志将该实例标记为不受限制,因为您的powershell设置可能会阻止脚本执行。     powershell -executionpolicy unrestricted -Command" E:\ SIS \ fileCopy.ps1"

答案 2 :(得分:0)

我发现Task Scheduler如果位于OneDrive正在同步的文件夹中,则无法运行批处理文件。我必须将批处理文件移到另一个文件夹中,才能使Task Scheduler能够运行它。