在Windows上读取性能数据计数器是否需要特殊的安全权限?

Pat*_*k W 8 c++ security winapi performancecounter

我正在努力将Windows应用程序从始终作为SYSTEM帐户运行迁移到以受限用户帐户运行.此应用程序执行的许多操作之一是查询Windows性能计数器,以便记录整个系统内存和CPU使用情况.MSDN的权限常量列表含糊不清,但SE_PROF_SINGLE_PROCESS_NAME或者SE_SYSTEM_PROFILE_NAME说这可能是这种操作所必需的.然而,功能,如MSDN文档PdhOpenQuery,PdhAddCounter以及PdhCollectQueryData不提任何要求的权限.

鉴于此,查询性能数据计数器是否需要任何权限?或者,具体做什么SE_PROF_SINGLE_PROCESS_NAMESE_SYSTEM_PROFILE_NAME特权授予访问权限?

Ste*_*fan 1

此处的“关于性能计数器”描述中提到了所需的权限:

只有计算机管理员或性能日志用户组中的用户才能记录和查看计数器数据。仅当管理员组中的用户用于记录和查看计数器数据的工具是从通过以管理员身份运行打开的命令提示符窗口启动时,才可以记录和查看计数器数据。性能监控用户组中的用户可以查看计数器数据。

Windows XP:管理员或管理员组中的用户可以不受限制地记录和查看计数器数据。