如何使用标记在Azure powerstate中查询VM

时间:2018-03-30 12:57:40

标签: azure virtual-machine azure-cli

我有一个脚本根据分配的标签释放订阅中的所有虚拟机 - 关闭时间并使用Jenkins在第二天启动它们。我希望能够根据状态(运行/停止(取消分配))查询这些VM并将其输出到文件。

启动命令 - 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和OS类型。如果还可以将输出导出到电子表格。

1 个答案:

答案 0 :(得分:0)

您可以使用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.