Как запрашивать виртуальные машины в Azure PowerState, используя теги

У меня есть сценарий, который освобождает все виртуальные машины в подписке на основе назначенных тегов в нерабочее время и запускает их резервное копирование на следующий день с помощью Jenkins. Я хочу иметь возможность запрашивать эти виртуальные машины в зависимости от состояния (работает / остановлен (освобожден) и выводить его в файл.

Команда запуска - az vm start --ids $(az resource list --tag Restart=${TAG_RESTART} --query "[?type=='Microsoft.Compute/virtualMachines'].id" -o table)

Команда запроса -az resource list --tag Restart=yes --query "[].{Name:name,Group:resourceGroup,Location:location}" -o table

Эта команда возвращает выходные данные (имя, RG и местоположение). Я хочу, чтобы он также показывал PowerState и, возможно, тип ОС после завершения сценария перезапуска. Если также возможно экспортировать выходные данные в электронную таблицу.

1 ответ

Решение

Вы могли бы использовать az vm show -d --ids чтобы получить состояние PowerShell.

Извините, у меня нет Mac VM. На Linux VM я использую следующую команду, чтобы получить его.

az vm show  -d --ids $(az resource list --tag Restart=shui --query "[?type=='Microsoft.Compute/virtualMachines'].id"|jq -r ".[]") --query 'powerState'

На Mac, возможно, вы могли бы использовать следующую команду.

az vm show -d --ids $(az resource list --tag Restart=${TAG_RESTART} --query "[?type=='Microsoft.Compute/virtualMachines'].id" -o table) --query 'powerState'

Вы можете получить помощь, используя az vm show -h

--show-details -d  : Show public ip address, FQDN, and power states. command will run slow.
Другие вопросы по тегам