使用 Sysinternal 的 psexec 工具在 Windows Vista 或 7 上的 SYSTEM 帐户中运行 Explorer?

使用 Sysinternal 的 psexec 工具在 Windows Vista 或 7 上的 SYSTEM 帐户中运行 Explorer?

有人在 Windows Vista 或 7 上的 SYSTEM 帐户中成功启动 Windows 资源管理器实例吗?在 XP 上可以执行此操作,但我无法让它在 Vista 或 7 上完全正常工作。

尝试以 SYSTEM 身份启动 Explorer 进入会话 1(我的用户会话)会导致 Explorer 立即退出并返回错误代码 1。

我可以使用以下命令以 SYSTEM 身份启动 Explorer 并进入会话 0:

psexec -i 0 -s explorer

这将创建一个以 SYSTEM 身份运行的资源管理器实例,并在隐藏的会话 0 桌面上显示任务栏和开始菜单,但不允许您打开文件浏览器窗口。如果您切换到隐藏的会话 0 桌面并尝试从那里打开资源管理器窗口来浏览文件,则会出现以下错误消息:

“无法启动服务器进程,因为配置的身份不正确。请检查用户名和密码。”

我已将我的用户帐户和系统帐户的以下注册表项设置为 1:

\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\SeparateProcess

一定有办法实现这个吗?如果不可能,谁能解释一下原因?

-抢

答案1

杀死所有探险者

pskill 探索器

然后启动

psexec -i -s 资源管理器

您的任务栏将作为系统运行,因此您通过它打开的所有内容都将作为系统运行。

完成后再次终止它并通过任务管理器打开正常的资源管理器(Ctrl-Shift-Esc)

答案2

为什么(来自“会话 0 隔离对 Windows 中的服务和驱动程序的影响“):

在 Windows XP、Windows Server 2003 及更早版本的 Windows 中,所有服务都与应用程序一起在会话 0 中运行。这种情况会带来安全风险。在 Windows Vista、Windows Server 2008 及更高版本的 Windows 中,操作系统将服务隔离在会话 0 中,并在其他会话中运行应用程序,因此可以保护服务免受源自应用程序代码的攻击。

从该页面上的 MS 论文中:

在 Windows Vista®、Windows Server 2008 及更高版本的 Windows 中,操作系统通过隔离会话 0 中的服务并使会话 0 不交互来缓解此安全风险。只有系统进程和服务在会话 0 中运行。

我确实发现了这个小型免费软件实用程序,它显然允许您在 Vista 中的会话 0 中启动程序;没有提到 Windows 7 兼容性,我还没有测试过它。

您可以找到该程序(“以系统身份运行”)这里,也许它会帮助你完成你想做的事情。

以下是该页面的简介:

这是一款简单的工具,可让您在本地系统帐户下启动程序或运行命令和脚本。需要 PC 上的管理权限。此工具与 Vista UAC 完全兼容。

希望有帮助...

答案3

建议:对于具有管理权限的文件管理,我使用第三方“资源管理器”,然后在我的主帐户下“以...身份运行”。

我一直在使用“FreeCommander”(自由指挥官): 当您右键单击其中的资源管理器命令(例如属性)时,它们正确具有管理员权限。

一个额外的好处是视觉上不是资源管理器可以立即看到您是否处于管理窗口中(减少了做一些愚蠢的事情的风险)。

答案4

尝试一下这个:

psexec \localhost -i 0 cmd 您应该在隔离会话 0 中启动您的资源管理器或其他 GUI

相关内容