以SYSTEM用户身份使用命令提示符(Windows 7)


10

在Windows 7上如何以SYSTEM用户身份获得命令提示符?

上下文:我正在测试计算机启动脚本,并且需要弄清以SYSTEM而不是用户帐户运行时命令的行为。

我已经看到了使用at和进行此操作的psexec方法,但是这些方法似乎仅在Windows XP或Windows Vista上有效。

我正在使用Windows 7 Pro SP1。


1
SYSTEM通常是在用户服务下运行,而不是交互式帐户...
Austin T French

1
也许我误会了一些东西。目标是:我有一个脚本,计划通过组策略部署到我们的组织。即使脚本可以正常工作,但事实并非如此。
stephenwade

1
该脚本将作为计算机启动脚本运行,我认为它将作为SYSTEM运行;因此,我希望以命令提示符作为SYSTEM来测试我的脚本。我是否正确将启动脚本作为SYSTEM运行?如果是这样,测试脚本的最佳方法是什么?
stephenwade

1
组策略中的计算机启动脚本。
stephenwade

1
I've seen ways to do this with at and psexec, but those methods only appear to work on Windows XP or Windows 7. I'm using Windows 7 Pro SP1. 嗯...ఠ_ಠ
Synetech

Answers:


3

这是在Stack Overflow上提出的。接受的答案使用Scott建议的PsExec(来自Systinternals套件)。

另一个解决方案涉及创建在系统帐户下运行的服务以运行命令解释器。您可以手动执行此操作,也可以使用创建服务的程序,运行提示,然后自动删除服务。我只是尝试了一下,但效果很好:

CMD作为系统运行的Task Manager的屏幕截图


9

使用Microsoft Systinternals套件中的PsExec。PsExec必须从管理命令提示符下运行。使用-i -s开关启动脚本/命令提示符。

在此处输入图片说明


1
即使在管理员命令提示符下,我Access is denied.
也会

@stephenwade您如何获得管理员命令提示符,是否右键单击并执行“以管理员身份运行”?在启动PsExec之前打开窗口时,在图块中是否显示“管理员:命令提示符”?另外,如果您尝试将其指向要运行的网络文件,则在提升过程中会丢失用于连接到远程共享的令牌。
Scott Chamberlain

是的,我右键单击“开始”菜单中的“命令提示符”,然后单击“以管理员身份运行”。
stephenwade

1
我正在从链接到H:驱动器的网络文件夹中运行psexec。可能是问题所在吗?
stephenwade

1
@stephenwade是的,在提升时,松开网络驱动器(因为它们已与用户帐户绑定,并且您正在更改用户帐户),请在本地复制,它将起作用。
Scott Chamberlain

1

我会非常小心。SYSTEM是管理员帐户,但由于具有较高的访问权限,因此危险得多得多。

通常,您的SYSTEM是在其下运行的帐户服务,而不是交互式配置文件。尽管有一些方法可以做到这一点。

通过阅读这篇文章,我认为我们有一个很好的方法:

  1. 检查已登录帐户的名称(单击“开始”。您
    将看到已登录帐户的名称。)
  2. 启动命令提示符。(
    在命令提示符下,依次单击“开始|运行| cmd | [Enter]”),创建运行cmd.exe的计划。
    要创建时间表,请输入以下行,然后按Enter。
    在10:41 /interactive“cmd.exe”处,
    这将创建一个时间表,以在10:41运行cmd.exe。
    (由于正在测试,请尝试检查系统中的时间并尝试添加两到三分钟。)根据当地时间更改此时间。
    提示:您可以通过 “”中键入“ at
    ,然后在上面的内容后按Enter 来检查是否安排了时间表步。
  3. 等待您为时间表设置的时间。
    cmd.exe将在指定时间启动。
  4. 在计划的时间启动cmd.exe之后,按[CTRL] + [ALT] + [DEL],然后启动任务管理器。
    选择“进程”选项卡,在进程列表中选择explorer.exe,然后单击“ 结束进程 ”按钮。
    您将收到确认对话框。单击“是”结束该过程。
  5. 通过单击关闭(X)按钮关闭任务管理器。
    关闭第一个cmd窗口(请注意关闭第一个而不是第二个。)
  6. 现在,只有第二个命令提示符窗口和一个空桌面。
    在命令提示符下,键入以下行,然后单击“ Enter”
    。cd ..
  7. 在命令提示符下键入以下行,然后单击“ Enter”
    explorer.exe。
    如果这是您第一次执行此操作,则Windows将创建必要的
    组件,供您在完成后访问系统(桌面,开始菜单,
    我的文档)
    。一个新的桌面。
  8. 关闭命令提示符窗口。单击开始,然后检查您的用户名。
    它已更改为系统。
    现在您是超级用户。如果您不知道自己在做什么,请小心不要损坏您的PC并删除或修改系统文件。

另一个选择是将脚本作为服务运行。


2
at在Windows 7中不起作用
stephenwade

1
at在我的Windows 7计算机上运行。什么对您不起作用?
uSlackr 2013年

3
这是终止Windows 7中浏览器进程的另一种方法(快速?):单击“开始”。将鼠标移到菜单的右侧(“运行”和“注销”在其中)。(Ctrl)+(Shift)+(右键); 点击“退出浏览器”。
斯科特,

2
C:\ Windows \ system32> 23:56 / interactive“ cmd.exe”警告:由于增强了安全性,因此此任务将在预期的时间运行,但不会以交互方式运行。如果需要交互式任务,请使用schtasks.exe实用程序(有关详细信息,请使用“ schtasks /?”)。添加了工作ID = 1的新工作blogs.technet.com/b/askds/archive/2008/10/22/…–
Dagelf

1

也有一些更骇人听闻的方法,它涉及基本上将cmd.exe替换为\ Windows \ System32中的Utilman.exe(显然需要备份)。您必须事先在当前运行的Windows之外执行此操作(例如,在Linux中或通过安装/恢复CD)。这是一个使用示例脚本(通过Windows):

cd "%SystemRoot%\System32"
ren Utilman.exe Utilman.exe.bak
robocopy cmd.exe Utilman.exe /copyall

完成此操作后,启动到常规Windows并按Windows Key + U,而不是调出一组实用程序来辅助可访问性等,而是调出系统级命令提示符以及您系统中的所有可用工具。 。


此外,即使没有重新启动磁盘,也可以在Windows中无需磁盘就可以执行此操作。只需转到的System32,打开其属性UtilMan.exe,获取所有特权和所有权,然后执行此步骤。
射流

如果您无法登录系统而只能进入登录屏幕,这将非常方便
Vitas
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.