Powershell 获取WmiObject-Use或运算符in-filter?

Powershell 获取WmiObject-Use或运算符in-filter?,powershell,get-wmiobject,Powershell,Get Wmiobject,我必须对powershell脚本进行一些修改,这些修改无法在我的开发机器上正确测试 这就是为什么我想知道,我是否可以在Get-WmiObject-filter操作中使用OR运算符 目前我们使用 (Get-WmiObject -Class Win32_Product -Filter "Name like 'ApplicationName1 Client%'" ...).Uninstall() 但最近我们将应用程序的名称从ApplicationName1重命名为NewName。这就是为什么我想添加

我必须对powershell脚本进行一些修改,这些修改无法在我的开发机器上正确测试

这就是为什么我想知道,我是否可以在Get-WmiObject-filter操作中使用OR运算符

目前我们使用

(Get-WmiObject -Class Win32_Product -Filter "Name like 'ApplicationName1 Client%'" ...).Uninstall()
但最近我们将应用程序的名称从ApplicationName1重命名为NewName。这就是为什么我想添加另一个类似的条件:

(Get-WmiObject -Class Win32_Product -Filter "Name like 'ApplicationName1 Client%' OR Name like 'NewName Client%'" ...).Uninstall()
我的问题是:


这是筛选器的有效语法还是会引发异常/给出错误?如果出现错误,您将如何执行此操作?

是,这是有效的语法

比如说

Get-WmiObject -Class win32_product -filter "Name Like 'citrix%' OR name like 'Microsoft%'"

你会考虑让每一款以Citrix和Microsoft开头的产品都尝试一下吗?我必须做一些powershell脚本修改,但我无法在我的开发机器上正确测试。真的吗?您是否基于其他人的语句编写脚本,并在生产环境中运行它们而不进行测试?通过删除.Uninstall语句,您可以非常安全地测试输出,您的代码行在每台具有powershell的windows计算机上运行。而且它比在这里写一个问题要花更少的时间。当然,它会先进入测试实验室。但是,为测试实验室构建一个软件包需要一点时间,我想,最好只是确定一下。无论如何,我已经得到了我的确认,这就是我想要的;