如何在WMI查询中使用LIKE操作符?

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

我想通过WMI获取DHCP租约的信息,所以我使用了这段代码。gwmi -ComputerName dhcp -query "select DHCPLeaseExpires, ipaddress from Win32_NetworkAdapterConfiguration"但我想把条件做得更精确一些。我想过滤所有含有特定IPAddress的记录。

例如,我有这样的输出。

DHCPLeaseExpires :
IPAddress        :
PSComputerName   :

DHCPLeaseExpires : 20200603123623.000000+120
IPAddress        : {172.21.0.100}
PSComputerName   :

DHCPLeaseExpires : 20200603123623.000000+120
IPAddress        : {10.10.10.10, fe80::cc09:dfe8:d8b8:99f8}
PSComputerName   :

我如何使用LIKE操作符来过滤除了10.10.10.10以外的所有记录?

试过这样做,但得到了InvalidArgument错误。gwmi -ComputerName dhcp -query "select DHCPLeaseExpires, ipaddress from Win32_NetworkAdapterConfiguration where IPAddress like '%10%'"但得到了InvalidArgument错误。也试过 "%10%", \"%10%\"等。

powershell wmi
1个回答
2
投票

IPAddress是一个数组。

所以你可以使用 Where-Object-contains-notcontains

比如像这样。

gwmi -ComputerName dhcp -query "select DHCPLeaseExpires, ipaddress from Win32_NetworkAdapterConfiguration" | 
    Where-Object IPAddress -contains 10.10.10.10
© www.soinside.com 2019 - 2024. All rights reserved.