я пытаюсь добавить обработку исключений в сценарий powershell для azure cloud, но блок try не отвечает при возникновении ошибки

#azure #powershell #azure-powershell

#azure #powershell #azure-powershell

Вопрос:

 #adding wrong parameters for checking the try block
$RGName = "RG1"
$VMName="VM1"
$VMSize="standard_B1ls"

$VirtualMachine = Get-AzVm | Where-Object {$_.ResourceGroupName -eq $RGName } | Where-Object {$_.Name -eq $VMName}
$virtualMachine.HardwareProfile.VmSize = $VMSize 
#try block       
    try{
        Update-AzVM -VM $VirtualMachine -ResourceGroupName $RGname
        write-host "you are in try block "
    }
    catch{
        write-host "you are in catch block "
    }
 

блок catch не работает, мне нужно не печатать try block write-host — произошло исключение вместо print catch write-host

Комментарии:

1. Попробуйте использовать параметр -ErrorVariable в Update-AzVM, а также установите для параметра -ErrorAction значение «SilentlyContinue». А затем в блоке catch выведите переменную error. Возможно, это вам что-то даст.

2. Код работает для меня, я добираюсь до блока catch. Возможно, попробуйте изменить Update-AzVM -VM $VirtualMachine -ResourceGroupName $RGname Update-AzVM -VM $VirtualMachine -ResourceGroupName $RGname -ErrorAction Stop на, если для вашей переменной $ErrorActionVariable по какой-то причине установлено значение Continue .