WMI查询下面给出了无效的查询语法错误,如何使用IN运算符?
select DriverVersion,Description from Win32_PnPSignedDriver WHERE Description in ('Dell Touchpad', 'WiFi')
您需要使用WQL来查询WMI .. MSDN link
select DriverVersion,Description from Win32_PnPSignedDriver WHERE (Description='Dell Touchpad') or (Description='WiFi')
WMI使用WQL,它是SQL查询语言的一个非常基本的子集,因此您可能无法使用IN子句。对WQL有一些安静的限制。你有这个定义:https://docs.microsoft.com/en-us/windows/desktop/wmisdk/wql-sql-for-wmi
您还可以使用ORMi来帮助您使用WMI而无需编写WQL查询。你可以这样做:
var devices = helper.Query("SELECT * FROM Win32_PnPSignedDriver")
.Where(p => p.Description == "Dell Touchpad" || p.Description == "WiFi");