Azure vnet /子网列表连接的设备

问题描述 投票:2回答:1

我正在尝试编写一个PowerShell脚本,该脚本列出所有订阅中所有VNet的子网中所有ip的IP地址。

[UPDATE以下脚本有效,向下滚动可查看原始问题。

$subs = Get-AzSubscription 
foreach ($Sub in $Subs) {
    Write-Host "***************************"
    Write-Host " "
    $Sub.Name 

    $SelectSub = Select-AzSubscription -SubscriptionName $Sub.Name

    $VNETs = Get-AzVirtualNetwork 
    foreach ($VNET in $VNETs) {
        Write-Host "--------------------------"
        Write-Host " "
        Write-Host "   vNet: " $VNET.Name 
        Write-Host "   AddressPrefixes: " ($VNET).AddressSpace.AddressPrefixes

        $vNetExpanded = Get-AzVirtualNetwork -Name $VNET.Name -ResourceGroupName $VNET.ResourceGroupName -ExpandResource 'subnets/ipConfigurations' 

        foreach($subnet in $vNetExpanded.Subnets)
        {
            Write-Host "       Subnet: " $subnet.Name
            Write-Host "          Connected devices " $subnet.IpConfigurations.Count
            foreach($ipConfig in $subnet.IpConfigurations)
            {
                Write-Host "            " $ipConfig.PrivateIpAddress
            }
        }

        Write-Host " " 
    } 
}

我的原始问题:

但是问题是我无法获取$ subnet.IpConfigurations属性。我的意思是我确实得到了一个列表,但是子项仅包含一个ID,其余属性(如name,privateip等)为null。

azure azure-powershell azure-virtual-network
1个回答
1
投票

根据我的研究,如果要获取有关子网IpConfigurations的详细信息,我们需要使用powershell命令ExpandResource指定参数Get-AzVirtualNetwork。例如

$result=Get-AzVirtualNetwork -Name '<vnet name>'  -ResourceGroupName '<group nmae>' -ExpandResource 'subnets/ipConfigurations' 

$result.Subnets[0].IpConfigurations

enter image description here


0
投票

根据我的研究,如果要获取有关子网IpConfigurations的详细信息,我们需要使用powershell命令ExpandResource指定参数Get-AzVirtualNetwork。例如

$result=Get-AzVirtualNetwork -Name '<vnet name>'  -ResourceGroupName '<group nmae>' -ExpandResource 'subnets/ipConfigurations' 

$result.Subnets[0].IpConfigurations

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.