脚本调用WMI下terminate方法和ntsd调试关闭进程方法来杀进程
基本可以杀掉大部分的进程,另外如果还嫌不够好使用的话可以增加外部程序pskill等来杀进程
原代码如下:
'kill all but system
'By spark
Dim strComputer,astr,Wshshell,objWMIService,ntsdkill,ps
strComputer = "." '设置要操作的计算机
astr = "Select * from Win32_Process" '查询语句
set WshShell=wScript.CreateObject("WScript.Shell")
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcessList = objWMIService.ExecQuery _
(astr)
'kill begin
For Each ps in colProcessList
ps.name = LCase(ps.name) 'LCase(string)返回字符串小写
ntsdkill = "ntsd -c q -p" + " " + ps.handle
If(ps.handle = 0)then
elseif(ps.handle = 4)then
elseif(ps.name = "smss.exe")then
elseif(ps.name = "winlogon.exe")then
elseif(ps.name = "services.exe")then
elseif(ps.name = "lsass.exe")then
elseif(ps.name = "csrss.exe")then
elseif(ps.name = "wscript.exe")then
elseif(ps.name = "alg.exe")then '防火墙
elseif(ps.name = "ctfmon.exe")then '输入法
elseif(ps.name = "explorer.exe")then
elseif(ps.name = "msmpeng.exe")then '微软defender
elseif(ps.name = "soundman.exe")then
elseif(ps.name = "svchost.exe")then
elseif(ps.name = "wmplayer.exe")then
elseif(ps.Terminate() = 0) then '用terminate的返回值判断是否杀进程成功,0为成功
else
WshShell.exec ntsdkill
End if
Next
复制,在记事本里保存成.vbs文件既可
上面所包含的不杀的进程,凭个人需求,可以随便 添加减少.
转载请著明原处
没有评论:
发表评论