我正在使用Control-M来解决这个问题。
我创建了一个简单的PowerShell作业,并在Control-M中使用Task Type as命令对其进行了调度。执行后,作业状态变为绿色,但它没有做任何预期的事情。但是,双击或使用PowerShell运行时,作业执行正常。
对于实验,我创建了简单的批处理脚本(.bat)来写入文件并在Control-M中安排它。它不能在Control-M中运行(即使在变为绿色之后)。
我直接在Control-M的命令框中给批处理文件中的命令,它运行正常。
我尝试使用作业类型“作业”,但它有同样的问题。
请有人帮忙。此外,Control-M中的PowerShell作业是否有任何特殊设置?
答案 0 :(得分:4)
布鲁诺布兰特是对的。您必须使用Powershell程序执行脚本。
powershell.exe -NoLogo -NonInteractive -NoProfile -ExecutionPolicy" Bypass" -File" [hidden unc path] \ HelloWorld.ps1"
将代理放置在指定的服务器上。让Control-M从您放置代理的服务器上运行脚本。 "旁路"仅用于测试连接并且测试脚本运行。在呼叫成功后将其删除并再次测试。在主机上(使用Control-M代理)将执行策略更改为“远程签名”。再次测试。如果您的脚本位于另一台计算机上,则可以使用隐藏的unc路径。如果在同一台计算机上,请使用本地驱动器替换路径。
给我发电子邮件,我可以提供更多信息。如果我有更多时间,我会发布更多关于什么对我有用的信息以及没有用的信息。
答案 1 :(得分:1)
您无法直接调用Powershell脚本,就好像可执行文件所在的位置一样。
CONTROL-M可能通过cmd(“DOS”)调用你的程序,它不能将PS1文件识别为可执行文件(也许你可以调整它,但默认情况下,这不会发生)。在Windows中,实际上您可能有一个调用Powershell并将脚本传递给它的配置(文件关联)。
在任何情况下,您需要做的是从CONTROL-M调用Powershell并将您的脚本作为参数传递:
powershell -File yourscript.ps1 param1 param2
有关此语法的详细信息,请打开cmd并键入
powershell /?
答案 2 :(得分:0)
我遇到了类似的情况。没有运气就尝试了各种各样的powershell命令。最后 - 我登录CCM,转到我正在运行powershell命令的代理属性,并检查"登录用户"选项。转过来纠正了我的问题,即工作提交和执行但似乎没有做任何事情。试一试!
答案 3 :(得分:-1)
您是否在远程服务器上运行powershell脚本?以及如何将命令行放在控制工作中。
试试这个。
PowerShell FullPathtoFile.ps1参数2>& 1 |更