4

我在使用 Control-M 时遇到了这个问题。

我创建了一个简单的 PowerShell 作业,并在 Control-M 中使用任务类型作为命令对其进行了调度。执行后,作业状态变为绿色,但它没有做任何预期做的事情。但是,当双击或使用 PowerShell 运行时,作业执行良好。

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

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

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

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

4

4 回答 4

4

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

powershell.exe -NoLogo -NonInteractive -NoProfile -ExecutionPolicy "绕过" -File "[隐藏的 unc 路径]\HelloWorld.ps1"

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

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

于 2015-09-04T17:57:47.880 回答
1

您不能像 where 可执行文件一样直接调用 Powershell 脚本。

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

无论如何,您需要做的是从 CONTROL-M 调用 Powershell 并将您的脚本作为参数传递:

powershell -File yourscript.ps1 param1 param2 

有关此语法的更多信息,请打开 cmd 并键入

powershell /?
于 2015-01-08T13:58:18.157 回答
0

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

于 2016-10-06T18:27:44.650 回答
-1

您是否在远程服务器中运行 powershell 脚本?以及如何将命令行置于 control m 作业中。

尝试这个。

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

于 2014-11-21T04:01:57.043 回答