0

我在自动化运行手册中运行了这个命令。有时,如果 VM 停止,该命令会出错。基于此错误,我希望自动化运行手册的状态为“失败”而不是已完成。但是运行手册给出了“已完成”状态。因此,我无法使用 Azure Monitor(检查状态值)触发警报。如何在运行手册中出现此类错误时将运行手册状态设置为“失败”?

   $result=Invoke-AzVMRunCommand -ResourceGroupName $VMResourceGroupName -VMName $VMname -ScriptPath ScriptToRun.ps1 -CommandId 'RunPowerShellScript'
    if ($result.value.Message -like '*error*') 
    {
        throw $result.value.Message
    }
4

2 回答 2

0

你的代码是错误的。这是正确的。throw 将使 Runbook 失败。有问题的代码在 VM 中运行时适用(而不是通过自动化运行手册)

$result=Invoke-AzVMRunCommand -ResourceGroupName $VMResourceGroupName -VMName $VMname -ScriptPath ScriptToRun.ps1 -CommandId 'RunPowerShellScript'
if(!$result)
{
    throw "Error Occured"
}
else
{
    Write-Output "Succeeded"
}
于 2021-07-06T06:55:41.367 回答
0

你可以参考这个类似的问题。答案也应该适合您的情况。

于 2021-07-06T03:04:25.667 回答