簡體   English   中英

在 Azure 中,負載均衡器詳細信息在 csv 文件中使用 powershell 腳本在 ZCF04A02ZopsE37B774FC5361 的管道中

[英]In Azure,Loadbalancer details in to csv file using powershell script in pipeline of azure devops

Csv 文件應包含 ResourceGroupName、FrontendIpConfigurationsName、FrontIPAddress、VMstatus。我編寫了以下代碼。我在 csv 文件中獲取詳細信息,但問題是 FrontendIpConfigurationsName 以相同的名稱開頭出現在同一行,如 ersfrontend-A1,ersfrontend-B2 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"

為了創建帶有標題和數據行的正確 CSV 文件,您需要收集對象數組並將其發送到 Export-Csv cmdlet。

例如

$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

希望有幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM