はじめに
IEのバージョンやuserAgent文字列を取得するいくつかの方法を調べてみました。サポートセンターに問い合わせをするときやトラブルの際に、ユーザのクライアントの情報を聞き出す方法として役立つかもしれません。
IEのバージョン情報
1.ヘルプ-バージョン情報を選択して確認する
最も一般的な方法は、メニューバーのヘルプ-バージョン情報からIEのバージョンを確認する方法です。
この場合、IEのバージョンを教えてくださいとだけ伝えるのではなく、バージョン情報の画面に記載されいるバージョンを教えてくださいと伝えるとより丁寧で正確だと思います。(ハードコピーを添付してもらう手もあります。)
2.レジストリからIEのバージョン情報を取得する
なんらかの理由によりIEが起動できない場合は、以下のコマンドによりIEのバージョン情報を取得することができます。
cmd /k reg query "HKLM\SOFTWARE\Microsoft\Internet Explorer" /v Version 実行結果>> ! REG.EXE VERSION 3.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer Version REG_SZ 7.0.5730.13
たとえば、以下のようにパイプでファイル出力して、そのファイルを添付してくださいという手順を提示してあげれば、タイプミスも減らせる上、ハードコピーより扱いやすいテキスト情報として取得することができます。
reg query "HKLM\SOFTWARE\Microsoft\Internet Explorer" /v Version > c:\iever.txt
IEのuserAgent文字列
3.JavaScriptでuserAgent文字列を取得する
ブラウザのロケーションバーに以下の文字列をコピーして、プロンプトに表示された値を送ってくださいみたいな使い方ができます。about:blankページでは動作しないので、注意が必要です。
javascript:(prompt("", navigator.userAgent));
ちなみに僕の環境では以下のようなuserAgent文字列が取得できます。
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
4.レジストリからuserAgent文字列を取得する
レジストリからもIEのuserAgent文字列を取得することができます。少し難易度高めですが、エクスポートしたファイルを送ってくださいという使い方ができます。
userAgent文字列のレジストリキー
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent\Post Platform
以下のような情報が取得できます。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent\Post Platform]
".NET CLR 1.1.4322"=""
".NET CLR 2.0.50727"=""
".NET CLR 3.0.4506.2152"=""
".NET CLR 3.5.30729"=""
5.userAgent文字列が上書きされていないかを調べる
userAgent文字列が上書き(オーバーライド)されていないかを確認するには、以下のレジストリキーを参照します。
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\User Agent\Post Platform]
これを調べることになった経緯
先日、僕のマシンからとある社内システムにアクセスしようとしたら、ブラウザのバージョンが古いという理由で、アクセス拒否されました。
サポートセンターに問い合わせをしたら、担当者がIEのバージョンやuserAgent文字列を確認したいので、いくつかのクライアント情報を取得して、送ってほしいと言ってきました。
そのメールには、IEのバージョンやuserAgent文字列の取得の方法がたくさん書いてあって、結構勉強になったので、ここにまとめさせていただきました。