用于枚举命名空间中所有 类 的 WQL

WQL for enumerating all classes in a namespace

我能够在 WMI 上成功使用以下查询,但我无法使用 __genus 属性.

使其更精细

作品: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 似乎不起作用。

谢谢

编辑:感谢 megatron,完全跳过我的想法来编辑代码片段

经过进一步研究,__Genus 属性 应该可以查询,但是,由于模式查询的性质,它似乎是有意排除的。架构查询只能 return class 定义,而不是 class 的实例。 Class 定义总是将 __Genus 设置为 1,从而无需测试 class.

__Genus 属性