什么是常见的WMI查询

时间:2009-11-27 07:36:56

标签: c# wmi wmi-query

我正在构建一个C#监控应用程序,该应用程序使用WMI来获取远程计算机的一些性能详细信息。什么是一些很好的WMI查询来获取有用的统计信息,如CPU负载,RAM使用率,HDD可用空间等。

例如,您可以使用查询“SELECT * FROM Win32_Processor”从属性“LoadPercentage”获取CPU负载。

还有哪些其他有用的属性&疑问?

4 个答案:

答案 0 :(得分:3)

我认为这有点复杂,特别推荐几个课程,因为WMI很广泛,取决于你想要获得的信息类型。

我的建议是您看到以下链接。

答案 1 :(得分:2)

您需要使用几个类。我认为一个好的开始是将(大部分)静态类与性能类分开。

静态

  • 计算机系统 - Win32_ComputerSystem
  • 操作系统 - Win32_OperatingSystem
  • 处理器信息 - Win32_Processor
  • HDD - Win32_DiskDrive
  • 磁盘分区 - Win32_DiskPartition
  • 逻辑磁盘 - Win32_LogicalDisk
  • 逻辑磁盘到分区 - Win32_LogicalDiskToPartition
  • 内存 - Win32_PhysicalMemory,Win32_PhysicalMemoryArray
  • 网络 - Win32_NetworkAdapter(如果经常调用此类会有很高的cpu代价),Win32_NetworkAdapterConfiguration

性能计数器

  • 处理器利用率 - Win32_PerfRawData_PerfOS_Processor
  • 内存使用率 - Win32_PerfRawData_PerfOS_Memory
  • 网络利用率 - Win32_PerfRawData_Tcpip_NetworkInterface

还有更多,但这些将涵盖你所要求的。

答案 2 :(得分:0)

你会很感激http://gallery.technet.microsoft.com/scriptcenter/en-us。它组织得非常好。我收到了您从该网站提到的上述统计数据的所有查询,基本上只是复制和粘贴。

答案 3 :(得分:0)

您也可以使用Win32_Products。

这将为您提供机器上所有已安装的软件。您可以使用WMI来修复/卸载这些产品。在远程机器上非常有用。