|
//获取system的winlogon.exe进程的id
FIND --pid*@. pidInfo,winlogon.exe
LPOS index= ,1,%pidInfo%
LSTR pid=%index%,%pidInfo%
//强制结束system的winlogon.exe进程, 解除10天后重启的限制
WAIT 300000
KILL -force *%pid%
_END
这段PECMD代码无法达到预期目的,并且存在几个关键问题:
主要问题分析:
FIND命令语法错误:
FIND --pid*@. pidInfo,winlogon.exe 语法不正确
正确语法应该是:FIND --pid*[进程名],[变量名]
LPOS和LSTR使用错误:
LPOS 用于查找子串位置,但这里需要的是提取进程ID
进程ID应该是FIND命令返回的第一个值,而不是字符串位置
根本性问题:
即使语法正确,结束system权限的winlogon.exe进程通常需要系统权限
在普通用户权限下无法结束系统关键进程
强行结束可能导致系统不稳定或蓝屏
修正后的代码:
ini
//获取system的winlogon.exe进程的id
FIND --pid*winlogon.exe,pidInfo
MSTR pid=<1>%pidInfo%
//显示找到的进程ID(调试用)
MESS 找到winlogon.exe进程ID: %pid%
//强制结束system的winlogon.exe进程(需要系统权限)
WAIT 3000
KILL -force %pid%
更好的替代方案:
要解除Windows 10天后重启限制,建议使用以下方法:
修改注册表(推荐):
REGI HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows\RestartOnFailure=0
|
|