WMI和ManagementObjectSearcher一些使用

来源:互联网 发布:利为汇seo营销培训 编辑:程序博客网 时间:2024/05/29 13:20

[c-sharp] view plaincopy
  1. /// <summary>  
  2. /// 主板信息  
  3. /// </summary>  
  4. public static void GetBaseBoardInfo()  
  5. {  
  6.     try  
  7.     {  
  8.         Console.WriteLine("主板信息");  
  9.         ManagementObjectSearcher searcher =  
  10. new ManagementObjectSearcher("Select * From Win32_BaseBoard");  
  11.         foreach (ManagementObject mo in searcher.Get())  
  12.         {  
  13.             // mo["Manufacturer"],制造商,如“On-data”(昂达)  
  14.             // mo["Product"],型号,如“KT400A-8235”  
  15.             // mo["SerialNumber"],序列号  
  16.             Console.WriteLine( mo["Manufacturer"]);  
  17.             Console.WriteLine(mo["Product"]);  
  18.             Console.WriteLine(mo["SerialNumber"]);  
  19.               
  20.         }  
  21.     }  
  22.     catch  
  23.     {  
  24.     }  
  25. }  
  26.   
  27.   
  28. /// <summary>  
  29. /// BIOS信息  
  30. /// </summary>  
  31. public static void GetBiosInfo()  
  32. {  
  33.     try  
  34.     {  
  35.         Console.WriteLine("BIOS信息");  
  36.         ManagementObjectSearcher searcher =  
  37. new ManagementObjectSearcher("Select * From Win32_BIOS");  
  38.         foreach (ManagementObject mo in searcher.Get())  
  39.         {  
  40.             // mo["Manufacturer"],制造商,如“Phoenix Technologies, LTD”   
  41.             // mo["SerialNumber"],序列号  
  42.             Console.WriteLine(mo["Manufacturer"]);  
  43.             Console.WriteLine(mo["SerialNumber"]);  
  44.         }  
  45.     }  
  46.     catch  
  47.     {  
  48.     }  
  49. }  
  50.   
  51.   
  52. /// <summary>  
  53. /// 物理磁盘信息  
  54. /// </summary>  
  55. public static void GetPhysicalDiskInfo()  
  56. {  
  57.     try  
  58.     {  
  59.         Console.WriteLine("物理磁盘信息");  
  60.         ManagementObjectSearcher searcher =  
  61. new ManagementObjectSearcher("Select * From Win32_DiskDrive");  
  62.         foreach (ManagementObject mo in searcher.Get())  
  63.         {  
  64.             // mo["MediaType"],类型,如“Fixed hard disk media”   
  65.             // mo["SizeBytes "],容量,如“80023749120”(字节)  
  66.             Console.WriteLine(mo["MediaType"]);  
  67.             Console.WriteLine(mo["SizeBytes"]);  
  68.         }  
  69.     }  
  70.     catch  
  71.     {  
  72.     }  
  73. }  
  74.   
  75.   
  76. /// <summary>  
  77. /// 网卡配置信息  
  78. /// </summary>  
  79. public static void GetNAConfigurationInfo()  
  80. {  
  81.     try  
  82.     {  
  83.         Console.WriteLine("网卡配置信息");  
  84.         ManagementObjectSearcher searcher =  
  85. new ManagementObjectSearcher("Select * From Win32_NetworkAdapterConfiguration");  
  86.         foreach (ManagementObject mo in searcher.Get())  
  87.         {  
  88.             // mo["IPAddress"],IP地址   
  89.             // mo["DefaultIPGateway"],默认网关  
  90.             // mo["DNSServerSearchOrder"],DNS地址,如果有备用则会以数组形式返回  
  91.             // mo["IPSubnet"],子网掩码  
  92.             // mo["MACAddress"],MAC地址  
  93.             Console.WriteLine(mo["IPAddress"]);  
  94.             Console.WriteLine(mo["DefaultIPGateway"]);  
  95.             Console.WriteLine(mo["DNSServerSearchOrder"]);  
  96.             Console.WriteLine(mo["IPSubnet"]);  
  97.             Console.WriteLine(mo["MACAddress"]);  
  98.         }  
  99.     }  
  100.     catch  
  101.     {  
  102.     }  
  103. }  
  104.   
  105.   
  106. /// <summary>  
  107. /// CPU信息  
  108. /// </summary>  
  109. public static void GetProcessorInfo()  
  110. {  
  111.     try  
  112.     {  
  113.         Console.WriteLine("CPU信息");  
  114.         ManagementObjectSearcher searcher =  
  115. new ManagementObjectSearcher("Select * From Win32_Processor");  
  116.         foreach (ManagementObject mo in searcher.Get())  
  117.         {  
  118.             // mo["L2CacheSize"],二级缓存,如“512”  
  119.             // mo["Manufacturer"],制造商,如“AuthenticAMD”  
  120.             // mo["MaxClockSpeed"],主频,如“1824”(1.824G)  
  121.             // mo["ProcessorId"],ID,如“0383F9FF000006A0”  
  122.             Console.WriteLine(mo["L2CacheSize"]);  
  123.             Console.WriteLine(mo["Manufacturer"]);  
  124.             Console.WriteLine(mo["MaxClockSpeed"]);  
  125.             Console.WriteLine(mo["ProcessorId"]);  
  126.         }  
  127.     }  
  128.     catch  
  129.     {  
  130.     }  
  131. }  
  132.   
  133.   
  134. /// <summary>  
  135. /// 逻辑磁盘信息  
  136. /// </summary>  
  137. public static void GetLogicalDiskInfo()  
  138. {  
  139.     try  
  140.     {  
  141.         Console.WriteLine("逻辑磁盘信息");  
  142.         ManagementObjectSearcher searcher =  
  143. new ManagementObjectSearcher("Select * From Win32_LogicalDisk");  
  144.         foreach (ManagementObject mo in searcher.Get())  
  145.         {  
  146.             // mo["FileSystem"],文件系统,如“FAT32”  
  147.             // mo["FreeSpace"],剩余空间,如“4554891264”(4G多)  
  148.             // mo["Name"],卷标,如“C:”  
  149.             // mo["Size"],大小,如“10476945408”(10G)  
  150.             Console.WriteLine(mo["FileSystem"]);  
  151.             Console.WriteLine(mo["FreeSpace"]);  
  152.             Console.WriteLine(mo["Name"]);  
  153.             Console.WriteLine(mo["Size"]);  
  154.         }  
  155.     }  
  156.     catch  
  157.     {  
  158.     }  
  159. }  
  160. /// <summary>  
  161. /// 服务信息  
  162. /// </summary>  
  163. public static void GetServiceInfo()  
  164. {  
  165.     try  
  166.     {  
  167.         Console.WriteLine("服务信息");  
  168.         ManagementObjectSearcher s = new ManagementObjectSearcher("SELECT * FROM Win32_Service");  
  169.         foreach (ManagementObject service in s.Get())  
  170.         {  
  171.             Console.WriteLine(service.ToString());  
  172.         }  
  173.     }  
  174.     catch   
  175.     {  
  176.           
  177.     }  
  178. }  

 

以上用到如下内容的查询:

Win32_BaseBoard//主板信息
Win32_BIOS//BIOS信息
Win32_DiskDrive//物理磁盘信息
Win32_NetworkAdapterConfiguration//网卡配置信息
Win32_Processor//CPU信息
Win32_LogicalDisk//逻辑磁盘信息
Win32_Service//服务信息

 

 

 

其他可参考MSDN中的WMI介绍:

Operating System Classes

 

0 0
原创粉丝点击