はじめに
Microsoft Entra Global Secure Access (GSA) の インターネットアクセス の機能を利用するためには、必要な前提条件をすべて構成する必要があります。
本記事は、以下の記事で説明されている前提条件のサブセットになっています。
[GSA : Internet] 前提条件のすべてを満たす構成
https://qiita.com/carol0226/items/613214a52fdc2aff77cf
本記事が対象にしている前提条件の範囲
本記事では、以下の前提条件のうち、DoH (DNS over HTTPS) の無効化が必要な 赤色 の枠に関する設定方法について解説しています。
注意事項
2026 年 1 月時点では、GSA の インターネットアクセス が DoH (DNS over HTTPS) に対応していないため、これらの機能を使われた場合に、GSA の制御外となってしまいます。そのため、GSA では制御できない機能を無効化することが求められています。
将来、前提条件が変更される可能性があるため、最新の Microsoft Learn を確認してください。
DoH を禁止するように DNS クライアントを構成する
GSA で インターネットネットワーク トラフィックをトンネルするには、HTTPS 経由のドメイン ネーム システム (DNS) (Secure DNS) を無効にする必要があります。 トラフィック転送プロファイルでは 完全修飾ドメイン名 (FQDN) の規則を使用しています。
公開情報:HTTPS 経由の DNS はサポートされていません
https://learn.microsoft.com/ja-jp/entra/global-secure-access/troubleshoot-global-secure-access-client-diagnostics-health-check#dns-over-https-not-supported
(上記の公開情報より抜粋)

本記事では、この DoH 無効化について、以下の3通りの方法を紹介しています。
想定する展開方法に合わせて、いずれかの方法で実行してください。
- 1.DoH の禁止を クライアント PC で設定
- 2.DoH の禁止を GPO で設定
- 3.DoH の禁止を Intune で設定
1. DoH の禁止を クライアント PC で設定
コマンド と GUI の2通り紹介します。
コマンド で DoH を無効化
・設定の確認:netsh dnsclient show global
・DoH 無効化:netsh dnsclient set global doh=no dot=no

公開情報:netsh dnsclient
https://learn.microsoft.com/ja-jp/windows-server/administration/windows-commands/netsh-dnsclient
GUI で DoH を無効化
私の PC (Windows 11 24H2) では、公開情報の内容と違っていましたが、この場合は オフ にすれば良さそうです。ただし この設定は 自動(DHCP) では構成できないようなので、コマンドを使った方が良さそうです。

公開情報の画面
以下の画面だった場合は Unencrypted only にします。

公開情報:DoH をサポートするように DNS クライアントを構成する
https://learn.microsoft.com/ja-jp/windows-server/networking/dns/doh-client-support?wt.mc_id=MVP_407731#configure-the-dns-client-to-support-doh
参考
以下の画面では DNS サーバーのアドレスの右側に (非暗号化) と表示されています。
これは DoH の設定が有効であっても、相手のサーバーが非対応であれば 非暗号化 になります。

2. DoH の禁止を GPO で設定
この設定は、鬼門です。元となる情報は 以下の公開情報となります。
公開情報:グループ ポリシーを使用した DoH の構成
https://learn.microsoft.com/ja-jp/windows-server/networking/dns/doh-client-support?wt.mc_id=MVP_407731#configuring-doh-through-group-policy
バージョンごとの名称の違い
上記の公開情報で説明されている 英語名「Configure DNS over HTTPS (DoH) name resolution」、日本語名「HTTPS (DoH) の名前解決ポリシー経由の DNS の構成」のいずれも、Windows Server 上で見当たらなかったのです。
※Windows Server 2022 21H2 と Windows Server 2025 24H2 で確認
結論として、公開情報 が古いのではないかと思われます。
さらに調べていくと、以下のことが分かりました。
24H2 以降
・英語 = 「Configure encrypted name resolution」
・日本語 = 「暗号化された名前解決の構成」
21H2~23H2(この時代のことが 公開情報 に書かれている)
・英語 = 「Configure DNS over HTTPS (DoH) name resolution」
・日本語 = 「HTTPS(DoH)の名前解決による DNS を構成する」
ADMX の入手と配置
さらに、Windows Server 2022 21H2 には、上記の構成は、いずれも存在していませんでした。
章の冒頭の公開情報の設定を行うためには、以下のサイトから Windows 11 "23H2" の 管理用テンプレート をダウンロードし、ドメインコントローラー の PolicyDefinitions フォルダに保存する必要がありました。
公開情報:Windows でグループ ポリシー管理用テンプレート用のセントラル ストアを作成および管理する方法
https://learn.microsoft.com/ja-jp/troubleshoot/windows-client/group-policy/create-and-manage-central-store?wt.mc_id=MVP_407731
設定方法
上記で示した 管理用テンプレート がインポートされた環境であれば、以下の通り 公開情報 と同一の設定が実施可能になります。

