こんにちは!今回はグループポリシー(GPO)でIEの設定が正しく行われなかったケースについてまとめてみます。
トラブル概要
今回は自分が遭遇したトラブルです。
新規にインストールしたOSをActiveDirectory(AD)へ参加させ、GPOにてIEの設定を行うように設定しました。その際に正しくGPOが設定されているか確認したところ、なぜかIEの設定のみ反映されませんでした。
他のGPO設定値は正しく反映されており、この件について調査をした。という経緯になります。
原因
Internet Explorerは初回起動時に、自分自身の設定値を初期化します。
※IE11でのみ確認
- WindowsへログインOSがレジストリを用意する
レジストリ値:0または空白
- デフォルト値の読込レジストリがデフォルト値に更新される
レジストリ値:デフォルト値
- GPOの設定GPOが読み込まれて設定値が更新される
レジストリ値:設定した値
- IEの動きIEが自身の設定を上書きする
レジストリ値:IEのもつ初期値
そのため、IEを一度も起動しない状態で設定をすると、IE自身が設定を上書きしてしまい、設定ができてない様に見えてしまったということです。
基本的にGPOやログオンスクリプト等のよくあるツールでは、この「書き換えてしまう可能性」を監視しているわけではないため、今回のような事象に至ったわけです。
解決方法
非常に単純な話ですが、要はIE11を起動した後に強制的にもう一度設定を行えばよい。ただそれだけでした。
Gpupdate /force
※強制的にGPOの設定を適用するコマンド
しかし、GPOの設定時に「1度のみ適用」という設定だったことも災いし、このコマンドだけで解決するわけではありませんでた。なぜならばGPO側としては「既に設定済み」と認識されているからです。「常に適用」の環境であればこれで解決するとは思います。
そのため、最終的には、レジストリが書き換わるのを待ってから、設定したい値を書きこむというスクリプトを組んで回避しました。
※その際にOSのデフォルト値が0だったり空白だったりしたわけです。
わかりにくい内容にはなってしまいましたが、同トラブルに見舞われた方にはよくわかるかと思います。
ご参考にしていただければ幸いです。
コメント