2014-11-06 124 views
1

我正面临着Control-M的这个问题。在Control-M中调度PowerShell作业

我已经创建了一个简单的PowerShell作业,并在Control-M中使用任务类型作为命令调用它。执行后,作业状态变为绿色,但它不会执行任何操作。但是,双击或使用PowerShell运行时,作业执行得很好。

对于实验,我创建了简单的批处理脚本(.bat)来写入文件并将其安排在Control-M中。它不会在Control-M中运行(即使变绿后)。

我在批处理文件中直接在Control-M的命令框中输入了命令,它运行良好。

我尝试使用作业类型“作业”,但它有同样的问题。

请别人帮忙。另外,Control-M中是否有特殊的PowerShell作业设置?

回答

-1

您是否在远程服务器上运行powershell脚本?以及如何将命令行放在控制工作中。

试试这个。

PowerShell FullPathtoFile.ps1参数2> & 1 |更多

0

您不能直接调用Powershell脚本,就像在哪里执行可执行文件一样。

CONTROL-M可能会通过cmd(“DOS”)调用程序,它不会将PS1文件识别为可执行文件(也许可以调整它,但默认情况下不会发生这种情况)。在Windows内部,确实可能有一个配置(文件关联),它调用Powershell并将脚本传递给它。

在任何情况下,你需要做的是从CONTROL-M呼叫PowerShell和传递您的脚本作为参数:

powershell -File yourscript.ps1 param1 param2 

有关此语法的更多信息,打开CMD,然后键入

powershell /? 
2

布鲁诺布兰特是正确的。您必须使用Powershell程序执行脚本。

powershell.exe -nologo -nonInteractive -NoProfile -ExecutionPolicy “旁路” -File “[隐藏UNC路径] \ HelloWorld.ps1”

放置一个指定的服务器上的代理。让Control-M从放置代理的服务器运行脚本。 “旁路”仅用于测试连接并测试脚本运行。将其删除一个通话成功并再次测试。在主机上(使用Control-M代理)将执行策略更改为“远程签名”。再次测试。如果您的脚本位于另一台计算机上,则可以使用隐藏的unc路径。如果在同一台机器上,请用本地驱动器替换路径。

给我发电子邮件,我可以提供更多信息。如果我有更多的时间,我会发布更多关于什么对我有用的信息,哪些没有。

0

我发生过类似的情况。没有运气尝试了所有不同方式的powershell命令。最后 - 我登录到CCM,去了我运行powershell命令的代理属性,并检查了“以用户身份登录”选项。这个问题纠正了我的问题,即工作会提交并执行,但似乎没有做任何事情。试试这个吧!