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

如何在Azure Resource Graph Explorer中查询各虚拟网络的已连接设备数

解决Azure Resource Graph统计所有子网已连接设备数量的问题

你可以通过以下修改后的查询语句实现需求,解决原查询仅取前两个子网、空设备场景报错的问题:

resources
| where type =~ 'microsoft.network/virtualnetworks'
| extend cidr = properties.addressSpace.addressPrefixes
| extend no_cidr = array_length(cidr)
| extend subnets = properties.subnets
| extend no_subnets = array_length(subnets)
// 展开所有子网,将数组转为逐行数据
| mv-expand subnet = subnets
// 计算单个子网的设备数,自动处理无设备的空值场景
| extend subnet_device_count = array_length(coalesce(subnet.properties.ipConfigurations, dynamic([])))
// 按虚拟网络维度汇总所有子网的设备总数
| summarize total_devices = sum(subnet_device_count) by id, name, cidr, no_cidr, no_subnets
// 调整列顺序,让结果更易读
| project name, total_devices, no_subnets, cidr, no_cidr, id

关键改动说明

  • 遍历所有子网:用mv-expand subnet = subnets替代手动指定subnets[0]/subnets[1],自动展开VNet下的所有子网,不管子网数量多少。
  • 处理空设备场景:用coalesce(subnet.properties.ipConfigurations, dynamic([]))将不存在/为空的ipConfigurations转为空数组,避免array_length计算时报错,空子网的设备数会被统计为0。
  • 按VNet汇总总数:通过summarize按虚拟网络的唯一标识分组,将所有子网的设备数累加,得到每个VNet的总已连接设备数。

如果需要查看每个子网的单独设备数(而非VNet总数),可以去掉最后的summarize和project步骤,直接保留展开后的行数据即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 08:41:00