Windows 10 上任务管理器是否默认以管理员身份运行?

Windows 10 上任务管理器是否默认以管理员身份运行?

我试图关闭一个没有响应的进程,第一次点击“结束进程”后,什么也没发生。所以我又做了一次,这次弹出一个窗口说“访问被拒绝”。最终进程确实关闭了,但这让我开始思考……

如果我以管理员身份运行任务管理器,它还会给我这个“访问被拒绝”消息吗?或者,事实上,Windows 10 默认以管理员身份运行任务管理器(当用户帐户为管理员时)。此外,以管理员身份运行与不以管理员身份运行有什么区别吗

通过此方法以管理员身份运行:

我没有发现这与仅仅执行Ctrl+ Shift+之间有任何明显的区别Escape

注意:这个问题专门针对 Windows 10(也可能是 8/8.1),我正在运行 Pro。此外,我的 UAC 设置为“从不通知”。

答案1

Windows 10 上任务管理器是否默认以管理员身份运行?

仅当它从管理员帐户运行时。 Ben N 的以下回答很好地解释了这是如何实际实现的。

如果我以管理员身份运行任务管理器,它是否仍会显示“访问被拒绝”消息?

是的。有很多进程甚至管理员都无权结束。此外,尝试结束不存在的任务也会产生此错误消息。

如果您收到“访问被拒绝”消息的原因是由于任务管理器未以管理员身份运行,那么您会收到以下非常明确的消息告诉您:

在此处输入图片描述

此外,以管理员身份运行与不以管理员身份运行有什么区别吗?

是的,但是您必须从非管理员帐户运行它才能看到它。

顺便说一下,上述所有行为与 Windows 8/8.1 中的行为完全相同

答案2

现有的答案非常好。我会为那些喜欢这类东西的人提供一些技术细节。

Taskmgr.exe(在 中\Windows\System32)是调用任务管理器时运行的程序。使用十六进制编辑器检查它,我发现它的显现requestedExecutionLevelhighestAvailable。这意味着如果您以本地管理员身份运行,任务管理器将要求您提升权限。您可以通过将 UAC 设置为最高级别并按 Ctrl+Shift+Esc 启动任务管理器来轻松演示这一点,请注意它会生成提升提示。如果 UAC 不是最高级别,任务管理器可以默默提升权限,因为它是 Windows 不可或缺的组件。简而言之,是的,任务管理器在可能的情况下默认以管理员身份运行

highestAvailable(与之相反requireAdministrator)允许非管理员运行该程序而无需提升权限,但他们当然无法从中执行任何管理操作。

一个快速而粗略的方法来查看一个程序是否在提升运行是启用UAC 虚拟化任务管理器的“详细信息”选项卡中的列。当且仅当该列中的进程条目是不允许,则其权限被提升。(管理进程不能进行兼容性重定向。)您还可以使用SeSecurityPrivilegeSysinternals 检查其是否具有强大的权限(例如)进程探索器

在回答您关于仍然被拒绝访问某些进程的问题时,Windows 有一个概念受保护的进程绝对不能从用户模式触碰它,即使是以 运行的进程也不能SYSTEM;保护由内核强制执行。只有必要的系统服务才能获得这种保护。其中一个进程是csrss

答案3

我发现了导致此错误消息的另一个可能的原因,这不是我在解决“拒绝访问”错误时想到要检查的东西。

背景

从 Windows 8 开始,微软引入了一种新的资源管理机制。当系统资源需求量很大时,Windows 可能会选择将某些进程置于“挂起”状态,以便释放资源供其他进程使用。挂起的进程基本上处于冻结状态,直到系统将其取消挂起,这通常是在用户发起与该进程的交互时发生的。无论出于何种原因,任务管理器都不能免于这种机制,事实上它有一个特别出乎意料的行为:当 Windows 将 taskmgr.exe 置于挂起状态时,其“更新速度”设置也会从您设置的值更改为已暂停。但是,当进程取消暂停时,“更新速度”设置不会恢复到其原始值 - 它保持在已暂停环境!

错误原因

当任务管理器的“更新速度”设置为已暂停,详细信息选项卡可以显示不再运行的进程。如果是这种情况,并且您尝试对此类不存在的进程“结束进程”,则会收到“访问被拒绝”错误。(短期)解决方案*是确保将“更新速度”设置为其他值,例如普通的,然后尝试结束某个进程。

 

*至于防止“更新速度”设置切换到的长期解决方案已暂停在里面第一的地点(发生在不断地)...我还在寻找那个!

相关内容