WMI列出.NET中的架构信息

时间:2011-09-17 20:26:16

标签: c# .net wmi

我正在尝试使用C#列出WMI类上的所有可用字段。

我最接近的是列出WMI中所有可用的等价表

ManagementObjectSearcher searcher = new ManagementObjectSearcher("select * from meta_class");

 foreach (ManagementClass wmiClass in searcher.Get())
 {
     Console.WriteLine(wmiClass["__CLASS"].ToString());
 }

但是看起来这些字段没有相应的内容。

这是可能的,还是只是查阅参考手册以查看所有可用字段?

1 个答案:

答案 0 :(得分:7)

如果你有一个WMI类的实例,那么System.Management.ManagementBaseObject.Properties是所有属性的列表(WMI不会分隔属性和字段 - 基于COM它们都是属性)。

ManagementClass派生自ManagementBaseObject,因此它还有Properties属性列出了WMI类的属性,因此要列出所有属性:

var wmiClass = new ManagementClass("Win32_ComputerSystem");
foreach (var prop in wmiClass.Properties) {
  Console.WriteLine(prop.Name);
}

Properties集合的每个元素都是PropertyData个实例,其中包含有关每个属性的大量信息。)