如何将AZ网络公共IP列表输出导出到CSV?

时间:2020-08-05 21:02:27

标签: azure powershell azure-cli jmespath az

如何将输出导出到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查询来解散该文档数组?这可能会解决我面临的问题。

1 个答案:

答案 0 :(得分:2)

Export-CsvMicrosoft.PowerShell.Utility,它将对象转换为一系列逗号分隔值(CSV)字符串。由于您可以接受PowerShell命令,因此可以使用Az PowerShell Get-AzPublicIpAddress轻松达到要求。不建议将Az CLI命令与PowerShell命令混合使用。

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

enter image description here

修改

对于az cli,您可以在PowerShell中像这样使用它,

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