Добавить поддержку JOIN и DISTINCT на WQL

Есть ли способ расширить WQL, чтобы добавить поддержку таких ключевых слов, как JOIN и DISTINCT? Похоже, что у Microsoft есть задание в System Center 2012 Configuration Manager, но я не могу найти, где найти сборки и как их повторно использовать.


person Troopers    schedule 25.01.2016    source источник


Ответы (1)


Насколько я понимаю, SCCM не расширил WQL, а скорее поместил функциональность для реализации объединений и отдельных наборов в SMSProv.dll. См. Эти ссылки для SCCM:

Хотя в WQL нет JOIN, есть запрос ASSOCIATORS OF. Вы можете запустить этот запрос прямо в wbemtest.exe:

ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"}

Однако, если вы хотите написать свои собственные программы для запроса WMI, вам не захочется использовать SMSProv.dll, который может измениться из-под вас. Возможно, вы захотите взглянуть на Powershell. Вот ссылка на сообщение в блоге, показывающее, как это сделать:

Три простых способа использования PowerShell и WQL для получения данных WMI

person S. Rojak    schedule 25.01.2016
comment
Мне нужно запросить данные WMI с помощью надстройки моего приложения для синхронизации данных в моей базе данных. При этом в качестве конфигурации используются область действия, запрос и данные для синхронизации. Он отлично работает для простого запроса, но для более сложного запроса мне нужна поддержка JOIN, DISTINCT, WHEN ... или я должен управлять данными в надстройке, но я не хотел делать конкретную надстройку. Нужно ли развертывать SMSProv.dll на удаленном компьютере, являющемся целью запроса WMI? - person Troopers; 26.01.2016
comment
Учитывая вашу цель, я рекомендую не использовать SMSProv.dll по ранее указанной причине. - person S. Rojak; 26.01.2016