求助:基于自定义标签启动Azure虚拟机的Azure CLI命令
启动带有特定标签的Azure虚拟机
你可以结合az resource list和az vm start命令,一次性启动所有带有指定标签的虚拟机,以下是两种可行的实现方法:
方法1:通过资源ID批量启动
直接提取符合标签条件的虚拟机资源ID,传递给az vm start完成批量启动:
az vm start --ids $(az resource list --tag Dept=Finance --query "[?type=='Microsoft.Compute/virtualMachines'].id" -o tsv)
--query "[?type=='Microsoft.Compute/virtualMachines'].id":过滤出类型为虚拟机的资源,并提取它们的唯一资源ID-o tsv:将查询结果以制表符分隔格式输出,确保多个ID能被az vm start正确识别并批量处理
方法2:逐个启动并输出状态日志
如果需要查看每个虚拟机的启动过程和状态,可以用循环逐个处理,同时输出日志便于排查:
az resource list --tag Dept=Finance --query "[?type=='Microsoft.Compute/virtualMachines'].{name:name, rg:resourceGroup}" -o tsv | while read vmName rgName; do echo "正在启动虚拟机: $vmName (所属资源组: $rgName)" az vm start --name $vmName --resource-group $rgName done
前置注意事项
- 执行命令前需确保已通过
az login完成Azure CLI的身份验证 - 若账号关联多个Azure订阅,需先通过
az account set --subscription <订阅ID/名称>切换到目标订阅
内容的提问来源于stack exchange,提问作者G.A
相关产品推荐
相关产品推荐