上記の ヘルプ欄(緑の枠)の内容を書き出してみました。以下の通りです。
DNS クライアントが HTTP 上のDNS (DoH) を介して名前解決を実行するかどうかを指定します。
既定では、DNS クライアントは、クラシックな DNS 名前解決 (UDP または TCP) を実行します。この設定は、ドメイン名を解決するために DoH プロトコルを使って、DNS クライアントを強化することができます。
このポリシー設定を使用するには、[有効にする] をクリックし、ドロップダウンリストから次のオプションのいずれかを選択します。
DoHの禁止: DoH の名前解決は実行されません。
DoH の許可: 構成済みの DNS サーバーがサポートしている場合は、DoH クエリを実行します。DoH がサポートされていない場合は、クラシックな名前解決をお試しください。
DoH が必須: DoH による名前解決のみを許可します。DoH 対応の DNS サーバーが構成されていない場合、名前解決は失敗します。
このポリシー設定を無効にした場合、または構成しなかった場合、コンピューターではローカルで構成された設定を使います。DDR (指定されたリゾルバーにより検出) プレーンテキスト トラフィックは自動検出 DoH 設定に必要なので許可されます。
動作確認
以下の通り、ポリシー設定前は DoH と DoT が enabled でしたが ポリシー変更後は disabled になりました。

参考:24H2 以降の管理用テンプレートを使う場合
さらに、上記のように 23H2 の環境でポリシーを配り、そのあと テンプレートを 24H2 に置き換えてから、グループポリシー管理エディタを開いてみました。すると、以下の設定値になっていました。この結果を踏まえると、24H2 以降の管理用テンプレートを使う場合は、以下の設定を踏襲すると良いと思います。

3. DoH の禁止を Intune で設定
Intune から DoH を禁止する方法は、私の方では かなり試行錯誤し さまざまな方法を試しましたが、最後に落ち着いた 検出スクリプト&修復スクリプトの方法をお伝えしたいと思います。
検討や検証してみた さまざまな方法
Intune
├─ 構成プロファイル-設定カタログ-"管理用テンプレート\ネットワーク\DNSクライアント" → DoH なし
├─ 構成プロファイル-テンプレート-管理用テンプレート → 廃止
├─ 構成プロファイル-ADMX インポート → 0x20101 で失敗
└─ CSP → 存在しない
特に、ADMX ファイルのインポートは、エラーが出て成功できませんでした(この方法が最有力と思いましたが、世界中を探しても DoH の成功事例が無いことから断念)
最終的に行き着いたのは、スクリプトを Intune で実行することです。
ただし、単にスクリプトを配布して実行しても、OS が元に戻してしまうという情報もあり、そのような場合でも対処できる「検出スクリプト&修復スクリプト」(設定が戻ったことを検出スクリプトで見つけ出し、修復スクリプトで DoH を再度無効化する)の方法がベストであると判断しました。
検出スクリプト & 修復スクリプト で DoH を無効化する
以下の公開情報で紹介されている 修復(旧名:プロアクティブ修復)の機能を使います。
公開情報:修復を使用する
https://learn.microsoft.com/ja-jp/intune/intune-service/fundamentals/remediations?wt.mc_id=MVP_407731
1.2種類のテキストファイルを作成して、作業用 PC 上で保存してください。
1)検出スクリプトの準備
# Detect-DoH.ps1
# Get current DoH configuration
$doh = (netsh dnsclient show global | Select-String "DoH").ToString()
# Evaluate DoH status
if ($doh -match "disabled") {
# DoH is disabled → remediation not required
exit 0
} else {
# DoH is enabled or automatic → remediation required
exit 1
}
メモ帳を開き、上記の検出スクリプトを メモ帳に貼り付けて 保存します。
このとき、エンコードが UTF-8 になっていることを確認してください。

2)修復スクリプトの準備
# Remediate-DoH.ps1
# Disable DoH and DoT
netsh dnsclient set global doh=no dot=no
# Wait 1 second just in case
Start-Sleep -Seconds 1
exit 0
メモ帳を開き、上記の修復スクリプトを メモ帳に貼り付けて 保存します。
このとき、エンコードが UTF-8 になっていることを確認してください。

2.Intune 管理センターで デバイス-デバイスの管理-スクリプトと修復 の順に開きます。
続いて、+作成 ボタンを押します。

4.設定 タブでは、以下を参考に、事前に作成しておいたスクリプトファイルを選択します。
正しいスクリプトが選択されていることを確認したら、次へ を押します。

5.スコープ タグ タブでは、特に何もせずに 次へ を押します。

