みなさん、こんにちは!
本記事ではインターネット接続が制限されたオフライン環境において、グループポリシーオブジェクト(GPO)を活用してGoogle ChromeやMicrosoft Edgeにブラウザ拡張機能を強制インストールさせる手法について解説します。
調べてもネット環境がある場合のみのブログ等が多く、自分の備忘録としても記載してみた次第です。
端末情報
本記事では次の3種類の端末/環境を前提とします。
1.インターネットアクセス可能な端末・・・外部ネットワークに直接接続可能な端末。ブラウザ拡張機能の取得などに利用。
2.Active Directory (AD)・・・ドメイン管理を行うサーバー。端末へのポリシー配布や設定変更を実施。
3.AD配下の端末(インターネット非接続)・・・セキュリティのため外部ネットワークへ直接接続できない端末。ADからの操作によりブラウザ拡張機能を適用。
拡張機能crxファイル、バージョン、IDの取得
以下手順はインターネットアクセスが可能な端末で実施します。
①プラグインのインストール
crxファイルを取得するためのプラグインを導入します。画像のプラグインはあくまで例ですので、crxをダウンロードできるプラグインであればなんでも良いです。
②chromeウェブストアにあるプラグインのcrxファイル取得
インストールさせたいプラグインのサイトにアクセスします。
画面右上の拡張機能マークをクリックし、「crx Downloader」-「Download as CRX」をクリックします。
③自作プラグインのcrxファイルの取得
ブラウザの拡張機能管理ページにアクセスし、開発者モードを有効化します。
「展開して読み込み」から対象フォルダを選択し、自作拡張機能をインストールします。
「拡張機能のパック」から自作プラグインフォルダを指定することでcrxファイルを取得することができます。
手順②、③をインストールしたい拡張機能の数だけ実施します。
④拡張機能バージョン/IDの取得
取得したcrxファイルをドラッグアンドドロップして拡張機能をインストールします。
自作プラグインは現時点では有効化できませんが、今後の設定で使用可能となるので問題ありません。
これにて拡張機能のcrxファイル、バージョン、IDを取得することができました。
crxファイルの配置
本手順からはActive Directory端末にて操作していきます。
取得したcrxファイルを任意のパスに配置します。
update.xmlファイルの作成/配置
以下のようにupdate.xmlファイルを拡張機能の数だけ作成します。
※拡張機能バージョンは正しく記載するようにしてください。私はこの記載を間違えておりかなり気づくのにかなりの時間をようしました。
<?xml version='1.0' encording='UTF-8'?>
<gupdate xmls='http://www.google.com/update2/response' protcol='2.0'>
<app appid='拡張機能ID'>
<updatecheck codebase='配置したCRXファイルのパス' version='取得した拡張機能バージョン' />
</app>
</gupdate>
update.xmlファイルもcrxファイルと同様に任意のパスに配置します。
xmlファイルとcrxファイルはAD傘下の端末にも配置してください。
GPO設定
「サーバーマネージャー」-「ツール」-「グループポリシーの管理」をクリックします。
「グループポリシーの管理」-「フォレスト」-「ドメイン」-「対象ドメイン」から「グループポリシーオブジェクト」を右クリックし「新規」からブラウザプラグイン用のGPOを作成します。
リンクするOUを右クリックし、「既存のGPOのリンク」から作成したGPOを選択します。
「コンピューターの構成」-「基本設定」-「Windowsの設定」から「レジストリ」を右クリックし、「新規作成」-「レジストリ項目」を選択します。
以下を設定します。
ハイプ:HKEY_LOCAL_MACHINE
キーのパス:SOFTWARE\Policies\Microsoft\Edge\EntentionInstallFrocelist(Chromeの場合は、SOFTWARE\Policies\Google\Chrome\EntentionInstallFrocelist)
値の名前:任意 ※数字にしないと拡張機能がインストールされないことがあります。
値のデータ:<拡張機能ID>;file:///
(例:callobklhcbilhphinckomhgkigmfocg;file:///C:\User\Document\update.xml)
※値のデータについて、xmlファイルのパスはC:\と記載していますが、拡張機能がインストールされない場合などは/で記載するとインストールされる可能性があります。
コマンドプロンプトを管理者権限で起動し、以下コマンドを実行してポリシーの更新を行います。
> gpupdate /force
ブラウザを再起動するとプラグインが導入されていることが確認でき、無効化や削除といった操作が制限されていることがわかります。
また、自作プラグインに関しても有効化になっていることが確認できます。
さいごに
最後まで読んでくださりありがとうございました。
オフライン環境かつAD環境で拡張機能を強制インストールするということを実施しました。
今回はAD環境下で実施しましたが、本手順を利用すればAD環境の無い端末においてもローカルグループポリシーを活用することで設定可能です。
かなり限られた要件ではあるとは思いますが、誰かの役に立てたなら幸いです。