我试图关闭一个没有响应的进程,第一次点击“结束进程”后,什么也没发生。所以我又做了一次,这次弹出一个窗口说“访问被拒绝”。最终进程确实关闭了,但这让我开始思考……
如果我以管理员身份运行任务管理器,它还会给我这个“访问被拒绝”消息吗?或者,事实上,Windows 10 默认以管理员身份运行任务管理器(当用户帐户为管理员时)。此外,以管理员身份运行与不以管理员身份运行有什么区别吗?
通过此方法以管理员身份运行:
我没有发现这与仅仅执行Ctrl+ Shift+之间有任何明显的区别Escape。
注意:这个问题专门针对 Windows 10(也可能是 8/8.1),我正在运行 Pro。此外,我的 UAC 设置为“从不通知”。
答案1
答案2
现有的答案非常好。我会为那些喜欢这类东西的人提供一些技术细节。
Taskmgr.exe
(在 中\Windows\System32
)是调用任务管理器时运行的程序。使用十六进制编辑器检查它,我发现它的显现套requestedExecutionLevel
到highestAvailable
。这意味着如果您以本地管理员身份运行,任务管理器将要求您提升权限。您可以通过将 UAC 设置为最高级别并按 Ctrl+Shift+Esc 启动任务管理器来轻松演示这一点,请注意它会生成提升提示。如果 UAC 不是最高级别,任务管理器可以默默提升权限,因为它是 Windows 不可或缺的组件。简而言之,是的,任务管理器在可能的情况下默认以管理员身份运行。
highestAvailable
(与之相反requireAdministrator
)允许非管理员运行该程序而无需提升权限,但他们当然无法从中执行任何管理操作。
一个快速而粗略的方法来查看一个程序是否在提升运行是启用UAC 虚拟化任务管理器的“详细信息”选项卡中的列。当且仅当该列中的进程条目是不允许,则其权限被提升。(管理进程不能进行兼容性重定向。)您还可以使用SeSecurityPrivilege
Sysinternals 检查其是否具有强大的权限(例如)进程探索器。
在回答您关于仍然被拒绝访问某些进程的问题时,Windows 有一个概念受保护的进程绝对不能从用户模式触碰它,即使是以 运行的进程也不能SYSTEM
;保护由内核强制执行。只有必要的系统服务才能获得这种保护。其中一个进程是csrss
。
答案3
我发现了导致此错误消息的另一个可能的原因,这不是我在解决“拒绝访问”错误时想到要检查的东西。
背景
从 Windows 8 开始,微软引入了一种新的资源管理机制。当系统资源需求量很大时,Windows 可能会选择将某些进程置于“挂起”状态,以便释放资源供其他进程使用。挂起的进程基本上处于冻结状态,直到系统将其取消挂起,这通常是在用户发起与该进程的交互时发生的。无论出于何种原因,任务管理器都不能免于这种机制,事实上它有一个特别出乎意料的行为:当 Windows 将 taskmgr.exe 置于挂起状态时,其“更新速度”设置也会从您设置的值更改为已暂停。但是,当进程取消暂停时,“更新速度”设置不会恢复到其原始值 - 它保持在已暂停环境!
错误原因
当任务管理器的“更新速度”设置为已暂停,详细信息选项卡可以显示不再运行的进程。如果是这种情况,并且您尝试对此类不存在的进程“结束进程”,则会收到“访问被拒绝”错误。(短期)解决方案*是确保将“更新速度”设置为其他值,例如普通的,然后尝试结束某个进程。
*至于防止“更新速度”设置切换到的长期解决方案已暂停在里面第一的地点(发生在不断地)...我还在寻找那个!