You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Azure CLI或Shell脚本排除指定VM后启动其余虚拟机

排除指定虚拟机批量启动Azure VM的实现方法

你原来的批量启动命令核心是通过az vm list拉取所有VM的资源ID传给启动命令,只需要在拉取VM列表的环节加过滤规则排除指定机器即可,有两种常用实现方式:

方法1:直接修改JMESPath查询(推荐,无额外依赖)

直接在az vm list的查询参数里加过滤条件,不需要额外管道处理,执行效率最高。你只需要把命令里的两个VM名称替换成你实际要排除的虚拟机名即可:

# 请将vm-to-exclude-1、vm-to-exclude-2替换为你需要排除的2台虚拟机的实际名称
az vm start --ids $(az vm list --query "[?name!='vm-to-exclude-1' && name!='vm-to-exclude-2'].id" -o tsv)

方法2:Shell管道过滤(适合排除多台VM的场景)

如果后续需要排除的VM数量可能增加,可以把排除名单单独定义为变量,维护更方便:

# 用|分隔所有需要排除的VM名称
EXCLUDE_VMS="vm-name-1|vm-name-2"
az vm start --ids $(az vm list -o tsv --query "[].[id, name]" | grep -v -E "$EXCLUDE_VMS" | awk '{print $1}')

操作提示:正式执行启动命令前,可以先单独运行$()内的列表查询语句,打印出返回的VM ID/名称列表,确认过滤结果符合预期后,再执行完整启动命令,避免误操作。

内容的提问来源于stack exchange,提问作者Priya Palanisamy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 13:18:32