通过psexec强制启用Winrm管理
在 wmic 被砍、WinRM 默认未启用、且 psexec 遭遇远程登录策略死锁 的极端安全策略下,我们手中还剩最后一张王牌:远程修改目标机注册表,强行激活 WinRM(Windows 远程管理)服务,然后再用 PowerShell 瞬间触发脚本。
Windows 的远程注册表服务(Remote Registry)或通过最基础的 IPC$ SMB 管道修改注册表通常是默认允许管理员操作的。我们可以利用这一点,“隔空”为目标机接通 WinRM 的任督二脉。
请在你的控制端计算机(CMD 窗口)中,依次复制并执行以下这组命令,即可彻底打破僵局:
🛠️ 终极三步走:远程强启 WinRM 并触发升级
第一步:建立最基础的管道连接(获取写入注册表权限)
net use \F202000903ipc$ "Cmpw2026#chg$08" /user:.localroot
请谨慎使用此类代码。
第二步:远程写入注册表,强制开启并配置 WinRM(完全静默)
保持上面的 CMD 窗口别关,直接把下面这 4 行命令一行行粘贴进去执行:
:: 1. 允许本地账户远程管理(解开 Token 限制)
reg add "\F202000903HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem" /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f
:: 2. 强制将 WinRM 服务启动类型改为“自动”
reg add "\F202000903HKLMSYSTEMCurrentControlSetServicesWinRM" /v Start /t REG_DWORD /d 2 /f
:: 3. 快速开启 WinRM 基础监听(允许 HTTP 5985 端口通信)
reg add "\F202000903HKLMSOFTWAREMicrosoftWindowsCurrentVersionWSMANService" /v AllowUnencrypted /t REG_DWORD /d 1 /f
:: 4. 远程命令目标机立即启动 WinRM 服务(利用 sc 绕过 wmic/winrm 限制)
sc \F202000903 start WinRM
第三步:在控制端打开 PowerShell 触发脚本
此时目标机的 WinRM 已经强行在后台复活了。请立刻在控制端打开 PowerShell,执行触发命令:
powershell
# 1. 创建凭据
$password = ConvertTo-SecureString "Cmpw2026#chg$08" -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential(".localroot", $password)
# 2. 绕过连接限制,直接用 CIM(WMI Over WinRM)隐形触发本地脚本
$opt = New-CimSessionOption -Protocol Dcom
$session = New-CimSession -ComputerName F202000903 -Credential $cred -SessionOption $opt
Invoke-CimMethod -CimSession $session -ClassName Win32_Process -MethodName Create -Arguments @{ CommandLine = "cmd.exe /c D:Templocal_upgrade.bat" }
🔒 这样操作会对正常登录的用户产生影响吗?
完全没有影响。
- 远程写入注册表、通过
sc启动服务全部在底层进行,当前正在办公的用户看不起任何弹窗和提示。 - WinRM 启动后占用的系统资源极小(几 MB 内存),用户绝无卡顿感。
- PowerShell 触发
local_upgrade.bat后,升级进程将在独立的Session 0(系统隔离会话)中隐形起跑。
请在控制端 CMD 中尝试执行 第二步的注册表和服务启动命令。只要 reg add 提示“操作成功完成”且 sc 提示服务进入 START_PENDING 或 RUNNING 状态,请立刻去第三步用 PowerShell 轰出最后一击!















