Установите состояние автоматизации Azure как сбой при ошибке Invoke-AzVMRunCommand, чтобы вызвать предупреждение

У меня эта команда выполняется в модуле автоматизации. Иногда, если виртуальная машина остановлена, команда выдает ошибку. Основываясь на этой ошибке, я хочу, чтобы статус Runbook автоматизации был «Сбой», а не завершен. Но модуль Runbook выдает статус «Завершено». Из-за этого я не могу вызвать предупреждение с помощью Azure Monitor (который проверяет значение статуса). Как установить статус Runbook на «Failed» при таких ошибках в Runbook?

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

2 ответа

Вы можете обратиться к Этому аналогичному вопросу. Ответ должен быть применим и к вашему случаю.

Ваш код неверен. Это правильный. Бросок приведет к сбою модуля Runbook. Рассматриваемый код применим при его запуске внутри виртуальной машины (не через модуль Runbook автоматизации).

      $result=Invoke-AzVMRunCommand -ResourceGroupName $VMResourceGroupName -VMName $VMname -ScriptPath ScriptToRun.ps1 -CommandId 'RunPowerShellScript'
if(!$result)
{
    throw "Error Occured"
}
else
{
    Write-Output "Succeeded"
}
Другие вопросы по тегам