如何判断某个进程是否以管理员权限运行?

如何判断某个进程是否以管理员权限运行?

我使用的是 Windows Vista,启用了 UAC。我安装了一个应用程序,安装程序需要管理员权限。然后安装程序启动了该应用程序。我想知道该应用程序是否继续以管理员权限运行。

我尝试过 Windows 任务管理器和进程资源管理器,但似乎都没有显示此信息。

答案1

进程探索器,双击该进程以打开其属性。转到安全选项卡。在群组列表中,找到内置\管理员看看它在标志柱子。

拒绝 = 未提升(非管理员)

替代文本

所有者 = 高级(即管理员)

替代文本

答案2

在 Process Explorer 中,您可以更改显示的列并从“进程映像”选项卡中添加“完整性级别”列:

在此处输入图片描述

这显然是一个技术术语,指的是以管理员权限运行进程时发生的变化。如果您以管理员身份运行 Process Explorer,它将显示普通进程为“中”完整性级别,而高级进程为“高”。

请注意,如果您以普通用户身份运行进程资源管理器,它将显示具有管理员权限的进程,并且在完整性级别列中显示空白条目。

答案3

使用操作系统进行更新:资源监视器,我相信它包含在 Windows 7 和 Windows 10 中(不确定 Vista 是否包含)在 CPU 选项卡的进程列表部分有一个可选的“提升”列,这似乎非常准确。

答案4

如果你喜欢使用命令行工具,访问检查效用来自MS Sysinternals 套件可用于检查进程是否以管理员权限运行。

下面的标志对于此目的很有用:

  • (process)选项-p接受正在运行的进程的名称或 PID。

  • (详细)选项-v打印Windows 完整性级别

  • (安静)选项-q可防止打印版本信息。

  • (完整)选项-f还可用于提供有关进程的更多信息(用户、组和权限的安全令牌详细信息),但不需要此级别的附加详细信息来检查提升的权限。

例子

列出所有正在运行的进程的权限cmd

> accesschk.exe -vqp cmd

[5576] cmd.exe
  Medium Mandatory Level [No-Write-Up, No-Read-Up]
  RW ICS\Anthony
        PROCESS_ALL_ACCESS
  RW NT AUTHORITY\SYSTEM
        PROCESS_ALL_ACCESS
[8224] cmd.exe
  Medium Mandatory Level [No-Write-Up, No-Read-Up]
  RW ICS\Anthony
        PROCESS_ALL_ACCESS
  RW NT AUTHORITY\SYSTEM
        PROCESS_ALL_ACCESS
Error opening [6636] cmd.exe:
Access is denied.

在这里,我们可以看到cmd我启动了三个进程。前两个进程有一个中等的强制(完整性)级别,并显示为在我的域帐户下运行,表明这些进程是在没有管理员权限的情况下启动的。

但是,最后一个进程 (PID 6636) 是以提升的权限启动的,因此我的非特权命令无法读取有关该进程的信息。以提升的权限运行accesschk并明确指定其 PID 会打印以下信息:

> accesschk.exe -vqp 6636

[6636] cmd.exe
  High Mandatory Level [No-Write-Up, No-Read-Up]
  RW BUILTIN\Administrators
        PROCESS_ALL_ACCESS
  RW NT AUTHORITY\SYSTEM
        PROCESS_ALL_ACCESS

现在我们可以看到完整性级别是高的Administrators并且该进程在内置安全组下运行。

相关内容