2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[GSA:Internet] 前提条件の DoH 無効化を構成する

Last updated at Posted at 2026-01-25

はじめに

Microsoft Entra Global Secure Access (GSA) の インターネットアクセス の機能を利用するためには、必要な前提条件をすべて構成する必要があります。

本記事は、以下の記事で説明されている前提条件のサブセットになっています。

[GSA : Internet] 前提条件のすべてを満たす構成
https://qiita.com/carol0226/items/613214a52fdc2aff77cf

本記事が対象にしている前提条件の範囲

本記事では、以下の前提条件のうち、DoH (DNS over HTTPS) の無効化が必要な 赤色 の枠に関する設定方法について解説しています。

公開情報:前提条件
https://learn.microsoft.com/ja-jp/entra/global-secure-access/how-to-configure-web-content-filtering?wt.mc_id=MVP_407731#prerequisites

(上記の公開情報より抜粋)
image.png

注意事項
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
(上記の公開情報より抜粋)
image.png

本記事では、この 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
image.png

公開情報: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 の設定が有効であっても、相手のサーバーが非対応であれば 非暗号化 になります。
image.png

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

根拠
上記の詳細な根拠は、上記の公開情報のうち、以下の場所のスプレッドシート をダウンロードし、各バージョンの dnsclinet.admx をチェックしていくと、理解することができます。
image.png

設定方法

上記で示した 管理用テンプレート がインポートされた環境であれば、以下の通り 公開情報 と同一の設定が実施可能になります。

上記の ヘルプ欄(緑の枠)の内容を書き出してみました。以下の通りです。

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 になりました。
image.png

参考: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 になっていることを確認してください。
image.png

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 になっていることを確認してください。
image.png

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

3.以下を参考に 任意の名前を設定して 次へ を押します。

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

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

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

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

8.以下の通り、一覧に表示されれば OK です。
image.png

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.admxDnsClient.admx および en-us フォルダ配下の windows.admxDnsClient.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 のインポート+インポート を押します。
image.png

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

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

  1. 以下のように アップロード されれば OK です。
    image.png

※ファイル名が DnsClient2.admx になっている理由は、以下の解説を参照ください。
 タイムスタンプが 1週間ズレていることから、ハマったことを察してください!

注意事項①
公開情報でも言及されていますが、admx ファイルには依存関係があります。
dnsclient.admx ファイルの依存関係を調べてみると windows.admx であることが判ります。
そして、現在(2025/11/9 時点)は 英語版の adml しかサポートされていない・・・とも明記されているため、それに従う必要があります。
image.png

公開情報:知っておく必要があること
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 をアップロードしようとすると、以下のエラーがでました。
image.png
エラー内容

この ADMX ファイルをアップロードできませんでした。続行するには、このアップロードを削除し、エラーの詳細でアクションを解析してから、もう一度お試しください。
Value cannot be null. Parameter name: input

解決策が判らず、Copilot にも相談してたのですが、以下のアドバイスをもらいました。この情報をもとに ファイル名を DnsClient2.admx と DnsClient2.adml に改名してからアップロードしたら、成功しました。
image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

私の環境では、以下のエラーが出ますが、ポリシーは 保存されていました。
image.png

image.png

注意点
私の環境では、再度 ポリシーを開いたら 設定値が異なっていました。
設定を修正後に 上書きをしたところ、意図した値になりましたので、同じような確認を必ず行ってください。

以下の通り、なぜか Allow DoH で保存されていたため、Prohibit DoH で保存しなおしてください。
image.png

結論

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

image.png

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

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?