プロセスを強制終了させる

'--------------------------------------------------------------------------------------
'
'	プロセスを強制終了するスクリプト
'			(指定したプロセスをすべて強制終了させる)
'
'--------------------------------------------------------------------------------------

'オブジェクトの生成
Set objLocator = WScript.CreateObject("WbemScripting.SWbemLocator")
Set objService = objLocator.ConnectServer


'強制終了するプロセスを指定
processName = "IEXPLORE.EXE"

'確認メッセージの表示
strMsg = processName & "を強制終了します。よろしいですか?"
Set objShell   = WScript.CreateObject("WScript.Shell")
rc = objShell.Popup(strMsg, 10,, vbOkCancel)

If rc = vbCancel Then
	Wscript.echo "強制終了はキャンセルされました。"
	Wscript.Quit
ElseIf rc = vbTimeOut Then
	Wscript.echo "タイムアウトにより強制終了はキャンセルされました。"
	Wscript.Quit
ElseIf rc = vbOK Then
	Set colProcSet = objService.ExecQuery("Select * From Win32_Process Where Caption='" & processName & "'")
	For Each objProc In colProcSet
		objProc.Terminate
	Next
End If


'プロセスを終了させる
i = 10
Do
	strTmp = ""
	Set colProcSet = objService.ExecQuery("Select * From Win32_Process Where Caption='" & processName & "'")
	
	For Each objProc In colProcSet
		strTmp = objProc.Name
	Next
	
	If strTmp <> "" Then
		i = i - 1
		If i = 0 Then
			Wscript.echo processName & "を終了できませんでした。"
			Wscript.Quit
		End If
		Wscript.Sleep 500
	Else
		Exit Do
	End If
Loop

Wscript.echo processName & "を終了しました。"