Azure PowerShell:如何筛选IpConfigurations/Subnet的Name与Id?
筛选虚拟网络网关的子网相关信息
你可以通过PowerShell的属性选择和计算属性提取所需信息。需要注意的是,默认输出中IpConfigurations下的Subnet字段仅包含Id;如果需要子网名称,既可以从Id字符串中解析,也可以通过子网资源ID获取完整的子网对象。
方法一:直接从现有输出解析
使用Select-Object结合计算属性,提取IP配置名称、子网ID,并从子网ID中解析出子网名称:
Get-AzVirtualNetworkGateway -ResourceGroupName rg-vwan -Name as-vnet-gateway-rb-s2s | Select-Object -ExpandProperty IpConfigurations | Select-Object Name, @{Name='SubnetId'; Expression={$_.Subnet.Id}}, @{Name='SubnetName'; Expression={($_.Subnet.Id -split '/')[-1]}}
执行后输出示例:
Name SubnetId SubnetName ---- -------- ---------- default /subscriptions/xxx/resourceGroups/rg-vwan/.../subnets/GatewaySubnet GatewaySubnet
方法二:获取完整子网对象
如果需要子网的更多属性,可通过子网资源ID调用Get-AzVirtualNetworkSubnetConfig获取完整信息:
$gateway = Get-AzVirtualNetworkGateway -ResourceGroupName rg-vwan -Name as-vnet-gateway-rb-s2s foreach ($ipConfig in $gateway.IpConfigurations) { $subnet = Get-AzVirtualNetworkSubnetConfig -ResourceId $ipConfig.Subnet.Id [PSCustomObject]@{ Ip配置名称 = $ipConfig.Name 子网ID = $subnet.Id 子网名称 = $subnet.Name } }
内容的提问来源于stack exchange,提问作者A A
相关产品推荐
相关产品推荐

