Назад | Перейти на главную страницу

Экспорт всех подсетей Azure во всех подписках

Я пытался получить CSV всех виртуальных сетей / подсетей во всех моих подписках.

Есть лучший способ сделать это? Мой первый раз с HashTables

Заранее спасибо!

$now = Get-Date -UFormat "%Y-%m-%d_%H-%M-%S"
$filepath = 'C:\temp\Azure_vnet_export_' + $now + '.csv'

$subs = Get-AzSubscription
foreach ($sub in $subs) {
  Select-AzSubscription -Subscription $sub.Name
  $VNETs = Get-AzVirtualNetwork
  foreach ($VNET in $VNETs) {
    $subnets = Get-AzVirtualNetworkSubnetConfig -VirtualNetwork $vnet
    foreach ($subnet in $Subnets) {
        $data = @{
          'SubscriptionName'      = $Sub.Name; 
          'VnetName'              = $VNET.Name; 
          'VnetAddressPrefixes'   = (($VNET).AddressSpace.AddressPrefixes -join ' '); 
          'VnetLocation'          = $Vnet.location; 
          'SubnetName'            = $subnet.name; 
          'SubnetAddressPrefixes' = ($subnet.AddressPrefix -join ' ') 
        }
      $obj = New-Object -Type PSObject -Prop $data
      $obj | Export-Csv  -Path $filepath -NoTypeInformation -append
    }
  }
}