windows - 通过 WMI(Windows 管理规范)检索另一个用户拥有的进程的命令行参数

标签 windows permissions wmi command-line-arguments privileges

目标: 正如标题所示,我想在监视工具的上下文中检索在 Microsoft Windows 服务器上运行的进程的命令行参数。

由于该工具用于监控关键系统,因此存在一些限制(我们不要争论它们,它们无法更改):

  • 用于监控的协议(protocol)必须是 WMI。
  • 监控工具必须使用专用用户mon-user
    • 该用户在任何情况下都不会获得计算机的(完整)管理员权限;无论具体如何,如有必要,可能会授予个人权限。
  • 该工具应检索任何用户启动的(java)进程的命令行参数,而不仅仅是mon-user

进度:当我以 mon-user 身份登录受监控系统时,我能够检索由 < 启动的进程的进程名称和命令行参数em>mon-user 使用 PowerShell 命令 Get-WmiObject Win32_Process |选择名称、命令行。这显示了所有进程的名称(包括其他用户启动的进程),但仅显示 mon-user 本身启动的进程的命令行参数。

当我从启动进程的用户帐户使用相同的命令时,我看到该用户进程的命令行参数,但看不到 mon-user

我无权访问管理员帐户,因此无法验证管理员是否能够查看两个用户启动的进程的命令行参数。

问题:根据上述观察,我得出结论,检索命令行参数与进程所有权(或其他各种论坛讨论所建议的管理权限)相关。我想知道我是否可以授予mon-user某种特权、许可或用户权利,以便获取所需的信息。

预先感谢您的回复。

最佳答案

经过一些(行政)努力,我设法找到了一个解决方案: 作为我感兴趣的流程启动的一部分(我的团队可以访问源代码),我们通过流程本身对 DACL 进行了更改,为 mon-user 提供了额外的权限PROCESS_VM_READPROCESS_QUERY_INFORMATION

非常感谢并为 eryksun 提供的有用评论+1。

关于windows - 通过 WMI(Windows 管理规范)检索另一个用户拥有的进程的命令行参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45487103/

相关文章:

windows - 单击批处理文件与将文件夹拖到批处理文件上时,循环目录搜索结果的批处理文件会发生变化

java - 在java中检查文件创建权限的最佳方法是什么

c# - 如何使用 C# 从网页打开事件查看器?

linux - 如何在不使用 find 的情况下递归设置权限,文件夹 700,文件 600

windows - WMI EnableDHCP 在断开连接的适配器上失败

c - WinApi 基础服务教程?

windows - Windows 上的 Jenkins 与 Docker - 无法运行程序 "nohup"

java - Tomcat 启动挂起

windows - 如何让 Windows 软件在脚本中以不同的用户身份运行?

linux - 在ubuntu中创建共享用户帐户