如何在 WMI 查询中使用 LIKE 运算符?

How to use LIKE operator in WMI queries?

我尝试通过 WMI 获取有关 DHCP 租约的信息,因此我使用此代码:gwmi -ComputerName dhcp -query "select DHCPLeaseExpires, ipaddress from Win32_NetworkAdapterConfiguration",但我想让条件更精确。我想过滤其中包含特定 IP 地址的所有行。

例如,我有这个输出:

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 以外的所有条目?

试过这个:gwmi -ComputerName dhcp -query "select DHCPLeaseExpires, ipaddress from Win32_NetworkAdapterConfiguration where IPAddress like '%10%'" 但出现 InvalidArgument 错误。也试过"%10%"\"%10%\"

IP 地址是一个数组。

因此您可以将 Where-Object-contains-notcontains

一起使用

比如像这样:

gwmi -ComputerName dhcp -query "select DHCPLeaseExpires, ipaddress from Win32_NetworkAdapterConfiguration" | 
    Where-Object IPAddress -contains 10.10.10.10