В Azure детали Loadbalancer в файле csv с использованием сценария PowerShell в конвейере azure DevOps - PullRequest
1 голос
/ 06 мая 2020

Файл CSV должен содержать ResourceGroupName, FrontendIpConfigurationsName, FrontIPAddress, VMstatus. Я написал приведенный ниже код. Я получаю детали в CSV-файле, но проблема в том, что имя FrontendIpConfigurationsName начинается с того же имени и находится в той же строке, что и ersfrontend-A1, ersfrontend-B2 , ersfrontend-B3, ersfrontend-D1, а также IP-адреса, соответствующие именам, находятся в разных столбцах, но в одной строке. Но я хотел, чтобы они приходили в разные строки. Пожалуйста, предложите

report = @()
$LBlist = Get-AZLoadBalancer | Where-Object {$_ResourceGroupName -eq '*$(grp-wildcard)' } |Select-Object
$VM =Get-AzVm -Status | Where-Object {$_ResourceGroupName -eq '*$(grp-wildcard) '} |Select-Object
$power= $VM.powerstate
foreach($LB in LBlist){
Array = "" |Select-Object ResourceGroupName,FrontendIpConfigurationsName,FrontIPAddress,VMstatus
$Array.ResourceGroupName = $LB.ResourceGroupName
$Array.FrontendIpConfigurationsName =($LB.FrontendIpConfigurationsName.name -join ',')
$Array.FrontendIpAddress= ($LB.FrontendIpConfigurationsName.privateIpAddress -join ',')
$Array.VMstate = $power
}
$report+=$Array
$report |Format-Table ResourceGroupName,FrontendIpConfigurationsName,FrontIPAddress,VMstatus
$report | Export-Csv -NTI -path "$(BuildArtifactStagingDirectory)/LBlist.csv"

1 Ответ

0 голосов
/ 07 мая 2020

Чтобы создать правильный CSV-файл с заголовками и строками данных, вам необходимо собрать массив объектов и отправить его в командлет Export-Csv.

Например,

$report = @()

foreach($LB in $LBlist){
   $obj= [PsCustomObject]@{
            'ResourceGroupName '     = $LB.ResourceGroupName
            'FrontendIpConfigurationsName '   =($LB.FrontendIpConfigurationsName.name -join ',')
            'FrontendIpAddress' =($LB.FrontendIpConfigurationsName.privateIpAddress -join ',')
            'VMstate '  = $power
        }

 $report += $obj  
}

$report |Format-Table ResourceGroupName,FrontendIpConfigurationsName,FrontIPAddress,VMstatus
$report | Export-Csv -NTI -path "($BuildArtifactStagingDirectory)/LBlist.csv" -NoTypeInformation

Надеюсь, что это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...