Есть ли способ расширить WQL, чтобы добавить поддержку таких ключевых слов, как JOIN и DISTINCT? Похоже, что у Microsoft есть задание в System Center 2012 Configuration Manager, но я не могу найти, где найти сборки и как их повторно использовать.
Добавить поддержку JOIN и DISTINCT на WQL
Ответы (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
Мне нужно запросить данные WMI с помощью надстройки моего приложения для синхронизации данных в моей базе данных. При этом в качестве конфигурации используются область действия, запрос и данные для синхронизации. Он отлично работает для простого запроса, но для более сложного запроса мне нужна поддержка JOIN, DISTINCT, WHEN ... или я должен управлять данными в надстройке, но я не хотел делать конкретную надстройку. Нужно ли развертывать SMSProv.dll на удаленном компьютере, являющемся целью запроса WMI?
- person Troopers; 26.01.2016
Учитывая вашу цель, я рекомендую не использовать SMSProv.dll по ранее указанной причине.
- person S. Rojak; 26.01.2016