Как вывести Azure Виртуальные сетевые подсети в CSV, используя PowerShell для одной или нескольких подписок - PullRequest
0 голосов
/ 17 апреля 2020

Я новичок в powershell и пытаюсь вывести su bnet информацию для Azure Виртуальные сети в одной или нескольких подписках.

Я могу вывести на консоль и получить результаты, которые я ищу но изо всех сил пытается получить тот же вывод в CSV-файл.

Я понимаю, что мне нужно создать новые объекты, и т. д. c. но не могу получить правильный синтаксис для работы.

Может кто-нибудь помочь, пожалуйста.

Рабочий код ниже ....

$subs = Get-AzSubscription -SubscriptionID xxxxxxxxxxxxxxxx
foreach ($Sub in $Subs) { 
    $SelectSub = Select-AzSubscription -SubscriptionName $Sub.Name 
    $VNETs = Get-AzVirtualNetwork 
    foreach ($VNET in $VNETs) { 
        $Sub.Name 
        $VNET.Name 
        ($VNET).AddressSpace.AddressPrefixes 
        ($VNET).Subnets.Name
    Write-Host " "
    } 
} 

1 Ответ

1 голос
/ 17 апреля 2020

Я думаю, что-то вроде этого поможет:

$subs = Get-AzSubscription -SubscriptionID xxxxxxxxxxxxxxxx
foreach ($Sub in $Subs) { 
    Select-AzSubscription -SubscriptionName $Sub.Name | Out-Null
    $networks = Get-AzVirtualNetwork | ForEach-Object {
        New-Object PSObject -Property @{
            name         = $_.name
            subnets      = $_.subnets.name -join ';'
            addressSpace = $_.AddressSpace.AddressPrefixes -join ';'
        }
    }
    $networks | Export-Csv -NoTypeInformation file.csv
}

edit: предыдущая версия действительно не работала, export-csv немного странно, я думаю.

...