【问题标题】:Scheduling PowerShell jobs in Control-M在 Control-M 中调度 PowerShell 作业
【发布时间】:2014-11-06 02:40:48
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

    标签: powershell-1.0 control-m


    【解决方案1】:

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

    powershell.exe -NoLogo -NonInteractive -NoProfile -ExecutionPolicy "Bypass" -File "[hidden unc path]\HelloWorld.ps1"

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

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

    【讨论】:

      【解决方案2】:

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

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

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

      powershell -File yourscript.ps1 param1 param2 
      

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

      powershell /?
      

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          【解决方案4】:

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

          试试这个。

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多