はじめに
Microsoft Entra Global Secure Access (GSA) の インターネットアクセス の機能を利用するためには、必要な前提条件をすべて構成する必要があります。
本記事は、以下の記事で説明されている前提条件のサブセットになっています。
[GSA : Internet] 前提条件のすべてを満たす構成
https://qiita.com/carol0226/items/613214a52fdc2aff77cf
本記事が対象にしている前提条件の範囲
本記事では、上記の前提条件のうち、IPv4 優先 を構成するための 紫色 の枠に関する設定方法について解説しています。
注意事項
2026 年 1 月時点では、GSA のインターネットアクセスは IPv4 通信を前提とした制御を行っています。
一方で、Windows OS では、IPv6 が利用可能な場合は IPv6 を優先して使用することが標準動作として定義されています。これは、IPv6 が次世代のインターネットプロトコルとして設計されており、アドレス枯渇の回避や通信効率の向上などの観点から、OS が自動的に IPv6 を優先するよう最適化されているためです。
そのため、端末側が OS 既定の設定のまま IPv6 を優先する状態にあると、名前解決の結果として IPv6 アドレスが選択され、GSA が意図した IPv4 ベースの制御を迂回してしまう可能性があります。
このように、GSA の管理範囲外の経路が利用されることで、アクセス制御やログ取得が正しく行えなくなるため、GSA では IPv4 を優先することが求められています。
将来、前提条件が変更される可能性があるため、最新の Microsoft Learn を確認してください。
この記事で得られること
- GSA のインターネットアクセスで IPv4 優先が必要な理由がわかる
- IPv4 優先を 手動 と Intune の両方で構成できる
- Microsoft が IPv6 無効化を非推奨とする理由が理解できる
IPv4 を優先するように OS を構成する
GSA で インターネットネットワーク トラフィックをトンネルするには、IPv4 を優先にした構成にする必要があります。
公開情報:IPv4 優先
https://learn.microsoft.com/ja-jp/entra/global-secure-access/troubleshoot-global-secure-access-client-diagnostics-health-check?wt.mc_id=MVP_407731#ipv4-preferred
(上記の公開情報より抜粋)

本記事では、この IPv4 優先 について、以下の2通りの方法を紹介しています。
想定する展開方法に合わせて、いずれかの方法で実行してください。
- 1.IPv4 優先 を コマンド で設定
- 2.IPv4 優先 を Intune で設定
IPv6 の無効化はダメなのか?
Microsoft は「IPv6 は Windows の必須コンポーネントであり、無効化は非推奨」と明記しています。
公開情報:Configure IPv6 in Windows
https://learn.microsoft.com/ja-jp/troubleshoot/windows-server/networking/configure-ipv6-in-windows?wt.mc_id=MVP_407731
そのため、GSA では IPv6 を無効化するのではなく、IPv4 を優先する設定で対応することが推奨されます。
DisabledComponents=0x20:IPv4 を優先(IPv6 は動作し 推奨構成)
DisabledComponents=0xFF:IPv6 完全無効化(非推奨)
このレジストリ変更以外にも、ネット上を探すと IPv6 を無効化する手段が存在しますが、いずれも IPv6 の無効化は 非推奨 となっています。
公開情報:インターフェイスから IPv6 のバインドを解除する(非推奨)
https://learn.microsoft.com/ja-jp/troubleshoot/windows-server/networking/configure-ipv6-in-windows?wt.mc_id=MVP_407731#unbind-ipv6-from-an-interface
1.IPv4 優先 を クライアント PC で設定
IPv4 を優先するためには、以下のレジストリ設定を行います。
これは、公開情報で案内されているまんまのコマンドです。
レジストリ設定用のコマンド ※管理者で実行した後に再起動が必要です。
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters" /v DisabledComponents /t REG_DWORD /d 0x20 /f
確認方法①
再起動後に ping localhost を実行し IPv4 で 127.0.0.1 が応答していれば OK です。

私は経験しませんでしたが、環境によっては、NIC の状態や DNS キャッシュにより反映が遅れる場合があるとの情報がありました。その際には ipconfig /flushdns を実施すると良いようです。
確認方法②
GSA クライアントの Helth check で IPV4 preferred が True になります。

