Private/Get-AzureNetworkData.ps1
|
function Get-AzureNetworkData { [CmdletBinding()] param( [string]$ResourceGroup ) Assert-CommandAvailable ` -CommandName 'Get-AzVirtualNetwork' ` -InstallHint "Install the Az.Network module with: Install-Module Az.Network -Scope CurrentUser" $vnets = if ([string]::IsNullOrWhiteSpace($ResourceGroup)) { Get-AzVirtualNetwork -ErrorAction Stop } else { Get-AzVirtualNetwork -ResourceGroupName $ResourceGroup -ErrorAction Stop } foreach ($vnet in $vnets) { $addressPrefix = if ($vnet.AddressSpace -and $vnet.AddressSpace.AddressPrefixes) { $vnet.AddressSpace.AddressPrefixes | Select-Object -First 1 } else { $null } $params = @{ Name = $vnet.Name Provider = 'Azure' Region = $vnet.Location Status = $vnet.ProvisioningState Metadata = @{ ResourceGroup = $vnet.ResourceGroupName AddressSpace = $vnet.AddressSpace.AddressPrefixes SubnetCount = @($vnet.Subnets).Count } } if ($addressPrefix) { $params.Size = $addressPrefix } ConvertTo-CloudRecord @params } } |