C# 为什么我需要是管理员才能读取.NET CLR内存性能计数器
我无法以编程方式(在c#中)找到“.NET CLR Memory”计数器类别,如前所述。以管理员身份运行解决了这个问题 但我为什么要这么做?还有别的选择吗?我想要只读访问,以查看我的应用程序内的GC生成集合,以便进行分析。最好不必使用管理员权限运行应用程序 编辑:C# 为什么我需要是管理员才能读取.NET CLR内存性能计数器,c#,.net,performancecounter,C#,.net,Performancecounter,我无法以编程方式(在c#中)找到“.NET CLR Memory”计数器类别,如前所述。以管理员身份运行解决了这个问题 但我为什么要这么做?还有别的选择吗?我想要只读访问,以查看我的应用程序内的GC生成集合,以便进行分析。最好不必使用管理员权限运行应用程序 编辑: 我可以在performance Monitor工具中看到内存性能计数器,而不用以管理员身份运行 如果不以管理员身份运行,我可以通过编程方式获得性能计数器类别的缩短列表(但不是空的),但这不包括我感兴趣的列表 我们的公司设置有点疯狂:
- 我可以在performance Monitor工具中看到内存性能计数器,而不用以管理员身份运行
- 如果不以管理员身份运行,我可以通过编程方式获得性能计数器类别的缩短列表(但不是空的),但这不包括我感兴趣的列表
- 我们的公司设置有点疯狂:我有管理员权限,但不是本地管理员组的成员。我确实有权限添加自己,但每隔30分钟左右,就会有一些自动过程将我删除。我不知道这会不会影响什么
- 将自己添加到Performance Monitor用户组没有效果(除非我需要先重新启动)
从精神上讲,看起来你肯定想绕过公司的安全政策。要警惕对系统管理员的不信任,他们往往会认真对待这一点,并会毫不犹豫地报告违规行为。当然,最好是和他们中的一个谈谈,而不是试图绕过它。您可以使用SysInternals的Process Explorer查看Perfmon.exe的安全需求。我看到对内置“性能日志用户”组的强制要求,听起来很相关。不幸的是,这没有效果。请注意,我可以在Windows附带的性能监视器工具上看到这些计数器。只是不在我的.Net应用程序中。我想你是对的。当我有时间的时候,我会研究如何将需求添加到我自己的应用程序中,但现在将自己添加到PerfMonUsers组就可以了。