如何使用VBScript来终止进程

我有这个VBScript代码来终止一个进程

Const strComputer = "." Dim objWMIService, colProcessList Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colProcessList = objWMIService.ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'Process.exe'") For Each objProcess in colProcessList objProcess.Terminate() Next 

它对一些进程工作正常,但是当涉及到任何进程在SYSTEM下运行,它不能停止它。

是否有什么我需要添加杀死系统下的进程?

我过去的工作方式是使用微软SysInternals的PsKill PsKill可以终止系统进程和被锁定的进程。

您需要下载可执行文件并将其放在与脚本相同的目录中,或者在WshShell.Exec调用中添加它的路径。 这是你的示例代码更改为使用PsKill。

 Const strComputer = "." Set WshShell = CreateObject("WScript.Shell") Dim objWMIService, colProcessList Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colProcessList = objWMIService.ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'Process.exe'") For Each objProcess in colProcessList WshShell.Exec "PSKill " & objProcess.ProcessId Next