使用 "select-object" 时,Azure Powershell 不会扩展结果

Azure Powershell doesn't expand the result when "select-object" is used

我对 Powershell 很陌生,我只将它用于最近分配给我的一些 Azure 工作。

我注意到一个我无法理解的行为。当我 运行 Get-AzNetworkInterface cmdlet 时,字段 IpConfigurations 将显示所有详细信息,如下所示

IpConfigurations            : [
                            {
                              "Name": "ipconfig1",
                              "Etag": "blabla",
                              "Id": "blabla",
                              "PrivateIpAddress": "10.1.2.3",
                              ....
                            }
                          ]

但是,如果我追加 select-object,结果就变成 {ipconfig},这只是字段的名称

> Get-AzNetworkInterface | Where-Object { $_.Name -eq "some nic name" } | Select-Object "IpConfigurations"

IpConfigurations
----------------
{ipconfig1}

如果我用 | Out-Gridview 查看输出,我得到相同的结果。 IpConfigurations 字段只会显示名称。但是,它还会显示一个包含所有详细信息的 IpConfigurationsText 字段。它得到了 t运行 分类,所以我看不到全文。对了,有没有办法让popup GridView window 显示全部内容?无论如何,然后我尝试在 Shell 控制台中 select 这个字段,但仍然一无所获。

> Get-AzNetworkInterface | Where-Object { $_.Name -eq "some nic name" } | Select-Object  IpConfigurationsText

IpConfigurationsText
--------------------
[…

Azure Powershell cmdlet 在此处扩展字段的逻辑是什么? 谢谢! 迪凡

您可以使用以下 cmdlet 来扩展 Ipconfigurations 属性

Get-AzNetworkInterface | Where-Object { $_.Name -eq "NICName" } |Select-Object -ExpandProperty IpConfigurations

这里是示例输出以供参考:

  • 如果您想扩展 IpConfigurations 属性 并在 Gridview 中投影输出,我们建议您使用以下 PowerShell cmdlet
Get-AzNetworkInterface | Where-Object { $_.Name -eq "NICName" } |Select-Object -ExpandProperty IpConfigurations|Out-GridView -PassThru

这里是示例输出供参考: