gpt4 book ai didi

azure - 在 Azure 中,负载均衡器详细信息在 azure devops 管道中使用 powershell 脚本写入 csv 文件

转载 作者:行者123 更新时间:2023-12-03 04:02:19 28 4
gpt4 key购买 nike

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

希望有帮助

关于azure - 在 Azure 中,负载均衡器详细信息在 azure devops 管道中使用 powershell 脚本写入 csv 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61633484/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com