为什么我需要管理员来阅读.NET CLR内存性能计数器

Rob*_*Rob 3 .net c# performancecounter

我无法以编程方式(在c#中)找到".NET CLR Memory"计数器类别,就像在这个问题中一样.以管理员身份运行解决了问题.

但为什么我需要这样做呢?还有其他选择吗?我想要只读访问,在我的应用程序中查看GC生成集合以进行性能分析.最好不必使用管理员权限运行应用程序.

编辑:

  • 我可以在性能监视器工具中看到内存性能计数器,而无需以管理员身份运行
  • 如果不以Admin身份运行,我可以通过编程方式获得一个缩短(但不是空)的性能计数器类别列表,但这不包括我感兴趣的那个.
  • 我们的公司设置有点疯狂:我有管理员权限,但我不是本地管理员组的成员.我确实有权添加自己,但每30分钟左右一些自动化过程会删除我.不知道这是否会影响任何事情
  • 将自己添加到性能监视器用户组没有任何效果(除非我需要先重启)

Kon*_*osa 7

您只需要在组性能监视器用户中.只需将非管理员用户添加到该组即可解决问题.


Han*_*ant 6

性能计数器存在安全隐患.常见的攻击技术之一是观察安全代码的执行.这种代码中一个非常常见的错误是它没有持续的执行时间,例如在密码无效时采取不适当的快捷方式.这可以大大减少暴力攻击企图的次数.

从本质上讲,您肯定希望绕过公司的安全策略.警惕不信任系统管理员,他们倾向于认真对待这一点,并会毫不犹豫地举报违规行为.当然最好与其中一个交谈,而不是试图破解它.您可以使用SysInternals的Process Explorer查看Perfmon.exe的安全需求.我看到对内置"性能日志用户"组的强制要求,听起来很相关.