Установите состояние автоматизации 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"
}