Kill One or Many Processes

Description:

Useful when we want to terminate processes during uninstall. Sometimes when processes are still running during uninstall it may cause the uninstall to fail or not remove all files. This script is an example of how to kill one or many processes.

Source:

NA

Script:

Using Windows Management Instrumentation:

Dim process, processArray, objWMIService, sQuery, objProcess, objProcessList
'Add one or many processes to this array
processArray = Array("process1.exe", "process2.exe", "process3.exe")
For Each process In processArray    
set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
sQuery="select * from win32_process where name='" & process & "'"
set objProcessList = objWMIService.execquery(sQuery)
Do While objProcessList.count > 0
For Each objProcess in objProcessList
If IsObject(objProcess) Then
objProcess.Terminate()
End If
Next
set objWMIService =getobject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
sQuery="select * from win32_process where name='" & process & "'"
set objProcessList = objWMIService.execquery(sQuery)		
Loop
Next
set objWMIService= nothing
set objProcessList =nothing

 

Or using Windows Script Host:

dim WshShell : Set WshShell = CreateObject("WScript.Shell")
'Add one or many processes to this array
dim processArray  : processArray = Array("notepad.exe", "iexplore.exe")
dim process
For Each process In processArray  
WshShell.Run "TASKKILL /im " & chr(34) & process & chr(34) &  " /f /t", 0, true
Next
Set WshShell = Nothing