Windowsでネットワークをパブリックからプライベート(またはその逆)に変更する方法:実践的なヒント
Windows でネットワークの種類を切り替えるのは、特にパブリック プロファイルとプライベート プロファイルを切り替えようとしている場合は、必ずしも簡単ではありません。場合によっては、Windows が設定の変更を拒否したり、設定に移動するとオプションが欠落したりすることがあります。共有が機能しない場合、PC がネットワーク上で検出されない場合、または単にホーム ネットワークでよりリラックスしたいだけの場合は、このガイドが役立ちます。少し DIY ですが、正直なところ、これらの小さな修正は、Windows 10、11、Windows Server のいずれを使用していても、ほとんどのセットアップで機能します。プロファイルの変更は、見た目だけではありません。Windows はこれらのプロファイルを使用して、適用するファイアウォール ルールと、他のデバイスが PC を認識できるかどうかを決定します。そのため、特にネットワーク共有やプリンターの問題をトラブルシューティングする場合は、正しく行う価値があります。また、一部のシステムでは、ドメインに参加しているマシンやサーバーのこれらの設定を変更するのが奇妙に難しい場合がありますが、通常、これらの方法が役立ちます。
Windows設定を使用してネットワークプロファイルをパブリックからプライベートに変更する方法
最も簡単な方法の一つは(ポリシーやドメイン制限によってオプションがブロックされていない場合)、設定アプリを使うことです。以下の順にクリックするだけです。 –設定>ネットワークとインターネット>状態 – 現在の接続(イーサネットまたはWi-Fi)をクリック – 「ネットワークプロファイル」ドロップダウンを探すと、「パブリック」や「プライベート」などのオプションが表示されます – PCを他のデバイスからアクセス可能にする場合は「プライベート」 、非表示にする場合は「パブリック」を選択します注:Windows Serverでは、ポリシーによりこれがグレー表示または表示されない場合があります。その場合は、もう少し詳しく調べる必要があります。
PowerShellでネットワークプロファイルを変更する – 実際の解決策
これが、ほとんどの Windows エディションで実際に機能するトリックです。PowerShell コマンドです。PowerShell を管理者として実行する必要があります。なぜでしょうか。それは、この方法でネットワーク プロファイルを変更するには昇格された権限が必要であり、Windows ではこのようなことが気軽に行われることを好まないためです。 – すべてのインターフェイス プロファイルを一覧表示するには、` Get-NetConnectionProfile ` と入力します。 – 接続の InterfaceIndex または InterfaceAlias を見つけます。通常、InterfaceIndex は、ネットワーク アダプターが 1 つしかない場合、または名前がわかっている場合に最も簡単です。InterfaceIndex が 8 であるとします (一般的なシナリオ)。パブリックからプライベートに切り替えるには: powershell Set-NetConnectionProfile -InterfaceIndex 8 -NetworkCategory Private パブリックに戻したい場合は: powershell Set-NetConnectionProfile -InterfaceIndex 8 -NetworkCategory Public 変更されたかどうかを確認します: powershell Get-NetConnectionProfile -InterfaceIndex 8 うまくいけば、これで物事が動き出します。Windows はファイアウォール ルールを即座に適用するため、再起動が不要な場合もあります。デバイスがドメインに参加している場合、この設定がロックされている可能性があります。ドメインポリシーによって手動での変更が自動的に上書きされる可能性があります。 ヒント:あるマシンでは、最初の設定がうまくいかないことがありますが、その後は問題なく動作します。もちろん、Windowsの奇妙な動作によるものですが…。
レジストリを調整してネットワークプロファイルの変更を強制する
GUI または PowerShell でクリックするだけでは不十分な場合は、レジストリを直接編集してみることもできます (少し怖いですが、必要な場合もあります)。 – `regedit.exe` を起動します – 次の場所に移動します: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles – ここで、各ネットワーク接続には GUID キー (`{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}` などの名前のサブキー) があります 次の方法で適切なキーを見つけます: -ネットワーク設定で表示されるネットワーク名と一致する ProfileName 値を確認します – 各レジストリ キー内のCategory値を確認します: – 0 = パブリック – 1 = プライベート – 2 = ドメイン この値を必要なネットワーク タイプ (プライベートの場合は 1 など) に変更して再起動します。これで完了です。ネットワークを頻繁に切り替える場合は、これらのキーに注意してください。
ローカルセキュリティポリシーを使用してネットワークプロファイルをロックする
ポリシーが重要な環境の場合、または Windows がプロファイルを自動的に元に戻さないようにしたい場合は、ローカル セキュリティ ポリシーが役立ちます。 – `secpol.msc` を実行します。 –ネットワーク リスト マネージャー ポリシーに移動します 。 – 名前でネットワークを見つけて、右クリックしてプロパティを選択します。 –場所の種類の 設定を[未構成]から[プライベート] (または [パブリック])に変更します。 – この設定を変更できないようにロックするには、[ユーザーは場所を変更できない]チェック ボックスをオンにします。一部の Windows Server セットアップ、特にドメイン ポリシーを使用する場合は、これが最適な方法です。
Windows Serverやドメインで行き詰まっていませんか?解決策はこちら
サーバー、特にドメインコントローラーでは、ネットワークの種類が元に戻ったり、変更を拒否したりすることがあります。Network Location Awareness (NLA) サービスが予期せず「ドメイン」または「プライベート」に戻ってしまう既知のバグがあります。対処法はありますか? NlaSvc を再起動してください: powershell Get-Service NlaSvc | Restart-Service -Force これを SYSTEM として実行してください(services.msc 経由、または SYSTEM としてスケジュールされたタスク経由)。また、NlaSvc サービスを 自動 (遅延開始) に切り替えると、安定して動作します。ドメインの場合は、サービスの依存関係が正しいことを確認してください。DNS の後に開始する必要があるため、cmd sc config nlasvc depend= DNS を実行してください。念のため、アダプター設定で DNS サフィックスをドメイン名にマッピングして、予期せぬ競合を回避してください。
Windowsでは、特にサーバーやドメインPCなどでは、ネットワークプロファイルを希望どおりに維持するのが難しい場合があるため、このような混乱が生じます。しかし、これらのヒントを使えば、通常は解決できます。
まとめ
- 「設定」からネットワーク プロファイルを変更すると、ほとんどのユーザーでは機能しますが、常に機能するとは限りません。
- PowerShell コマンドは、管理者として実行すると高速かつ信頼性が高くなります。
- レジストリの編集によりプロファイルを強制できますが、注意が必要です。
- グループ ポリシーとドメイン設定により、手動での変更が上書きされる可能性があります。場合によっては、管理者の支援やドメイン管理者の権限が必要になることがあります。
- Windows Server では、動作に異常がある場合はサービスを再起動して依存関係を確認します。
まとめ
ネットワークをパブリックからプライベートに変更するのは、特にポリシーやドメイン制限がある場合は、必ずしもスムーズにいくとは限りません。しかし、ほとんどの場合、PowerShellとレジストリハックで解決できます。少し面倒ですが、一度設定すれば、ネットワーク共有は期待通りに動作するはずです。ただし、ドメインまたはサーバー環境では、一部の設定がポリシーによってロックされている場合があるため、必要に応じてシステム管理者に相談してください。
ネットワークの可視性や共有の問題で苦労している人にとっては、これで少なくとも数時間の節約になることを願っています。Windows がなかなか簡単に解決してくれないこともありますが、これらの方法を使えばたいていは解決できます。