none
起動中のIEを終了する方法 RRS feed

  • 質問

  • 起動中のIEを終了したいと考えております。

    下記コマンドで終了されることは確認は確認しておりますが、プロセスの終了となると強制終了しているような気がしており、

    通常の終了方法ではないのかと懸念しております。

    Stop-Process -Name iexplore

    現在起動中のIEを終了するには、Stop-Processだと問題ありますでしょうか。

    2015年2月4日 1:53

回答

  • 手元の環境(Win7/IE10)では、複数タブを表示した IE を起動した状態で

    • taskkill /im iexplore.exe
      の場合、「すべてのタブまたは現在のタブを閉じますか」のメッセージが表示される
    • taskkill /im iexplore.exe /F
      の場合、上記メッセージが表示されない
    • Stop-Process -Name iexplore
      の場合、上記メッセージが表示されない

    という動作の違いがあったため、/f をつけない taskkill は通常の終了に近いと判断しました。

    また、複数ウィンドウ表示されている場合は、プロセスの一覧も確認し、複数回実行すればいいのではないでしょうか?

    2015年2月4日 8:04
  • ご提案いただきました方法を試してみたところ、

    Windows8上では正常に動作しましたが、なぜかWindows8.1上では動作しなかったため、

    taskkillコマンドにて対応することに致しました。

    taskkillコマンドは、PowerShellのコマンドレットではなく、かつ「強制終了のシグナルを送信しました。」と表記される部分については不本意ではありますが。

    回答ありがとうございました。

    これは私の提案したCOMオートメーションの方法のことでしょうか。当方ではWindows8.1の環境で動作しております。

    なお、taskkillコマンドのメッセージ表示を抑制させたいということであれば、

    taskkill /im iexplore.exe | Out-Null

    とすればOKです。

    • 回答としてマーク UltraKatan 2015年2月6日 0:43
    2015年2月5日 16:20
    モデレータ

すべての返信

  • ご質問の内容ですが、下記のコマンド実行は、IE を × で終了させるのと同義かという意味でよろしいでしょうか。

    Stop-Process -Name iexplore

    下記のコマンドもあるにはあります。

    taskkill /im iexplore.exe


    • 編集済み Hotaka 2015年2月4日 2:34
    2015年2月4日 2:33
  • こんにちは、

    詳しくは判りませんが、以下の様な感じでも良いかもしれません。

    >ps iexplore | %{$_.CloseMainWindow()} > $null

    2015年2月4日 4:41
  • 動作を見た感じは強制終了のように思います。

    taskkill /im iexplore.exe

    を使うのはどうでしょうか?

    taskkill コマンドには /f オプションで強制終了となりますので、/f をつけなければ通常の終了に近いと思います。

    2015年2月4日 7:24
  • taskkillを試してみましたが、

    成功: プロセス "iexplore.exe" (PID 3984) に強制終了のシグナルを送信しました。

    と言う表示があったため、これも強制終了のようです。

    また、複数ウィンドウが表示されている場合には、1つのウィンドウのみが対象となるようです。

    2015年2月4日 7:54
  • ×で終了させるのと同義と言う意味になります。

    taskkillを試してみましたが、

    成功: プロセス "iexplore.exe" (PID 3984) に強制終了のシグナルを送信しました。

    と表示されたため、このコマンドも強制終了となるようです。

    2015年2月4日 7:55
  • 手元の環境(Win7/IE10)では、複数タブを表示した IE を起動した状態で

    • taskkill /im iexplore.exe
      の場合、「すべてのタブまたは現在のタブを閉じますか」のメッセージが表示される
    • taskkill /im iexplore.exe /F
      の場合、上記メッセージが表示されない
    • Stop-Process -Name iexplore
      の場合、上記メッセージが表示されない

    という動作の違いがあったため、/f をつけない taskkill は通常の終了に近いと判断しました。

    また、複数ウィンドウ表示されている場合は、プロセスの一覧も確認し、複数回実行すればいいのではないでしょうか?

    2015年2月4日 8:04
  • 上記以外のコマンドは無いという認識です。逆に IE を終了させたときの何を懸念されてますか?
    2015年2月4日 8:17
  • COMオートメーションで閉じる手もあるかと思います。

    $shell = New-Object -com Shell.Application
    $shell.Windows() |?{ $_.Document.GetType().Name -eq "HTMLDocumentClass"}|%{$_.Quit()}

    IEでしか使えない手ですが、アプリケーションが提供しているAPIでウィンドウ終了処理を実行しているので、強制終了の扱いにはならないかと思います。

    2015年2月4日 11:49
    モデレータ
  • ご提案いただきました方法を試してみたところ、

    Windows8上では正常に動作しましたが、なぜかWindows8.1上では動作しなかったため、

    taskkillコマンドにて対応することに致しました。

    taskkillコマンドは、PowerShellのコマンドレットではなく、かつ「強制終了のシグナルを送信しました。」と表記される部分については不本意ではありますが。

    回答ありがとうございました。

    2015年2月5日 10:39

  • Stop-Processでは、次回IE起動時に「前回のブラウズ セッションは予期せずに終了しました。」と表示されますが、taskkillコマンドでは、

    強制終了と言うメッセージは表示されるものの、次回IE起動時には何のメッセージもないため、

    通常に終了されていると判断し、taskkillコマンドにて対応することと致しました。

    ご回答いただき、ありがとうございました。

    2015年2月5日 10:43
  • 具体的な懸念事項はありませんが、毎回のスクリプトの実行で強制終了を繰り返しては、

    何か問題が起きた時に、要因の分析が難しくなると判断したため、なるべくリスクを軽減したいと言う意味での対応となります。

    2015年2月5日 10:45
  • ご提案いただきました方法を試してみたところ、

    Windows8上では正常に動作しましたが、なぜかWindows8.1上では動作しなかったため、

    taskkillコマンドにて対応することに致しました。

    taskkillコマンドは、PowerShellのコマンドレットではなく、かつ「強制終了のシグナルを送信しました。」と表記される部分については不本意ではありますが。

    回答ありがとうございました。

    これは私の提案したCOMオートメーションの方法のことでしょうか。当方ではWindows8.1の環境で動作しております。

    なお、taskkillコマンドのメッセージ表示を抑制させたいということであれば、

    taskkill /im iexplore.exe | Out-Null

    とすればOKです。

    • 回答としてマーク UltraKatan 2015年2月6日 0:43
    2015年2月5日 16:20
    モデレータ