【问题标题】:How to use LIKE operator in WMI queries?如何在 WMI 查询中使用 LIKE 运算符?
【发布时间】:2020-06-03 19:05:22
【问题描述】:

我尝试通过 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 之外的所有条目?

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

【问题讨论】:

    标签: powershell wmi


    【解决方案1】:

    IPAddress 是一个数组。

    因此您可以将Where-Object-contains-notcontains 一起使用

    比如这样:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-14
      • 1970-01-01
      • 2021-09-05
      • 2011-03-19
      • 1970-01-01
      • 2012-01-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多