Microsoft Edge の機能や拡張機能の開発とテスト
このブラウザーはサポートされなくなりました。
Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。
インターネットに接続されていないActiveDirectoryドメイン配下のクライアントに対して、グループポリシーでExtensionSettings ポリシー(拡張機能のインストール)を設定していますが、新規構築したクライアントのEdgeに反映されません。GPRESULTコマンドで確認すると、設定値が記載された結果になっていますので、グループポリシーとしてはOSには反映されているように見えます。
しかし、Edgeで「edge://policy」を確認すると、以下の状態になっています。
新規構築中のクライアントは、Windows11 Enterprise LTSC 2024 & Egde Ver134です。 Egde Ver137までアップデートしても同じでした。
なお、運用中の既存端末(Windows11 Enterprise LTSC 2021 & Egde Ver137)については、下図のとおり「edge://policy」に正常に値が記載されており、拡張機能も問題無くインストールされています。ただし、初回のポリシー適用時点(端末構築時点)のEgde バージョンは、134より古い状態(Ver.111)です。
Edgeの最新バージョン(少なくとも134以降)では、グループポリシーでの拡張機能は反映されないのでしょうか?
Microsoft Edge の機能や拡張機能の開発とテスト
Edge ExtensionSettings ポリシーの競合問題について
エラーを再現できたので、edge://policy で ExtensionSettings が「0」と表示される根本原因を説明します。
根本原因分析
Microsoft Edge は ExtensionSettings を設定する2つの方法をサポートしていますが、両方を同時に使用すると競合が発生します。
方法 A (JSON 値) ExtensionSettings は、JSON 文字列を含む REG_SZ 値に設定されます。
HKLM\SOFTWARE\Policies\Microsoft\Edge
ExtensionSettings = '{"extension-id":{"installation_mode":"force_installed"}}'
方法 B (レジストリキー) ExtensionSettings は、サブキーを含むレジストリキーに設定されます。
HKLM\SOFTWARE\Policies\Microsoft\Edge\ExtensionSettings\
└── <extension-id>\
├── installation_mode = "force_installed"
└── update_url = "..."
競合の場合
ExtensionSettings キーと値の両方が存在する場合、Edge は以下の優先順位に従います:
この問題が発生する理由
お客様の環境では、以下のシナリオが発生しているようです:
お客様による解決策
方法 B では、ExtensionSettings\<Extension ID>\ に設定が直接作成されます。これは Edge に推奨される方法で、問題なく動作するはずです。
確認スクリプト
競合の確認
$value = Get-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Edge" -Name "ExtensionSettings" -ErrorAction SilentlyContinue
$keyExists = Test-Path "HKLM:\SOFTWARE\Policies\Microsoft\Edge\ExtensionSettings"
if ($value -and $keyExists) {
Write-Host "競合が検出されました: VALUE と KEY の両方が存在します!"
Write-Host "Edge はキーを使用し、値は無視します。"
}
この情報は、Windows 11 LTSC 2024 および Edge v134 以降で同様の問題が発生している他のお客様にとって役立つ可能性があります。この情報がお役に立てば幸いです。
問題を共有いただきありがとうございます。グループポリシーで ExtensionSettings ポリシーを構成したにもかかわらず、Microsoft Edge に反映されない場合(edge://policy に表示されない場合)、原因は通常、ポリシーの形式または実装にあります。問題を特定して解決するのに役立つと思われる解決策をいくつかご紹介します。
このポリシーでは、値が有効な JSON 文字列である必要があります。JSON の構文が正しくない場合、Edge はポリシーを完全に無視し、edge://policy に表示しません。
{
"abcdefghijklmnopabcdefghijklmnop": {
"installation_mode": "force_installed",
"update_url": "https://clients2.google.com/service/update2/crx"
}
}
JSON コンテンツを https://jsonlint.com に貼り付けて、有効性を確認してください。
{}、"、またはカンマの省略を避けてください。
Edge は次のレジストリからポリシーを取得します。
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge\ExtensionSettings
(値が false または空の場合、edge:..policy にポリシーは表示されません。)
gpresult /h policy-report.html
policy-report.html ファイルを開きます。→「コンピューターの構成」セクションで、Edge ポリシーが GPO から適用されていることを確認します。
edge://policy を開きます。
[ポリシーの再読み込み] ボタンをクリックします。
ポリシーが表示されるかどうかを確認します。
msedge.exe --enable-logging --v=1
%LOCALAPPDATA%\Microsoft\Edge\User Data\chrome_debug.log
「ExtensionSettings」または「Policy parsing failed」に関連する行を探して、具体的なエラーを特定してください。
上記の情報がお役に立てば幸いです。何か問題がございましたら、ohariまでお気軽にお問い合わせください。