Windowsで「ネットワーク探索を有効」に設定しても保存されない現象に遭遇しました。調査の結果、ファイアウォール設定に「ネットワーク探索」が表示されていないことが原因の一つと判明。この記事では、ネットワーク探索を有効にするための確認手順と復旧方法をまとめます。
🧩 問題
- Windowsの設定で「ネットワーク探索を有効」にしても、設定が保存されない
- 「Windows ファイアウォールを介したアプリまたは機能を許可」に「ネットワーク探索」が表示されていない
✅ 目的
- ネットワーク探索を有効にする
- ファイアウォールルールが表示されない場合の確認と復旧方法
🔍 1. サービスが起動しているか確認
まず、ネットワーク探索に必要なサービスが起動しているか確認します。
必要なサービス一覧
| 表示名 | サービス名 |
|---|---|
| DNS クライアント | Dnscache |
| 機能探索リソース公開サービス | FDResPub |
| SSDP 探索 | SSDPSRV |
| UPnP デバイス ホスト | UPnPHost |
PowerShellで確認
sc query Dnscache
sc query FDResPub
sc query SSDPSRV
sc query upnphost
(追記)PowerSHellで確認した時の画面です。
すべて STATE : RUNNING であれば問題ありません。今回はすべて正常でしたので、次のステップへ進みました。
🔧 2. ファイアウォールルールの確認
DisplayGroup が見つからない場合
Set-NetFirewallRule -DisplayGroup "Network Discovery" -Enabled True
上記を実行しても「DisplayGroup が見つからない」エラーが出る場合は、以下の方法でルールを直接確認します。
DisplayGroup 一覧の取得
Get-NetFirewallRule | Where-Object { $_.DisplayGroup -ne $null } | Select-Object -Unique DisplayGroup
ルール名ベースで探索
Get-NetFirewallRule | Where-Object {
$_.Name -match "FDResPub|SSDP|UPnP|Discovery|Dnscache"
} | Select-Object Name, DisplayName, Enabled
※ 何も表示されない場合は、ルールが存在しないか非表示になっている可能性があります。
🛠 3. ファイアウォールルールの復元
すべてのファイアウォール設定を初期化(注意)
netsh advfirewall reset
⚠️ この操作はすべてのファイアウォール設定を初期化します。必要に応じて事前にバックアップを取ってください。
✅ 4. ネットワーク探索の再有効化
初期化後、以下のコマンドでネットワーク探索ルールを有効化します:
Set-NetFirewallRule -DisplayGroup "ネットワーク探索" -Enabled True
参考:英語環境では
Set-NetFirewallRule -DisplayGroup "Network Discovery" -Enabled True
🧭 5. GUIでの確認方法(補足)
-
Win + R→wf.mscを入力して「Windows Defender ファイアウォールの詳細設定」を開く - 左ペイン「受信の規則」→ 名前列で「Network Discovery」や「ネットワーク探索」を探す
- 該当ルールを右クリック →「有効にする」
📝 まとめ
- ネットワーク探索が表示されない場合は、サービス・ルールの存在・DisplayGroup を順に確認
- ルールが見つからない場合は、
netsh advfirewall resetで初期化して復元 - PowerShellでの操作が難しい場合は GUI でも対応可能
以上の手順で、プライベートネットワークにおける「ネットワーク探索」設定が正常に保存されるようになりました。
