Следуя ТАК ответ, я получил решение, которым пользуюсь уже некоторое время. Но теперь по какой-то причине, если я выполняю следующий код, переменная ошибки не действует :(
Я протестировал следующий код без имени группы ресурсов, которое дает мне вывод всех хранилищ службы восстановления в моей подписке, и с параметром имя_группы_ресурсов, которое вообще не дает мне вывода.
Почему этот код, который кажется очевидным, не работает в этой ситуации? Может ли кто-нибудь увидеть, что мне не хватает, не вижу здесь?
Get-AzRecoveryServicesVault -ResourceGroupName xxxxxxxxxx -ErrorVariable notPresent -ErrorAction SilentlyContinue
if ($notpresent){
Write-Host -ForegroundColor "There is no backup vault available"
}
else
{
write-host -ForegroundColor Yellow "there is more than one backup vault available"
}


Эта команда Get-AzRecoveryServicesVault -ResourceGroupName xxxxxxxxxx ничего не вернет вместо сообщения об ошибке, когда нет результата, поэтому ваш скрипт не будет работать.
Итак, ваш сценарий может быть таким, как показано ниже.
$vault = Get-AzRecoveryServicesVault -ResourceGroupName <ResourceGroupName>
if ($vault){
Write-Host "there is more than one backup vault available"
}
else
{
Write-Host "There is no backup vault available"
}
ахаа, я вижу, я думал, что if ($notPresent) сработает, если есть переменная ошибки или она пуста. Ваше решение работает как шарм, спасибо !!!