从PSCustomObject开始删除额外的值

时间:2016-06-01 15:37:54

标签: powershell vmware-tools

我有命令:

Get-VM | Where-Object {$_.NetworkAdapters.NetworkName -eq 'VLAN180'} | Select-Object Name, {$_.Guest.IPAddress}

返回以下数据:

ss4.work   {10.8.0.6, fe80::dd2a:a7d4:7de0:e64d, fe80::fd66:1962:4009:501a, 192.168.180.18}

我需要ip值 - 192.168.180。*,但问题是$ _。Guest.IPAddress它PSCustomObject我不明白如何使用它。

1 个答案:

答案 0 :(得分:2)

$_.Guest.IPAddress是一个对象数组,可能是PSObjects,可能是IPAddress对象,但关键是那里有几个IP,你必须选择你想要的IP。你也有一对多的关系(姓名到IP),所以你必须决定你想要的方式;我假设你假设只有一个符合标准的IP:

可能是这样的:

Get-VM | 
    Where-Object {
        $_.NetworkAdapters.NetworkName -eq 'VLAN180'
    } | 
    Select-Object Name, {$_.Guest.IPAddress.Where({$_.ToString() -like '192.168.180.*'})}