pwsh - 仅获取 ConvertTo-Json 中的值

问题描述 投票:0回答:1

Pwsh版本:

7.4.5

Get-NetIPConfiguration -Detailed | Select-Object -Property IPv4Address | ConvertTo-Json

产生这个结果

WARNING: Resulting JSON is truncated as serialization has exceeded the set depth of 2.
[
  {
    "IPv4Address": [
      "MSFT_NetIPAddress (Name = \";:8A?8;A8??55;?55;55;\", CreationClassName = \"\", SystemCreationClassName = \"\", SystemName = \"\")"
    ]
  },
  {
    "IPv4Address": [
      "MSFT_NetIPAddress (Name = \";@C8???8???8;?;55;?55;55;\", CreationClassName = \"\", SystemCreationClassName = \"\", SystemName = \"\")"
    ]
  },
  ...
]

如果我尝试

Get-NetIPConfiguration -Detailed | Select-Object -ExpandProperty IPv4Address | ConvertTo-Json

这会产生更大(如完整)的 json 对象。

我知道每个

IPv4Address
都是它自己的对象,但我只想获取这些对象的IP地址。有谁知道是否有办法获取
IPv4Address
上的值?

类似的东西

[
  {'IPv4Address': '1.2.3.4'},
  {'IPv4Address': '11.21.31.41'},
  {'IPv4Address': '12.22.32.42'},
  {'IPv4Address': '13.23.33.43'},
]

蒂亚

powershell powershell-core
1个回答
0
投票

实际的 IP 地址作为字符串嵌套在

.IPv4Address.IPAddress
属性中,因此您可以使用 计算属性和
Select-Object
来获取它:

Get-NetIPConfiguration -Detailed |
    Select-Object @{ N = 'IPv4Address'; E = { $_.IPv4Address.IPAddress }} |
    ConvertTo-Json
© www.soinside.com 2019 - 2024. All rights reserved.