首页 > 解决方案 > 如何在不使用性能计数器对象的情况下在 powershell 中获取 CPU 百分比?

问题描述

由于注册表故障或损坏,我正在尝试从我的组织中的多台计算机和其中一些计算机获取 CPU 百分比,它们的性能计数器不返回任何数据。我一直在尝试找到一个代码来查找 CPU 百分比而不使用这些计数器,以便我的 powershell 脚本也可以在这些计算机上运行。

当我开始推送以下代码时,我意识到这可能会发生:

$ $($(Get-WmiObject win32_processor | select LoadPercentage).LoadPercentage) | Measure-Object -Average).Average

之后我尝试了公共信息模块(下面的代码):

((GET-CIMInstance -class Win32_PerfFormattedData_Counters_ProcessorInformation) | Measure-Object -property PercentProcessorPerformance -Average)

(Get-CimInstance -ClassName Win32_Processor).LoadPercentage

如果这里有任何建议或一段代码可以帮助我在不使用计数器的情况下获得 CPU 百分比,请指教。提前致谢。

标签: powershellpowershell-5.0get-wmiobject

解决方案


手动重建计数器是解决此问题的最佳方法。感谢@vonPryz 指出这一点。


推荐阅读