powershell - 从 PSCustomObject 开始删除额外的值

标签 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,我不明白如何使用它。

最佳答案

$_.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.*'})}

关于powershell - 从 PSCustomObject 开始删除额外的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37573124/

相关文章:

powershell - 在 PowerShell 中重命名文件夹并创建新文件夹

powershell - 将索引号添加到 `Select-String`的结果列表中

c# - "System.IO.IOException: The operation completed successfully"异常

ubuntu - vmware 共享文件夹 hgfs linux 内核 3.12 (ubuntu 14.04) 未编译

linux - Arch Linux 上的 VMware 工具安装(共享文件夹)

sql-server - 是什么原因导致此 SqlException : A transport-level error has occurred when receiving results from the server

c# - 在Powershell中列出.NET namespace 的类?

java - 通过 Java 查询 Active Directory

scripting - vmware - 脚本自动备份

java - VMWare guest 工具 (vixtools) API 未找到 system/tmp 目录