如何在Azure中列出虚拟机(VM)的所有标签?含KQL查询需求
使用KQL查询Azure虚拟机的关联标签
完全可以用KQL实现,推荐用Azure Resource Graph的KQL查询,它专门针对Azure资源进行高效检索,适合大量虚拟机的场景,比逐个调用az cli快很多。
查询所有虚拟机的标签
Resources | where type == 'microsoft.compute/virtualmachines' | project name, resourceGroup, tags
Resources是Resource Graph的核心表,包含所有Azure资源数据where type过滤出虚拟机类型的资源project指定要返回的字段:VM名称、所属资源组、关联的标签集合
查询指定虚拟机的标签
如果要定位单个VM,添加名称或资源组的过滤条件即可:
Resources | where type == 'microsoft.compute/virtualmachines' | where name == "你的VM名称" and resourceGroup == "你的资源组名称" | project name, resourceGroup, tags
如果只知道VM名称,也可以去掉resourceGroup的条件(注意重名情况)。
把标签展开为单独列(可选)
如果想让每个标签键以单独列的形式展示,方便查看和分析,可以用bag_unpack函数:
Resources | where type == 'microsoft.compute/virtualmachines' | project name, resourceGroup, tags | evaluate bag_unpack(tags)
执行后,每个标签键会自动成为一列,对应的值填充到行中。
执行方式
- 直接在Azure门户的Azure Resource Graph Explorer中运行上述查询
- 也可以结合az cli批量导出结果:
az graph query -q "Resources | where type == 'microsoft.compute/virtualmachines' | project name, resourceGroup, tags" --output table
内容的提问来源于stack exchange,提问作者souser
相关产品推荐
相关产品推荐

