azure - 在 Azure 中,使用 azure devops 管道中的 powershell 脚本将负载平衡器详细信息写入 csv 文件
问题描述
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"
解决方案
为了创建带有标题和数据行的正确 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
希望有帮助
推荐阅读
- algorithm - 在图中找到最小生成树(MST)?
- reactjs - 如何将用户输入传递给 ReactJS 中的 .txt 文件
- css - 如何在一个命令中将 CSS 分配给每个编号的元素
- python - pythons PySerial:读取相同序列的多个脚本
- node.js - 通过 ngrok 处理来自多个用户的 Dialogflow 请求
- sql - 使用中间表创建包含结果的最终表
- java - Java 变量 temp 已在方法 Man_w_t(java.util.ArrayList
) - android - 如何使用 Android cameraX 访问外部 USB 摄像头?
- netsuite - Netsuite 自定义记录上生成的内部 ID 不连续
- django - 自定义 django allauth 模板