You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Get-WmiObject中AND与OR逻辑运算符行为反向问题咨询

WQL AND/OR 逻辑反向问题在Win32_Share查询中的情况

我确实碰到过其他用户反馈这个诡异的问题——在使用Get-WmiObject查询Win32_Share类时,WQL过滤器里的AND和OR运算符完全反向:本该是“且”的逻辑变成了“或”,“或”的逻辑变成了“且”。

可能的场景和验证点

  • 首先排除语法错误:很多时候逻辑混乱是因为条件分组的括号没加对,比如混合使用AND和OR时没有明确优先级,导致结果不符合预期。可以先测试最简单的单条件+运算符组合,比如:
    # 预期返回类型为0(磁盘共享)且名称为C$的共享
    Get-WmiObject -Class Win32_Share -Filter "Type=0 AND Name='C$'"
    
    如果这个命令返回了所有Type=0的共享或者所有Name='C$'的共享,那确实是运算符逻辑反向的问题。
  • 这个异常更多出现在较老的Windows系统中,比如Windows 7或Server 2008 R2,偶尔也会在WMI服务出现异常的新系统上发生。

解决或验证的方法

  • 切换到CIM cmdlet:微软早已推荐用Get-CimInstance替代Get-WmiObject,CIM的查询引擎更稳定,试试这个命令看逻辑是否正常:
    Get-CimInstance -Class Win32_Share -Filter "Type=0 AND Name='C$'"
    
  • 修复WMI存储库:如果是WMI服务本身的问题,可以尝试重置WMI存储库(注意:操作前备份重要数据,部分依赖WMI的服务可能需要重启):
    winmgmt /resetrepository
    

内容的提问来源于stack exchange,提问作者Chris

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:46:51