【问题标题】:Rights required to query command line on Win32_Process of windows service running under NT AUTHORITY\SYSTEM?在 NT AUTHORITY\SYSTEM 下运行的 windows 服务的 Win32_Process 上查询命令行所需的权限?
【发布时间】:2015-04-03 08:26:58
【问题描述】:

我有一个示例应用程序,它在 Win32_Process 上触发 WMI 查询,以读取作为服务运行的进程的命令行。当应用程序以管理员身份运行时,它会成功并返回服务进程的实际命令行。但是当我在具有本地管理员权限的本地用户下运行应用程序时,应用程序不会返回任何错误,但命令行值(由 IWbemClassObject::Get() 返回)为空。服务在 NT AUTHORITY\SYSTEM 下运行。

除了本地管理员外,还应授予本地用户哪些其他权限才能成功获取命令行?

问候, 罗希特

【问题讨论】:

    标签: wmi win32-process


    【解决方案1】:

    在启用 UAC 的 Vista+ 中,默认情况下,管理员用户不会在启用所有管理员权限的情况下运行,因此以管理员用户身份运行程序并不能保证它以完全管理员权限运行,就像在 XP 中那样。程序必须在提升的状态下运行才能获得完整的管理员权限。

    读取另一个进程的命令行需要SE_DEBUG_NAME 权限。如果运行您的应用的用户被允许该权限,您的应用可以在查询服务器进程信息之前使用AdjustTokenPrivilege() 启用它。

    Enabling and Disabling Privileges in C++

    【讨论】:

      猜你喜欢
      • 2020-11-27
      • 2021-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多