2015-09-01 5 views
0

Я могу использовать следующий запрос успешно в WMI, но я не могу сделать его более зернистым, используя свойство __genus.WQL для перечисления всех классов в пространстве имен

работы: select * from meta_class where __class like "%win32%"

Работы: select * from meta_class where __class like "%win32%" and __superclass like "%process%"

Не работает: select * from meta_class where __class like "%win32%" and __genus is 1

Не работает: select * from meta_class where __genus = 1

Я работаю на C# проекта, в котором я на снятую все пространства имен на удаленном узле, и я работаю над всеми классами в этом пространстве имен. У меня есть обходное решение, использующее System.Management.ManagementClass, но это невероятно странно. Есть ли способ запросить свойство __genus? Я могу использовать другие свойства, но __genus кажется, что он не работает.

Спасибо

Edit: Спасибо Мегатрона, полностью пропустил мой разум, чтобы изменить для кодовых частей

ответ

1

При дальнейшем исследовании, __Genus собственности должна быть доступна для запроса, однако, в связи с характером схемы запрос, он, кажется, целенаправленно исключен. Запросы схемы могут возвращать только определения классов, а не экземпляры класса. У определений классов всегда есть __Genus, установленный в 1, тем самым устраняя необходимость тестирования свойства __Genus класса.