我在获取 PowerShell 脚本时遇到问题,该脚本查询基于云的 Exchange 资源中的对象以在 Orchestrator Runbook 中工作。
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 运行手册中执行时,它在“import-pssession”命令上失败(因为从未设置过 $o365)。
我已经使用 PowerShell 脚本并在实际的 Runbook 服务器上手动运行它,它在那里的工作与在我自己的桌面上的工作一样 - 只有在 Orchestrator Runbook 中运行时它才会起作用。我只有几周的 Orchestrator 经验,不知道我会这么快就遇到这样的问题 - 我正在尝试在语言设置为“Powershell”的“运行 .Net 脚本”活动中运行脚本”,我认为这是推荐的方法。我尝试将脚本保存为运行手册服务器上的文件,然后使用“运行程序”活动使用此文件运行 Powershell(在我搜索期间由某人推荐),但这也不起作用。
任何帮助,将不胜感激。谢谢。