psexec 是唯一能在当前 cmd 会话中直接派生 system 权限子进程的方法,执行 psexec -i -s cmd.exe 可启动交互式 system 命令行,标题栏显示“system@计算机名”即成功,可访问 sam、winsxs 等受保护资源。

你需要在 Windows 11 的命令提示符中以 SYSTEM 账户身份启动某个程序(例如服务调试工具、驱动安装器或注册表编辑器),但普通管理员权限仍被拒绝访问关键对象,因为 NT SERVICE\TrustedInstaller 或 LOCAL SERVICE 等系统级上下文才能绕过内核对象 ACL 检查。
用 PsExec 直接以 SYSTEM 权限启动 CMD 子进程
这是唯一能在当前 CMD 会话中直接派生 SYSTEM 权限子进程的方法,无需重启、不依赖内置 Administrator 账户,且能保留当前路径和环境变量。
方法一:下载并运行 PsExec(微软官方 Sysinternals 工具)
1、访问 learn.microsoft.com/sysinternals/downloads/psexec 下载 PsExec.zip,解压到 C:\tools\psexec\。
2、以管理员身份运行 CMD → 执行:cd /d C:\tools\psexec → 确保当前目录正确。
3、输入命令:psexec -i -s cmd.exe,回车后将弹出一个新窗口。
4、检查新窗口标题栏——若显示“SYSTEM@计算机名”,说明已成功切换至 SYSTEM 会话;此时所有命令均以内核级令牌运行,可直接操作 HKEY_LOCAL_MACHINE\SAM、C:\Windows\System32\drivers\etc\hosts、WinSxS 中的组件文件等受保护资源。
注意:-i 参数表示交互式桌面会话,-s 表示 SYSTEM 账户;省略 -i 将导致进程在 Session 0 运行,无法看到 GUI 窗口,也收不到用户输入。
通过任务计划程序创建 SYSTEM 权限的 CMD 启动任务
该方法适用于需长期驻留、自动触发或绕过 UAC/登录会话限制的场景,生成的任务可在任意用户未登录时由系统会话执行。
第一步:创建触发即运行的即时任务
1、在管理员 CMD 中执行:schtasks /create /tn "RunAsSystem" /sc ONSTART /ru "NT AUTHORITY\SYSTEM" /tr "cmd.exe /c start cmd.exe"。
2、命令无报错即创建成功;【必须确保 /ru 参数严格为 NT AUTHORITY\SYSTEM,大小写敏感,拼错将回退为默认用户】。
3、立即运行该任务:schtasks /run /tn "RunAsSystem"。
4、几秒后会弹出一个 CMD 窗口,右键标题栏→属性→选项卡→查看“当前用户”字段,确认显示为 SYSTEM。
第二步:清理残留任务(可选)
任务仅用于一次性提权,用完后建议删除:schtasks /delete /tn "RunAsSystem" /f。不删除也不会影响系统,但会持续在开机时尝试启动一次空命令。
从已登录的 Administrator 账户中提升至 SYSTEM
当你已启用并登录了内置 Administrator 账户,但仍需更高等级的令牌完整性(例如调试 lsass.exe 或注入内核驱动),必须脱离交互式会话进入真正的 SYSTEM 上下文。
方法一:使用 at 命令(仅限旧版兼容模式,Win11 默认禁用)
该命令已被弃用,若系统未关闭 Legacy Scheduler,可临时启用:sc config schedule start= auto & net start schedule,然后执行 at 12:00 cmd.exe。但 Win11 22H2+ 版本中此服务已移除,不推荐尝试。
方法二:强制通过服务主机派生(稳定可靠)
1、在管理员 CMD 中执行:sc create syscmd binPath= "cmd /c start cmd.exe" type= own type= interact。
2、立即启动服务:sc start syscmd。
3、此时 CMD 将以 SYSTEM 身份在 Session 0 运行,但无图形界面;如需交互,改用:sc create syscmd binPath= "cmd /c \"C:\Windows\System32\cmd.exe\" /k echo SYSTEM context active" type= own → sc start syscmd → 查看服务日志或用 Process Explorer 验证进程 token。
这一步不能直接看到窗口,但进程确实运行在 SYSTEM 完整性级别;若需 GUI,必须回到 PsExec 方案。











