如何在powershell/azure中将格式输出到文件中

如何在powershell/azure中将格式输出到文件中,azure,powershell,azure-cli,Azure,Powershell,Azure Cli,我试图从订阅中获取我的虚拟机,这样我就可以用python创建一些命令来从结构中提取不同的内容,但要做到这一点,最简单的方法是将文件保存为CSV格式,每次我尝试使用powershell导出内容时,它都不起作用 你能告诉我这个命令应该怎么写吗 az vm list --query "[].[resourceGroup,name,storageProfile.osDisk.osType]" -o table | Export-Csv D:\vmlist.csv -Delimiter ";" -For

我试图从订阅中获取我的虚拟机,这样我就可以用python创建一些命令来从结构中提取不同的内容,但要做到这一点,最简单的方法是将文件保存为CSV格式,每次我尝试使用powershell导出内容时,它都不起作用

你能告诉我这个命令应该怎么写吗

az vm list --query "[].[resourceGroup,name,storageProfile.osDisk.osType]" -o table | Export-Csv D:\vmlist.csv -Delimiter ";" -Force -NoTypeInformation

根据我的研究,当我们使用“导出Csv”命令将输出保存为Csv文件时,它会将输出视为一个对象,并将该对象的属性作为列存储到Csv文件中。现在,命令
azvmlist--query“[[resourceGroup,name,storageProfile.osDisk.osType]”-o table
的输出是
String
。因此,我们无法根据您的需要创建CSV文件。

因此,如果您想根据需要创建csv文件,请参考以下脚本

$result = az vm list --query "[].{resource:resourceGroup, name:name}" -o json | ConvertFrom-Json 
$result | export-csv -Path e:\test.csv  -NoTypeInformation

根据我的研究,当我们使用“导出Csv”命令将输出保存为Csv文件时,它会将输出视为一个对象,并将该对象的属性作为列存储到Csv文件中。现在,命令
azvmlist--query“[[resourceGroup,name,storageProfile.osDisk.osType]”-o table
的输出是
String
。因此,我们无法根据您的需要创建CSV文件。

因此,如果您想根据需要创建csv文件,请参考以下脚本

$result = az vm list --query "[].{resource:resourceGroup, name:name}" -o json | ConvertFrom-Json 
$result | export-csv -Path e:\test.csv  -NoTypeInformation

导出Csvcmdlet要求您为其提供一组对象,这些对象的属性将映射到Csv文件的列。所以
|
左侧的代码是否会产生这样的效果?它不会,Azure CLI输出的内容未经PowerShell转换为csv格式,因此您无法使用
导出csv
。它需要具有一级属性的结构化对象。AZ输出的结构是什么?只是一堆文字吗?如果是的话。。。你需要以某种方式转换它。没有一些样本数据来查看[不是它的图片,而是实际数据]。。。没有合理的方式来讨论这个问题。我没有什么可以分享更多。如果进入powershell并键入:az vm show--resource group“resGroup”--name“VMname”--query“[name,resources[0].settings.StorageAccount]”,则这是默认命令。返回值为[“VMname”,null如果您拒绝发布经过净化的样本数据以供处理,则任何人都无法帮助您,除非他们有完全相同的设置,以提供完全相同的输出以供处理。[皱眉]您已经证明您的第一阶段输出不是第二阶段的有效输入。如果您想让任何人处理它,您需要发布第一阶段的消毒输出,或者希望有人拥有与您的模块和环境完全相同的版本,以便他们可以复制您的第一阶段输出。[叹气…]
导出Csv
cmdlet要求您为其提供一组对象,这些对象的属性将映射到Csv文件的列。那么,
|
左侧的代码是否会产生这样的结果?它不会,Azure CLI输出的内容不会被PowerShell转换为Csv格式,那么您就不能使用
Ex端口Csv
。它需要一个具有一级属性的结构化对象。AZ输出的结构是什么?它只是一堆文本吗?如果是这样……您需要以某种方式转换它。没有一些示例数据可查看[不是它的图片,而是实际数据]…没有合理的方法讨论此问题。我无法共享更多内容。如果您进入powershell并键入:az vm show--resource group“resGroup”-name“VMname”--query“[name,resources[0].settings.StorageAccount]”这是默认命令,返回值为[“VMname”,null如果您拒绝发布经过净化的样本数据以供处理,则任何人都无法帮助您,除非他们有完全相同的设置,以提供完全相同的输出以供处理。[皱眉]您已经证明您的第一阶段输出不是第二阶段的有效输入。如果您想让任何人处理它,您需要发布第一阶段的消毒输出,或者希望有人拥有与您的模块和环境完全相同的版本,以便他们可以复制您的第一阶段输出。[叹气…]