Powershell Get-Counter 未报告

Powershell Get-Counter 未报告

使用 cmdlet:

Get-Counter -ComputerName $server '\Processor(*)\% Processor Time'

-要不就-

Get-Counter -ComputerName $server

我收到错误信息:

get-counter : The specified object was not found on the computer.
At line:1 char:1
+ get-counter -ComputerName '********' '\Processor(*)\% Processor Time ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidResult: (:) [Get-Counter], Exception
    + FullyQualifiedErrorId : CounterApiError,Microsoft.PowerShell.Commands.GetCounterCommand

我已经在其他 3 台几乎相同的 Windows [2000] 服务器上正确运行了此程序,但无法在此服务器上报告。VM 已重新启动多次。此外,服务器统计信息正在向 VM 管理器正确报告。

知道什么获取计数器正在尝试通信,为什么它说未找到指定的对象?

答案1

找到 Windows Server 2000 的明确答案将是一项挑战,但错误听起来与一篇常用文章中描述的完全一样:“手动重建 Windows Server 2008 64 位或 Windows Server 2008 R2 系统的性能计数器“并且我希望解决方案是一样的。

通常,使用性能计数器时会出现“未找到对象”错误,这表明一个或多个性能计数器已损坏,需要重建。

引用文章,以防链接失效:

1. 检查注册表以确保您要使用的计数器未被禁用。

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\%servicename%\Performance
  • 值为 1 表示计数器被禁用。
  • 值为 2 表示 32 位计数器被禁用。
  • 值为 4 表示 64 位计数器被禁用。

2.重建计数器:

cd c:\windows\system32
lodctr /R
cd c:\windows\sysWOW64
lodctr /R

3. 使用 Windows 管理规范 (WMI) 重新同步计数器:

WINMGMT.EXE /RESYNCPERF

4. 停止并重新启动性能日志和警报服务。

5. 停止并重新启动 Windows Management Instrumentation 服务。

6. 创建一个新的数据收集器集(不要使用现有的数据收集器集)。

相关内容