■[WSH]プロセスを強制終了させる
'--------------------------------------------------------------------------------------
'
' プロセスを強制終了するスクリプト
' (指定したプロセスをすべて強制終了させる)
'
'--------------------------------------------------------------------------------------
'オブジェクトの生成
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 & "を終了しました。"