当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 如何在Windows中的SYSTEM(LocalSystem)下运行CMD/程序?

作者:精品下载站 日期:2024-12-14 22:55:30 浏览:13 分类:玩电脑

如何在Windows中的SYSTEM(LocalSystem)下运行CMD/程序?


要在 Windows 中执行某些操作,仅拥有管理员权限是不够的。例如,您无法替换或删除系统文件和某些注册表项、停止系统服务或执行一些其他可能影响操作系统稳定性的潜在不安全操作。在这些情况下,系统管理员可以取得文件或其他对象的所有权,或代表系统帐户执行操作。在本文中,我们将了解如何以特权身份运行应用程序或命令提示符

SYSTEM

LocalSystem

) Windows 10 上的帐户。

免责声明。代表 SYSTEM 帐户更改 Windows 映像是非标准操作。请注意,使用 NT AUTHORITY\SYSTEM 权限执行的错误操作可能会破坏您的 Windows。在实践中,很少使用以系统帐户运行进程。在大多数情况下,您可以使用一些标准方法解决问题:runas、在没有管理员权限的情况下运行应用程序并抑制 UAC 提示、获取文件/注册表项的所有权、对所有或仅某些应用程序禁用 UAC、为非管理员用户授予服务管理权限。

内置的SYSTEM帐户供SCM(服务控制管理器)用来运行和管理系统服务。使用系统帐户(也可能称为NT AUTHORITY\SYSTEM本地系统计算机\本地系统)运行大多数系统服务和进程(包括NT OS 内核)。打开服务管理 mmc 管理单元(

services.msc

)并记下登录方式列中具有本地系统的服务。这些服务在 SYSTEM 帐户下运行。

[玩转系统] 如何在Windows中的SYSTEM(LocalSystem)下运行CMD/程序?

如何在Windows(Vista之前的版本)中以本地系统帐户运行CMD?

在 Windows XP 和 Windows Server 2003(不再受支持)中,有一个有趣的技巧,允许您使用任务计划程序以系统权限运行程序或交互式命令提示符 (cmd.exe)。只需在管理员帐户下打开命令提示符并运行以下命令即可:

at 10:23 /interactive cmd.exe

在哪里,

10:23

是当前时间 + 一分钟(24 小时制)

当指定时间到来时,将出现在本地系统帐户下运行的命令提示符。如果您在 Windows Server 2003/XP 上的终端 (RDP) 会话中运行此命令,请注意,具有系统权限的命令提示符仅显示在控制台会话中(您可以通过以下方式连接到计算机控制台)

mstsc /console

或者

mstsc /admin

)。

[玩转系统] 如何在Windows中的SYSTEM(LocalSystem)下运行CMD/程序?

Windows 10 不支持使用以下命令运行交互式命令提示符

at

命令。推荐使用

schtasks.exe

反而。

Warning: Due to security enhancements, this task will run at the time expected but not interactively.
Use schtasks.exe utility if interactive task is required ('schtasks /?' for details).
The request is not supported.

[玩转系统] 如何在Windows中的SYSTEM(LocalSystem)下运行CMD/程序?

如何使用 PSExec 在 Windows 10 上以系统身份运行 CMD/进程?

在 Windows 7 或更高版本中,无法使用任务计划程序在系统帐户下运行交互式命令提示符。要以 NT Authority\ System 身份运行命令,您可以使用 Sysinternals 的 PSExec.exe 实用程序。

您可以从 Microsoft 网站下载 PSExec.exe 工具:https://docs.microsoft.com/en-us/sysinternals/downloads/psexec。所有 Windows 管理员都熟悉 PSExec。在大多数情况下,它用于远程管理 Windows,并且它还具有代表系统帐户运行进程的有用功能。某些防病毒软件可能会将 PSExec.exe 识别为潜在有害程序(顺便说一下,正是 psexec 用于传播臭名昭著的 notpetya 病毒)。

PSExec 不需要安装。打开提升的命令提示符(“以管理员身份运行”),转到 PSexec.exe 所在的文件夹并运行以下命令:

psexec -i -s cmd.exe

-i - 允许以交互模式启动进程/应用程序(用户可以与桌面上的应用程序交互;如果不使用此参数,进程将在控制台会话中启动),

-s - 表示进程(在本例中为命令提示符)必须以系统帐户运行。

首次运行 PsExec 时,系统将提示您接受许可协议。

[玩转系统] 如何在Windows中的SYSTEM(LocalSystem)下运行CMD/程序?

运行命令后,将出现一个新的命令提示符窗口,在 NT Authority\System 帐户下运行。通过运行以下命令来确保它是正确的:

whoami

[玩转系统] 如何在Windows中的SYSTEM(LocalSystem)下运行CMD/程序?

因此,您可以作为系统帐户运行任何程序、命令或脚本。将 PsExec 参数中的 cmd.exe 替换为要运行的应用程序可执行文件的名称就足够了。

在出现的命令提示符窗口中,您可以以 SYSTEM 身份运行任何命令。现在您可以更改、重命名或删除 TrustedInstaller 或 SYSTEM 拥有的系统文件/注册表项。您在此窗口中启动的所有程序或进程都将以提升的本地系统权限运行。例如,您可以停止系统服务或关闭系统进程打开的文件。

使用 PSExec,您可以在远程计算机上使用 NT AUTORITY\SYSTEM 权限打开交互式命令提示符。为此,使用以下命令:

psexec -s \mun-b21pc12 cmd.exe

如果“

Couldn’t install PSEXESVC service

” 出现错误,请确保:

  • 命令提示符以管理员身份运行;

  • 另一个 PSEXESVC 服务实例未运行

    [玩转系统] 如何在Windows中的SYSTEM(LocalSystem)下运行CMD/程序?

还有许多第三方工具可以作为系统帐户运行应用程序(AdvancedRun RunAsSystemPowerRun),但我看不到使用它们的任何意义。首先,它们是第三方的,你不能确定它们没有恶意代码。其次,微软的官方 PsExec 实用程序做得很好。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