6.割り当て タブでは、割り当て先 として「すべてのデバイス」または 任意のグループ を指定します。
続いて、スケジュール 欄の 赤枠 の箇所をクリックして、右ペイン で 頻度 と 間隔 を指定して 適用 を押します。
最後に、次へ を押して先へ進めます。
※頻度は 毎時、間隔は 1 などに設定します。

7.レビューと作成 タブでは、最後の確認を行って 作成 ボタンを押します。

9.以下は、DoH が有効になっているデバイスに対してポリシーが適用された結果です。
うまく、DoH が有効であることが「問題あり」として検出され、コマンドが実行された結果「問題解決」になったことが示されています。

参考1
検出スクリプト、修復スクリプトの作業にあたっては、以下の国井さんの記事を参考にさせていただきました。
Always on the clock:Intuneスクリプトと修復設定のトラブルシューティング
https://azuread.net/archives/15219
参考2
Intune の展開方法を 検出スクリプト の方法にするまでには、さまざまな方法を検討して検証をおこなっていました。以下の内容は 不採用となった方法(ADMX テンプレートをアップロード)ですが、ここに記載することで、成仏 させてください。
※別の目的で ADMX をアップロードする際には、参考になると思います。
ADMX の管理用テンプレートアップロードによる方法(ココをクリック)
(注意点)
本手順は、試行錯誤した結果、不可能であると判断した手順です。
通常の ADMX ファイルのアップロード&配布を行う際には参考になりますが、DoH は構成できません。
ここに掲載することで、成仏させてください。
DoH の無効化を Intune で配るためには、管理用テンプレートの方法が良さそうですが、既定で Intune で用意された テンプレートや 設定カタログ、CSP には DoH の設定が無かったです。
そのため、1-2.章 で使用した 管理用テンプレート を Intune で配布することを考えた方が良さそうです。以下の公開情報で 管理用テンプレート を配る方法が案内されています。
1-3-1. カスタムの管理用テンプレートをアップロードし、Intune で配布する
1-2.章 でダウンロードした C:\Windows\PolicyDefinitions フォルダに存在する windows.admx と DnsClient.admx および en-us フォルダ配下の windows.admx と DnsClient.adml を Intune にアップロードし、カスタムの管理用テンプレートとして、配布してください。
なお、これにも ハマりポイントがあるため、私が示した手順の概要を見ながら進めていただくと、スムーズに作業ができると思います。
公開情報:カスタム ADMX および ADML 管理テンプレートを Microsoft Intune にインポートする
https://learn.microsoft.com/ja-jp/intune/intune-service/configuration/administrative-templates-import-custom?wt.mc_id=MVP_407731
公開情報:DnsClient.admx
https://learn.microsoft.com/en-us/previous-versions/managed-desktop/references/windows-11-policy-settings?wt.mc_id=MVP_407731#dnsclientadmx
Intune 設定手順の概要(ハマりポイント回避手順)
1.以下の画面を参考に ADMX のインポート で +インポート を押します。

2.まず Windows.admx と Windows.adml をアップロードします(アップロード時間は結構掛かります。※私の環境で 60分ほど)

3.次に DnsClient.admx と DnsClient.adml をアップロードします(アップロード時間は結構掛かります。※私の環境で 60分ほど)

※ファイル名が DnsClient2.admx になっている理由は、以下の解説を参照ください。
タイムスタンプが 1週間ズレていることから、ハマったことを察してください!
注意事項①
公開情報でも言及されていますが、admx ファイルには依存関係があります。
dnsclient.admx ファイルの依存関係を調べてみると windows.admx であることが判ります。
そして、現在(2025/11/9 時点)は 英語版の adml しかサポートされていない・・・とも明記されているため、それに従う必要があります。

公開情報:知っておく必要があること
https://learn.microsoft.com/ja-jp/intune/intune-service/configuration/administrative-templates-import-custom?wt.mc_id=MVP_407731#what-you-need-to-know
注意事項②
私の環境では、注意事項① の依存関係を知らずに DnsClinet.admx を先にアップロードしてしまっていました。当然依存関係のエラーになりました。一旦 削除してから、先に Windows.admx のアップロードを成功させたあと、DnsClient.admx をアップロードしようとすると、以下のエラーがでました。

エラー内容
この ADMX ファイルをアップロードできませんでした。続行するには、このアップロードを削除し、エラーの詳細でアクションを解析してから、もう一度お試しください。
Value cannot be null. Parameter name: input
解決策が判らず、Copilot にも相談してたのですが、以下のアドバイスをもらいました。この情報をもとに ファイル名を DnsClient2.admx と DnsClient2.adml に改名してからアップロードしたら、成功しました。

結論
上記まで構成し、デバイスを配っても どうやっても エラーになってしまいます。

上記のエラーコード 0x20101 を元に、DoH を ADMX ファイルで配布に成功した例を世界中で探してみたものの成功者はゼロ、不可能ということが判明しました。















