有人可以向我澄清读取和写入性能计数器所需的权限吗?我没有看到我需要任何特殊权限来读/写性能计数器,这与我发现的大多数资源相反。
我所接受的培训以及网络上的大多数资源都表明,管理性能计数器(创建,删除)需要管理员权限,而读/写需要管理员或本地性能监视器用户组的成员身份。我已经验证了第一个,但至于阅读/写作,我作为非管理员用户在我的Win8.1计算机上做这件事似乎没有任何问题。我可以使用perfmon,PowerShell和.NET API读取perf计数器,并使用.NET API写入自定义perf计数器,所有这些都是非管理员。
这是否在OS版本中发生了变化?或者我公司域名政策中的某些内容可能允许它?
答案 0 :(得分:0)
只有非交互式登录会话才要求用户具有“性能监视器用户”或“管理员”组的成员身份才能读取性能计数器。
请注意,我不是Microsoft员工,并且没有找到任何文档来提供有关此行为的权威声明。我只是通过自己的测试确定了这种行为。
具体地说,当使用LogonUserEx登录时,如果登录类型为LOGON32_LOGON_NETWORK,LOGON32_LOGON_NETWORK_CLEARTEXT,LOGON32_LOGON_BATCH或LOGON32_LOGON_SERVICE,则需要上述组之一的成员身份才能读取性能计数器。但是,如果使用LOGON32_LOGON_INTERACTIVE或LogonUserEx文档中列出的任何其他其他登录类型登录,则不需要使用上述组之一的成员身份即可读取性能计数器。
此外,我确定Vista RTM确实对交互式登录会话强制执行此限制,并且Vista SP1中引入了交互式登录会话的当前放松状态。尽管今天几乎没有用户在运行Vista RTM,但是如果您阅读了文档或其他当时可能写的建议(或者较新的建议可能是从较旧的建议中盲目复制的),则请牢记这是一个很好的上下文。 / p>