使用Powershell访问对象值

时间:2019-01-13 15:44:34

标签: azure powershell

如何从下面的输出(Azure虚拟网络信息)访问“ AddressPrefixes”值?

我尝试了另一种有效的方法-向下-不知道如何格式化输出(例如,删除[,“,])-我只希望值10.0.0.0/16

$vnet = Get-AzVirtualNetwork
write-host $vnet.AddressSpaceText
{
  "AddressPrefixes": [
    "10.0.0.0/16"
  ]
}

//工作:

write-host $vnet.AddressSpace.AddressPrefixesText
[
  "10.0.0.0/16"
]

2 个答案:

答案 0 :(得分:0)

使用AddressSpace属性。 AddressSpace 文本返回JSON

Redux

因为AddressPrefixesText返回JSON。因此,您也可以这样做:

$vnet = Get-AzVirtualNetwork
write-host $vnet.AddressSpace.AddressPrefixes

但是你当然不应该:-)

答案 1 :(得分:0)

您可以只使用PowerShell脚本:

$vnet = Get-AzVirtualNetwork
$vnet.AddressSpace.AddressPrefixes

结果截图在这里:

enter image description here

如果没有更多参数,将使用PowerShell命令Get-AzVirtualNetwork获取订阅中的所有Vnet。因此,如果您只想获取特定的Vnet,则可以使用Vnet名称-Name和资源组名称-ResourceGroupName的参数。希望对您有帮助。