尝试让脚本在任务调度程序下运行。我可以从PowerShell窗口运行以下命令,没有问题
powershell.exe -ExecutionPolicy Unrestricted -NonInteractive -NoProfile -File C:\DataProcessing\Scripts\MoveDailyOpra.ps1.
我在任务计划程序下创建了任务,并将其指定为每天运行一次。但是,我没有看到任何证据表明任务正在运行。 ps1文件创建了一个日志文件,所以我可以看到发生了什么,但是甚至没有创建日志文件。
任务说它已成功运行。
1)如何调试Task Scheduler实际执行的操作 2)我必须在任务中添加哪些其他属性。
答案 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 - 运行命令,脚本或脚本块。呼叫运营商,也称为 “调用操作符”允许您运行存储在其中的命令 变量并由字符串表示。因为呼叫运营商没有 解析命令,它无法解释命令参数。
如果仍然失败,请检查脚本路径是否正确,以及运行该任务的帐户是否具有访问脚本的正确权限。