如何使用VBScript终止进程

15 windows vbscript kill

我有这个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  
Run Code Online (Sandbox Code Playgroud)

它适用于某些进程,但是当涉及到在SYSTEM下运行的任何进程时,它无法阻止它.

在SYSTEM下有什么我需要添加来杀死进程吗?

Jos*_*lio 18

我过去使用它的方法是使用微软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
Run Code Online (Sandbox Code Playgroud)