PerformanceCounter和远程机器

问题描述 投票:2回答:3

我正在尝试在远程机器viwth System.Diagnostics.PerformanceCounter类上观看cpu性能。本地机器是Win7,远程机器是Win Server 2008 Web Edition。计算机不在工作组和/或域中。

如果我为远程机器new PerformanceCounter("processor", "% Processor Time", "_Total", machineName);创建性能计数器,我会得到“访问被拒绝”异常。

我尝试了Impersonation Sample,但我无法登录远程机器上的用户。

如何从远程计算机获取性能数据?谢谢。

c# remote-access performancecounter
3个回答
4
投票

我知道这个问题已经很老了,但我遇到了同样的问题并想分享我的解决方案。该错误基本上是说,尝试访问远程计算机的用户的Windows凭据不是“性能监视器用户”组的成员。将您的用户添加到该组应该可以解决问题。


1
投票

您需要使用LOGON32_LOGON_NEW_CREDENTIALS登录类型而不是LOGON32_LOGON_INTERACTIVE


1
投票

默认情况下,State Service仅允许本地到机器的连接。要允许远程连接,您必须将HKLM \ SYSTEM \ CurrentControlSet \ Services \ aspnet_state \ Parameters \ AllowRemoteConnection键设置为值“1”。更改AllowRemoveConnection密钥值后,您必须重新启动State Service服务才能使更改生效。还要确保您的防火墙允许连接到State Service端口(默认情况下为TCP 42424)。

© www.soinside.com 2019 - 2024. All rights reserved.