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