我需要从另一个 Runbook 调用一个 Runbook,并在 azure automation 中获取一个自定义对象作为输出。如果被调用的 runbook 返回 int 或 string 但无法返回自定义对象,则工作正常。被调用的 runbook 的简单示例是
workflow CalledRunbook
{
[OutputType([Object])]
$obj1=@{"key1"="value1"}
$obj1
}
现在这个运行手册是从 CallingRunbook 调用的,我需要打印这个 obj1
workflow CallingRunbook
{
#After doing proper authentication
$job = Start-AzureAutomationRunbook -Name "CalledRunbook" -AutomationAccountName $AutomationAccountName
$doLoop = $true
while($doLoop) {
Start-Sleep -s 5
$job = Get-AzureAutomationJob -Id $job.Id -AutomationAccountName $AutomationAccountName
$doLoop = (($job.Status -notmatch "Completed") -and ($job.Status -notmatch "Failed") -and ($job.Status -notmatch "Suspended") -and ($job.Status -notmatch "Stopped"))
}
$jobout = Get-AzureAutomationJobOutput `
-Id $job.Id `
-AutomationAccountName $AutomationAccountName `
-Stream Output
if ($jobout) {
Write-Output $jobout
}
}
输出为空。如果我返回一个字符串,那工作得很好。如何使其与自定义对象一起使用?