Azure vnet/子网列表连接的设备
Azure vnet / subnet list connected devices
我正在尝试编写一个 PowerShell 脚本,列出所有订阅中所有 VNet 的子网中具有 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,其余属性(如名称、privateip 等)为空。
根据我的研究,如果我们想获得子网IpConfigurations的详细信息,我们需要用powershell命令Get-AzVirtualNetwork
指定参数ExpandResource
。
例如
$result=Get-AzVirtualNetwork -Name '<vnet name>' -ResourceGroupName '<group nmae>' -ExpandResource 'subnets/ipConfigurations'
$result.Subnets[0].IpConfigurations
我正在尝试编写一个 PowerShell 脚本,列出所有订阅中所有 VNet 的子网中具有 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,其余属性(如名称、privateip 等)为空。
根据我的研究,如果我们想获得子网IpConfigurations的详细信息,我们需要用powershell命令Get-AzVirtualNetwork
指定参数ExpandResource
。
例如
$result=Get-AzVirtualNetwork -Name '<vnet name>' -ResourceGroupName '<group nmae>' -ExpandResource 'subnets/ipConfigurations'
$result.Subnets[0].IpConfigurations