从 PSCustomObject 开始删除额外的值
As of PSCustomObject remove extra values
我有命令:
Get-VM | Where-Object {$_.NetworkAdapters.NetworkName -eq 'VLAN180'} | Select-Object Name, {$_.Guest.IPAddress}
return以下数据:
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,我不明白如何使用它。
$_.Guest.IPAddress
是一个对象数组,可能是 PSObjects,可能是 IPAddress 对象,但关键是那里有几个 IP,你必须 select 你想要的那些。您还具有一对多关系(名称到 IP),因此您必须决定您想要的方式;我假设您假设只有一个 IP 符合条件:
可能是这样的:
Get-VM |
Where-Object {
$_.NetworkAdapters.NetworkName -eq 'VLAN180'
} |
Select-Object Name, {$_.Guest.IPAddress.Where({$_.ToString() -like '192.168.180.*'})}
我有命令:
Get-VM | Where-Object {$_.NetworkAdapters.NetworkName -eq 'VLAN180'} | Select-Object Name, {$_.Guest.IPAddress}
return以下数据:
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,我不明白如何使用它。
$_.Guest.IPAddress
是一个对象数组,可能是 PSObjects,可能是 IPAddress 对象,但关键是那里有几个 IP,你必须 select 你想要的那些。您还具有一对多关系(名称到 IP),因此您必须决定您想要的方式;我假设您假设只有一个 IP 符合条件:
可能是这样的:
Get-VM |
Where-Object {
$_.NetworkAdapters.NetworkName -eq 'VLAN180'
} |
Select-Object Name, {$_.Guest.IPAddress.Where({$_.ToString() -like '192.168.180.*'})}