如何将 az 网络 public-ip 列表输出导出到 csv?

How to export az network public-ip list output to a csv?

如何将输出导出到 csv?提前致谢

az network public-ip list --query "[].{name: name, address: ipAddress}"

这是输出:

[
  { address: "23.101.140.39", name: foo},
  { address: "23.101.140.38", name: bar},
]

我试过 az network public-ip list --query "[].{name: name, address: ipAddress}" | export-csv -path "c:\ips.csv" 但这会输出一些元数据而不是实际数据。有没有办法使用 JMESPath 查询来展开该文档数组?这可能会解决我面临的问题。

Export-Csv is Microsoft.PowerShell.Utility, it converts objects into a series of comma-separated value (CSV) strings. Since you could accept the PowerShell commands, you can easily achieve your requirements with Az PowerShell Get-AzPublicIpAddress。不建议将 az CLI 命令与 PowerShell 命令混合使用。

Get-AzPublicIpAddress | Select-Object Name,IpAddress | Export-Csv -Path "c:\ips.csv" -NoTypeInformation

编辑

对于 az cli,您可以像这样与 PowerShell 一起使用,

((az network public-ip list --query "[].{name: name, address: ipAddress}") | ConvertFrom-Json) |  Export-Csv -path "c:\ips.csv" -NoTypeInformation