読者です 読者をやめる 読者になる 読者になる

ふろしき.js

Web + Mobile + UX + Performance Tech

IE11のユーザエージェント問題 - IT管理者側でできる対策(IEAK/Active Directory/modern.IEの活用)

古いWebシステムはIEに依存した処理を多く含む傾向にあり、企業内の標準ブラウザをアップデートする際に、IE11から変更されたユーザエージェントの書式仕様が問題となり正常に動作できない場合があります。

しかし、これを理由にしてアップデートを先延ばしにすると、古いIEに特化した業務システムを作り続けることになります。IEのアップデートが必要になった際には、大量の業務システムで「改修」の必要が生じ、コスト効果としては最悪の状態に陥ることになります。

新しいIEは、Web標準への準拠が高く、その上で動作するWebシステムも必然的に汎用的な作りとなるため、その後のIEアップデートで生じるコストも最小化させることができます。特にIE11は、Web標準への準拠が非常に高くユーザビリティ改善のための多くの手段(HTML5の利用)が提供できるため、Webシステムの健全化/高度化へ貢献してくれるでしょう。

本記事では、「IE11のユーザエージェント問題」に対して、Webシステムを扱うIT管理者の視点で、Windowsの持つ機能を駆使して、社内のIEに対して講じることができる対策とアイデアについてご紹介します。

IE11のユーザエージェント仕様の変更は、IEの特定のバージョンへの依存を減らすことを目的としたポジティブな改善です。既存のWebシステムについては本記事の対策により最小のコストで維持し、これから更改されるWebシステムについては、新しいIEの設計指針に従い、IEへの依存性を最小化したデザインを目指して下さい。

★ 対策内容一覧

  1. IEAK11を利用した対策
  2. ActiveDirectoryを利用した対策
  3. ローカル・イントラネット・ゾーンへの移行
  4. 動作のテスト手段

Microsoftは、Internet Explorerをエンタープライズ用途の製品の一つとして位置づけています。このため、Windows系OSやMicrosoftの提供する社内統制向け製品との親和性が高く、様々なIEの改善機能を提供しています。

1. IEAK11を利用した対策

IEAK(Internet Explorer Administration Kit)は、社内のIEの設定を統一化を行うためのMicrosoft公式ツールです。Internet Explorer Administration Kit (IEAK) Information and Downloadsにて、ダウンロードが行えます。

IEAK11は、IE11に特化した設定統一化ツールです。IEAK11を使えば、企業の保有するWebシステム向けにカスタマイズしたIE11インストールパッケージを作成したり、インストール済みのIE11に対して後から統一すべき設定情報を組み込むことができます。

f:id:furoshiki0223:20131113191849p:plain

作業の流れは、以下の通りです。

f:id:furoshiki0223:20131113033150p:plain

IEAK11は、互換表示に関する設定情報も含んでいます。互換性の設定情報を含んだ状態で、インストールパッケージの配布を行えば、既存の業務システムは互換モードの状態で表示させることができます。

IEAK11の互換表示として設定される情報は、IE11に含まれる「互換表示設定」画面上で設定された項目の全てです。互換表示対象として指定されたWebシステムは、IE7の動作をエミュレートして実行します。

マスターとなる環境のIE11にて、[設定ボタン]→[互換表示設定(B)]の順にクリックし、[互換表示設定]より変更が行えます。

f:id:furoshiki0223:20131113033836p:plain

  • ①. 互換性表示リスト : 指定されたドメイン名に属するWebシステムは、互換表示されます。ここに予め互換表示を必要とするWebシステムのドメイン名を登録することで、既存資産の変更リスクを低減させることができます。
  • ②. イントラネット互換モード : ローカル イントラネット ゾーンと判断できるドメイン名に属するWebシステムは、互換表示されます。本機能はデフォルトでONになっているため、これを利用した対策も行えます。詳細は、次章にて紹介します。
  • ③. Microsoft互換性表示リスト : Microsoftから配布されたリストに含まれるドメイン名のWebサイトは、互換性制御の影響下に置かれます。イントラネット内のWebシステムは通常登録することが無いため、業務システムの場合、B2Cでない限り出番は無いでしょう。

IE11には、バージョン5から10までの動作をエミュレートするレンダリングエンジンが含まれています。これらのレンダリングエンジンを細かく制御して利用するには、Webシステムを動作させているサーバのミドルウェア製品の設定値を変更するか、Webシステムのプログラムに手を加える必要があります。このため、IT管理者向けツールからのコントロールでは実質的にIE7しか互換表示に利用できません。

IE6世代のWebシステムは、IEのアップデートの際にIE7互換モードへ移行しているケースが多いようです。このため、OSに強く依存した機能(WindowsAPIに強く依存した動作)を利用していない前提下では、問題は小さいものと考えられます。

2. ローカルイントラネットゾーンへの移行

2.1. ローカルイントラネットゾーンへの移動

(※この箇所は執筆中です)

2.2. 強引な手段

IEAKは、全てのIEのバージョンを11で統一する場合に有効な手段です。ただし、この方法では配布に手間が生じるため、規模の大きい企業では、IEAKで追加パッケージを配布するなどのメンテナンスのコストが大きい場合もあります。組織が巨大だと、IE11へのアップデートを促しても一斉に移行できないケースもあります。

状況によっては、IEの持つデフォルトの設定を利用して、互換表示切り替え方法を行う手段も視野に入れるべきでしょう。

IEはかつてより、ローカルイントラネットゾーン上のWebシステムについては、デフォルトで互換表示設定で動作する仕様です。つまり、互換表示が求められるWebシステムへ、IEがローカルイントラネットゾーンと認識できるようなドメイン名を与えれば、IEはWebシステムを互換表示で実行します。

IEがWebシステムをローカルイントラネットゾーン上に配置されていると判断する条件は、ドメイン名に「.(ドット)」が含まれていない場合です。「http://example.com/test.html」はexampleとcomの間に「.(ドット)」がありますが、「http://system01/test.html」は「.(ドット)」が含まれないため、ローカルイントラネットゾーン扱いとなります。

f:id:furoshiki0223:20131113191112p:plain

社内システムの利用で専用のDNSサーバを社内で保有している場合、DNSサーバの設定を変更することにより実現できます。WINSの場合は、制約が加わる可能性があります。少々強引な技なので、あまり推奨されるものではないでしょう。

3. Active Directoryを利用した対策

Active Directoryの影響下にあるクライアント端末では、グループポリシー管理によりWebシステムへ互換表示を強制させることができます。運用中のInternet Explorerに対する対応策としては、最も堅実な手段でしょう。

http://www.danielclasson.com/guide-how-to-force-specific-sites-to-always-run-in-compatibility-view-using-group-policy/

http://www.atmarkit.co.jp/ait/articles/0905/27/news118_3.html

4. 動作のテスト手段

Microsoftでは、エンタープライズで利用されているIEのアップデートを促すため、Webシステムの互換性をテストするためのツールを揃えたサイト「modern.IE」を運営しています。このサイトでは、様々なバージョンのIEとOSの組み合わせをVMとして無償提供しており、動作のテストを行うことができます。

f:id:furoshiki0223:20131113194820p:plain

IE11については、2013年11月現在、Windows7版とWindows8.1版の2つを提供しています。

f:id:furoshiki0223:20131113195156p:plain

Webブラウザの動作は実装OSによっても変化するため、本サービスを利用して、できる限り本番環境に近い組み合わせでテストすると良いでしょう。

広告を非表示にする