azure - 在 Azure 中,使用 powershell 脚本将负载均衡器详细信息保存到 csv 文件中
问题描述
我在 Azure DevOps 管道中编写了一个 powershell 脚本,以将负载均衡器的详细信息(如 FrontendIPConfigurationsName、FrontendIPAddress)保存到 csv 文件中。我正在获取这些详细信息,但以“ers-A1,ers-B1,ers-C1,ers-D1”等相同名称开头的 FrontendIPConfigurationsNames 出现在同一行。但我想把它们放在不同的行中。请建议
$excel = @()
LBlist = Get-AZLoadBalancer | Where-Oject {$_.ResourceGroupName -clike '$(grp-wildcard)'} | Select-Object
foreach ($LB in LBlist)
$Array =""| Select-Object ResourceGroupName, FrontendIPConfigurationsName,FrontendIPAddress
$Array.ResourceGroupName =$LB.ResourcegroupName
$Array.FrontendIPConfigurationsName = ($LB.FrontendIpConfigurationsName.name -join ',')
$Array.FrontendIPAddress =($LB.FrontendIpConfigurations.PrivateIpAddress -join ',')
}
$excel +=$Array
$excel |Format-Table ResourceGroupName, FrontendIPConfigurationsName,FrontendIPAddress
$excel | Export-Csv -NTI -Path "($Build.ArtifactStagingDirectory)/LBlist.csv
解决方案
您可以执行与此类似的操作来获取不同行上的对象。
$LBlist = Get-AZLoadBalancer | Where-Object { $_.ResourceGroupName -clike '$(grp-wildcard)' }
$LBlist | Export-Csv -NTI -Path "$(Build.ArtifactStagingDirectory)/LBlist.csv"
模拟Get-AZLoadBalancer
(不确定它是否完全准确,因为我从未使用过 Az Powershell)
function Get-AZLoadBalancer() {
$obj = @(
[PSCustomObject] @{
ResourceGroupName = '$(grp-wildcard)'
FrontendIPConfigurationsName = 'ers-A1'
FrontEndIPAddress = '1.2.3.4'
},
[PSCustomObject] @{
ResourceGroupName = '$(grp-wildcard)'
FrontendIPConfigurationsName = 'ers-B1'
FrontEndIPAddress = '1.2.3.5'
}
)
return $obj
}
推荐阅读
- c - 将终端参数传递给另一个函数
- node.js - 如果我已经安装了 apache,如何运行节点服务器?
- linux - Ubuntu 18.04 上的 Yii2 SwiftMailer 无法连接到 CPanel SMTP 服务器
- c# - .NET WebSockets 和 TCP_NODELAY
- google-chrome-extension - Chrome 扩展:将授权标头值(令牌)保存到本地文件或将其传递给 background.js
- c# - 如何将 TabItem 的标题与标题的 TabItem DataTemplate 中的文本绑定?
- laravel - Laravel模型中的where子句括号
- git - 将远程分支恢复到以前的提交
- php - C++ 运行链接以运行位于网站中的 php 脚本
- python - 使用 Pandas Python 中每对列值的 # 出现次数创建列