2.IPv4 優先 を Intune で設定
以下の公開情報で紹介されている 修復(旧名:プロアクティブ修復)の機能を使います。
公開情報:修復を使用する
https://learn.microsoft.com/ja-jp/intune/intune-service/fundamentals/remediations?wt.mc_id=MVP_407731
参考
前章のコマンド実行の際でも説明していますが、IPv4 優先 は 修復スクリプトが実行され、その後 OS が 再起動 されてからの動作に反映されます。Intune は 修復スクリプト実行後に再起動の制御は行いません。
スクリプトに再起動コマンドを含めれば、再起動を実施することは可能ですが、利用者の業務中に再起動がかかることになるため、あまり お勧めはできません。
1.2種類のテキストファイルを作成して、作業用 PC 上で保存してください。
1)検出スクリプトの準備
# Detect-IPv4Priority.ps1
try {
# Get current DisabledComponents value
$regPath = "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters"
$value = (Get-ItemProperty -Path $regPath -Name DisabledComponents -ErrorAction Stop).DisabledComponents
# Evaluate IPv4 priority (0x20 expected)
if ($value -eq 0x20) {
# Correct setting → remediation not required
Write-Host "Detect-IPv4Priority-No_Match"
exit 0
} else {
# Incorrect or unexpected value → remediation required
Write-Host "Detect-IPv4Priority-Match"
exit 1
}
}
catch {
# Value missing or registry key not found → remediation required
$errMsg = $_.Exception.Message
Write-Error "Detect-IPv4Priority-Error: $errMsg"
exit 1
}
ポイント
上記の検出スクリプトで exit 1 が実行された場合に、修復スクリプトが実行されるようになっています。exit 0 だった場合は、異常なしの扱いとなり、修復スクリプトは実行されません。
メモ帳を開き、上記の検出スクリプトを メモ帳に貼り付けて 保存します。
このとき、エンコードが UTF-8 になっていることを確認してください。

2)修復スクリプトの準備
# Remediate-IPv4Priority.ps1
try {
# Apply IPv4 priority setting
$regPath = "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters"
New-Item -Path $regPath -Force | Out-Null
Set-ItemProperty -Path $regPath -Name DisabledComponents -Type DWord -Value 0x20
Write-Host "Remediate-IPv4Priority-Completed"
exit 0
}
catch {
$errMsg = $_.Exception.Message
Write-Error "Remediate-IPv4Priority-Error: $errMsg"
exit 1
}
メモ帳を開き、上記の修復スクリプトを メモ帳に貼り付けて 保存します。
このとき、エンコードが UTF-8 になっていることを確認してください。

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

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

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

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

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

9.以下は、IPv4 が 優先されているデバイスと されていないデバイス の2台に対してポリシーが適用された結果です。
IPv4 が 優先されているデバイス は、問題なし として検出されています。
IPv4 が 優先されていないデバイスは、問題あり として検出され、その後 修復が行われた結果 問題解決 として表示されています。


まとめ
GSA のインターネットアクセスを最大限活用するには、Windows の既定動作である「IPv6 優先」を「IPv4 優先」に切り替えることが欠かせません。
本記事で紹介した手動設定と Intune の修復スクリプト を使えば、確実かつ安全に IPv4 優先を構成できます。
IPv6 の無効化は Microsoft が明確に非推奨としているため、必ず IPv4 優先のアプローチを採用してください。
この記事が GSA 導入・運用の一助になれば幸いです。
参考1
検出スクリプト、修復スクリプトの作業にあたっては、以下の国井さんの記事を参考にさせていただきました。
Always on the clock:Intuneスクリプトと修復設定のトラブルシューティング
https://azuread.net/archives/15219
参考2
IPv4 の 優先 に関して解説されたサイトです。
Windowsでネットワーク通信を「IPv4優先」に設定する方法
https://jousys-force.deepapex.com/blogs/prioritise-ipv4
IPv4 を IPv6 より優先にする設定方法
https://nac0928.com/home/index.php/2024/11/20/535/





