Get-WmiObject -Filter 或不使用 NULL
Get-WmiObject -Filter OR not working with NULL
这些 cmdlet 有效:
Get-WmiObject Win32_PNPSignedDriver -Filter "DriverProviderName <> NULL"
Get-WmiObject Win32_PNPSignedDriver -Filter "DriverProviderName <> 'Microsoft'"
我似乎无法将它们与 OR 语句结合起来,我也不知道为什么:
Get-WmiObject Win32_PNPSignedDriver -Filter "DriverProviderName <> 'Microsoft' OR DriverProviderName <> NULL"
上面的命令运行,但不排除 NULL 条目最后一个是我的 Win10 PC 上的传真。
关于translating from English sentences into logical form:当把英文句子翻译成逻辑形式时,...,短语“neither A nor B
”被翻译成“not A and not B
”。 使用
Get-WmiObject Win32_PNPSignedDriver -Filter `
"DriverProviderName <> 'Microsoft' AND DriverProviderName IS NOT NULL"
注:见Translating “neither…nor” into a mathematical logical expression as well; applying de Morgan's laws, the following code surprisingly works although uses undocumented NOT
logical operator in a WQL query:
Get-WmiObject Win32_PNPSignedDriver -Filter `
"NOT (DriverProviderName = 'Microsoft' OR DriverProviderName IS NULL)"
在上面的 PowerShell 代码示例中使用了 backtick to split commands over multiple lines 以提高可读性…