次の方法で共有


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

質問

2015年2月4日水曜日 1:53

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

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

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

Stop-Process -Name iexplore

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

すべての返信 (12)

2015年2月4日水曜日 8:04 ✅回答済み

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

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

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

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


2015年2月5日木曜日 16:20 ✅回答済み

ご提案いただきました方法を試してみたところ、

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

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

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

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

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

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

taskkill /im iexplore.exe | Out-Null

とすればOKです。


2015年2月4日水曜日 2:33

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

Stop-Process -Name iexplore

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

taskkill /im iexplore.exe


2015年2月4日水曜日 4:41

こんにちは、

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

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

2015年2月4日水曜日 7:24

動作を見た感じは強制終了のように思います。

taskkill /im iexplore.exe

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

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


2015年2月4日水曜日 7:54

taskkillを試してみましたが、

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

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

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


2015年2月4日水曜日 7:55

×で終了させるのと同義と言う意味になります。

taskkillを試してみましたが、

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

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


2015年2月4日水曜日 8:17

上記以外のコマンドは無いという認識です。逆に IE を終了させたときの何を懸念されてますか?


2015年2月4日水曜日 11:49

COMオートメーションで閉じる手もあるかと思います。

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

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


2015年2月5日木曜日 10:39

ご提案いただきました方法を試してみたところ、

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

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

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

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


2015年2月5日木曜日 10:43

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

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

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

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


2015年2月5日木曜日 10:45

具体的な懸念事項はありませんが、毎回のスクリプトの実行で強制終了を繰り返しては、

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