如何在 Windows 7 上以 SYSTEM 用户身份获取命令提示符?
背景:我正在测试计算机启动脚本,我需要弄清楚以 SYSTEM 而不是我的用户帐户运行时命令的行为。
我已经看到了使用at
和实现此目的的方法psexec
,但这些方法似乎仅适用于 Windows XP 或 Windows Vista。
我正在使用 Windows 7 Pro SP1。
答案1
这是在 Stack Overflow 上提问.接受的答案使用执行程序(来自系统内部正如斯科特 (Scott) 所建议的那样,我建议大家尝试一下“套房” (suite)。
另一种解决方案是创建一个在系统帐户下运行的服务来运行命令解释器。您可以手动执行此操作,也可以使用程序创建服务,运行提示,然后自动删除服务。我刚刚试过,效果很好:
答案2
使用Microsoft Systinternals 套件中的 PsExec。PsExec 必须从管理命令提示符运行。使用-i -s
开关启动您的脚本/命令提示符。
答案3
还有一个更棘手的方法,基本上就是在 \Windows\System32 中用 cmd.exe 代替 Utilman.exe(这显然需要备份)。您必须事先在当前运行的 Windows 之外执行此操作(例如在 Linux 中或通过安装/恢复 CD)。下面是一个要使用的示例脚本(通过 Windows):
cd "%SystemRoot%\System32"
ren Utilman.exe Utilman.exe.bak
robocopy cmd.exe Utilman.exe /copyall
完成此操作后,启动常规 Windows 并按 Windows 键 + U,它不会调出一组实用程序来帮助实现可访问性等,而是调出一个系统级命令提示符,其中包含系统的所有可用工具。
答案4
我会非常做这个要小心。SYSTEM 是管理员帐户,但它更危险,因为它有更高的访问权限。
通常,您的系统是运行服务的帐户,而不是交互式配置文件。不过,有办法做到这一点。
读完这个我认为我们有一个很好的方法:
- 检查您登录的帐户名称(单击开始。您
将看到您登录的帐户名称。) - 启动命令提示符。(开始 | 运行 | cmd | [Enter])
在命令提示符中,创建运行 cmd.exe 的计划。
要创建计划,请键入以下行并按回车键。
在 10:41 /交互式“cmd.exe”
这将创建一个计划,在 10:41 运行 cmd.exe。
(由于您正在测试,请检查系统中的时间并尝试添加两三分钟。)根据您当地的时间更改此时间
提示:您可以通过输入“在“
并在上述步骤后按回车键。 - 等待您设置的时间表的时间。
命令执行程序将在指定时间发射。 - 后命令执行程序按计划时间启动,按 [CTRL] + [ALT] + [DEL] 并启动任务管理器。
选择“进程”选项卡,选择浏览器在进程列表中,单击“结束进程”按钮。
您将收到一个确认对话框。单击“是”结束该过程。 - 单击关闭 (X) 按钮关闭任务管理器。
关闭第一个 cmd 窗口(注意关闭第一个而不是第二个。) - 现在你只有第二个命令提示符窗口和一个空桌面。
在命令提示符中输入以下行并按“Enter”
光盘 .. - 在命令提示符中输入以下行并按“Enter”
浏览器
如果这是您第一次执行此操作,Windows
会为您创建访问系统所需的组件(桌面、开始菜单、
我的文档),
完成后您将拥有一个新的桌面。 - 关闭命令提示符窗口。单击开始并检查您的用户名。
它已更改为 System。
现在您是超级用户了。如果您不知道自己在做什么,请小心不要损坏您的 PC 并删除或修改系统文件。
另一种选择是将脚本作为服务运行。