Windows 2012无法运行powershell脚本

时间:2016-04-29 12:38:21

标签: powershell windows2012 taskscheduler

尝试让脚本在任务调度程序下运行。我可以从PowerShell窗口运行以下命令,没有问题

powershell.exe -ExecutionPolicy Unrestricted -NonInteractive -NoProfile -File C:\DataProcessing\Scripts\MoveDailyOpra.ps1.

我在任务计划程序下创建了任务,并将其指定为每天运行一次。但是,我没有看到任何证据表明任务正在运行。 ps1文件创建了一个日志文件,所以我可以看到发生了什么,但是甚至没有创建日志文件。

任务说它已成功运行。

1)如何调试Task Scheduler实际执行的操作 2)我必须在任务中添加哪些其他属性。

1 个答案:

答案 0 :(得分:0)

将以下内容粘贴到Task Scheduler中的新操作中的“程序/脚本”字段中。应该出现一个关于参数的弹出窗口,单击“是”。

PowerShell.exe "& 'C:\DataProcessing\Scripts\MoveDailyOpra.ps1'" -ExecutionPolicy Unrestricted -NonInteractive -NoProfile 

这是将命令字符串传递给Powershell.exe,然后Powershell.exe会删除该字符串,而该字符串又会使用&运算符调用您的脚本;称为呼叫运营商。所以调用链是Task scheduler>> PowerShell.exe>>你的script.ps1。

& Call operator -          运行命令,脚本或脚本块。呼叫运营商,也称为          “调用操作符”允许您运行存储在其中的命令          变量并由字符串表示。因为呼叫运营商没有          解析命令,它无法解释命令参数。

如果仍然失败,请检查脚本路径是否正确,以及运行该任务的帐户是否具有访问脚本的正确权限。