起動中の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
具体的な懸念事項はありませんが、毎回のスクリプトの実行で強制終了を繰り返しては、
何か問題が起きた時に、要因の分析が難しくなると判断したため、なるべくリスクを軽減したいと言う意味での対応となります。