【问题标题】:Orchestrator won't run PowerShell Cloud Exchange taskOrchestrator 不会运行 PowerShell Cloud Exchange 任务
【发布时间】:2013-11-21 16:36:01
【问题描述】:

我在获取用于查询基于云的 Exchange 资源中的对象以在 Orchestrator Runbook 中工作的 PowerShell 脚本时遇到问题。

PowerShell 脚本(在我的台式计算机的命令行中正常工作,并且在 ISE 中单步执行时)设置到云端的远程管理会话,如下所示:

try 
{
$user = "username@domain.com"
$pword = convert-toSecureString -string "password" -asplaintext -force
$creds = new-object -typename system.management.automation.pscredential -argumentlist $user, $pword
$o365 = new-pssession -configurationname Microsoft.Exchange -connectionuri https://ps.outlook.com -credential $creds -authentication basic - allowredirection
import-pssession $o365 -allowclobber -prefix o365
get-o365Mailbox 'Doe, John'
} 
catch
{
throw $_.exception
}

正如我所提到的,当我在桌面上的编辑器中单步执行它时,它运行良好,但在 Orchestrator Runbook 中执行时,它在“import-pssession”命令上失败(因为从未设置过 $o365)。

我已经使用 PowerShell 脚本并在实际的 Runbook 服务器上手动运行它,它在那里的工作方式与在我自己的桌面上一样好 - 只有在 Orchestrator Runbook 中运行时它才会运行。我只有几周的 Orchestrator 经验,不知道我会这么快就遇到这样的问题——我正在尝试在“运行 .Net 脚本”活动中运行脚本,语言设置为“Powershell” ”,我认为这是推荐的方法。我尝试将脚本另存为 Runbook 服务器上的文件,然后使用“运行程序”活动使用此文件运行 Powershell(在我的搜索过程中由某人推荐),但这也不起作用。

任何帮助将不胜感激。谢谢。

【问题讨论】:

    标签: powershell cloud exchange-server sccm remote-management


    【解决方案1】:

    运行脚本的 Orchestrator 服务帐户是否是 Exchange RBAC 角色组的成员?否则,将不允许连接到这些 Exchange 管理会话。

    【讨论】:

    • 我不确定这是否相关——安全上下文似乎是由“new-pssession”命令中指定的凭据设置的。从任何地方(Runbook 服务器或 Internet 上的任何其他计算机)从 PowerShell 命令行运行脚本时,这些凭据似乎令人满意
    【解决方案2】:

    这个问题原来与客户端的防火墙和代理设置有关,他们设置为供 Orchestrator 使用的服务帐户。根据政策,他们(客户)不会授予服务帐户 Internet 访问权限。

    出现了几个不同的解决方案:一个是从 CodePlex 安装 PowerShell 集成包并使用它 - CodePlex PowerShell 活动允许我显式设置活动的安全上下文,这让我可以通过以下方式解决他们的防火墙问题在可以访问 Internet 的帐户下运行活动。

    第二种解决方案是安装 Exchange Admin 集成包并配置与云主机的连接。使用“运行 Exchange PowerShell 命令”活动而不是更通用的“运行 .NET 脚本”活动也可以让代码按预期工作。

    【讨论】:

      【解决方案3】:

      Orchestrator 仍然是 x86,脚本中的命令只能在 x64 中运行。 在您的 x86 ISE 中对此进行测试,并看到同样的故障。 我的解决方法是使用系统活动列表中的“运行程序”活动调用脚本。:

      程序执行 计算机 = 我总是从初始化活动开始,然后在这里订阅计算机 程序路径:C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe 参数:脚本 .ps1 的完整路径 工作文件夹:c:\temp

      【讨论】:

        猜你喜欢
        • 2010-09-25
        • 2021-12-01
        • 2016-03-11
        • 1970-01-01
        • 1970-01-01
        • 2018-10-12
        • 1970-01-01
        • 1970-01-01
        • 2020-07-13
        相关资源
        最近更新 更多