3

我正在构建一个 C# 监视器应用程序,它使用 WMI 来获取远程计算机的一些性能细节。有哪些好的 WMI 查询可以获取有用的统计信息,例如 CPU 负载、RAM 使用情况、HDD 可用空间等。

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

还有哪些其他有用的属性和查询?

4

4 回答 4

3

我认为这有点复杂,特别是推荐几个类,因为 WMI 非常广泛,并且取决于您希望获得的信息类型。

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

于 2009-11-27T10:58:00.577 回答
3

几个类用于您所要求的。我认为一个好的起点是将您的(大部分)静态类与您的性能类分开。

静止的

  • 计算机系统 - Win32_ComputerSystem
  • 操作系统 - Win32_OperatingSystem
  • 处理器信息 - Win32_Processor
  • 硬盘 - 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

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

于 2011-12-09T20:23:21.853 回答
0

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

于 2010-11-26T05:03:21.553 回答
0

您也可以使用 Win32_Products。

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

于 2012-04-11T09:19:07.750 回答