微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Invoke-AzVMRunCommand 错误时将 Azure 自动化状态设置为失败以触发警报

如何解决在 Invoke-AzVMRunCommand 错误时将 Azure 自动化状态设置为失败以触发警报

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

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

解决方法

您可以参考THIS类似的问题。答案也应该适用于您的情况。

,

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

$result=Invoke-AzVMRunCommand -ResourceGroupName $VMResourceGroupName -VMName $VMname -ScriptPath ScriptToRun.ps1 -CommandId 'RunPowerShellScript'
if(!$result)
{
    throw "Error Occured"
}
else
{
    Write-Output "Succeeded"
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。