Как использовать запрос IN для выполнения WMI - PullRequest
0 голосов
/ 21 марта 2019

Ниже WMI запрос дает мне неверную синтаксическую ошибку запроса. Как использовать оператор IN?

select DriverVersion,Description from Win32_PnPSignedDriver WHERE Description in ('Dell Touchpad', 'WiFi')

Ответы [ 2 ]

1 голос
/ 26 марта 2019

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");
1 голос
/ 21 марта 2019

Вам нужно использовать WQL для запросов WMI .. MSDN-ссылка

select DriverVersion,Description from Win32_PnPSignedDriver WHERE (Description='Dell Touchpad') or  (Description='WiFi')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...