我有一个简单的批处理文件,它调用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”
如果我手动在批处理文件中运行该命令,它运行就好了。以下是我试图让它发挥作用的事情:
我的智慧结束了,无法相信微软还没有想出办法让这更容易。
答案 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能够运行它。