![](/img/trans.png)
[英]In Azure, To get Load balancer details in to csv file using powershell script
[英]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.