Windows Server 2012 R2でネットワークアダプタの種別(NetworkCategory )を「パブリック」から「プライベート」に、またその逆の変更を行おうとしてすごくハマってしまいました。 次にやるときも忘れてハマる自信があるので、少し整理してメモします。
なお、今回悩んでる際、色々と@guitarrapc_techさんにアドバイスいただきました。感謝。
種別を切り替える方法は3種類
ネットワークの種別を切り替える方法はOSのバージョンが変わるたびにちょくちょく変更されています。
特にWindow 8以降は「ネットワークと共有センター」から変更できなくなっていて、しかも、8 & Server 2012 / 8.1 / Server 2012 R2で微妙に違うという状態になっています。
Windows Server 2012 R2でネットワークの種別を切り替える方法は、3種類ほどあるようです*1。
- 方法1:ローカルセキュリティーポリシーの設定を変更する
- 方法2:PowerShelllでNetConnectionProfileの設定を変更する
- 方法3:エクスプローラーのネットワークから「プライべート」に切り替える(注意)
ただし、最後の『エクスプローラーのネットワークから「プライべート」に切り替える』は「パブリック -> プライベート」一方通行であり、また注意すべき点があります。詳細は後述しますが、「方法3」を採用される場合はすこし慎重に検討してみてください。
方法1:ローカルセキュリティーポリシーの設定を変更する
一つ目は、ローカルセキュリティーポリシーの設定を変更する方法です。GUIツールを使って変更を行います。
1.ローカルセキュリティーポリシーの「ネットワーク リスト マネージャー ポリシー」を開く
何らかの方法でローカルセキュリティーポリシーの設定画面にアクセスします(例えば、[サーバマネージャー]から[ツール]-[ローカル セキュリティー ポリシー]を開く等)。
2.該当のネットワーク名のプロパティを開く
[ネットワーク リスト マネージャー ポリシー]の右ペインから、該当のネットワーク名を選んでダブルクリック等でプロパティーを開きます。 ネットワーク名は、例えば「ネットワークと共有センター」で表示されている名前です。下記の例だと『ネットワーク』というのが該当します。
3.「場所の種類」を変更
[ネットワークの場所]タブから、「場所の種類」を変更し、[適用]または[OK]で確定させます。
4.グループポリシーを適用する
GUIから設定を変更しても、すぐには反映されません。例えば、下記のコマンドをプロンプトから実行してポリシーを強制的に再適用します。
C:\>gpupdate /force
以上、変更可能です。
(もし、これで変更が有効になっていない場合は、それ以前に「方法3:エクスプローラーのネットワークから「プライべート」に切り替える」を行っているかもしれません。その場合は次の「方法2:PowerShelllでNetConnectionProfileの設定を変更する」を試してみて下さい)
方法2:PowerShelllでNetConnectionProfileの設定を変更する
2つ目は、PowerShellで直接設定を書き換える方法です。@guitarrapc_techさんに教えていただきました。
方法は簡単で、PowerShellのプロンプトから下記のコマンドを実行するだけです。 なお、下記のコマンド中の『ネットワーク』は該当のネットワークの名前です(ネットワーク名は方法1の「2.該当のネットワーク名の~」を参照)
プライベートに変更する場合
Get-NetConnectionProfile | where Name -eq "<ネットワーク名>" | Set-NetConnectionProfile -NetworkCategory Private
パブリックに変更する場合
Get-NetConnectionProfile | where Name -eq "<ネットワーク名>" | Set-NetConnectionProfile -NetworkCategory Public
実行例
ネットワーク名が「ネットワーク」の場合、実行例はこのようになります。 ※なお、この場合はgpupdateも必要ありません(ポリシーを変更したわけでは無いので)。
方法3:エクスプローラーのネットワークから「プライべート」に切り替える
最後に「パブリック」から「プライベート」に切り替える方法として、エクスプローラーを利用した操作を紹介します。 (参考: http://tubapr.hatenablog.com/entry/2013/12/20/162938 )
ただし、この方法で設定を行った場合、私の環境では少し不具合(?)が発生しました。「注意点」として後述します。
1.エクスプローラーを起動し、「ネットワーク」を選択
エクスクローラーを起動して「ネットワーク」を表示します。しばらくするとアドレスバーの下あたりにメッセージが表示されますので待ちます。
2.「ネットワーク探索とファイル共有が無効になっています。…」をクリック
表示されたメッセージをクリックします。
3.「ネットワーク探索とファイル共有の有効化」をクリック
4.「いいえ、接続しているネットワークを…」をクリック
以上で、ネットワークを「パブリック」から「プライベート」に切り替えることができます
注意!
ただし、この方法でプライベートに切り替えた場合、それ以降は「方法1:ローカルセキュリティーポリシーの設定を変更する」を行っても変更が反映されないという現象が発生しました。
これは私の環境だけのものなのか、それとも一般的に発生するものなのか、また仕様なのか不具合なのかについては調べてきれていません。
また、この操作を一度設定を行うと、同様の操作で再度「パブリック」に戻すこともできなさそうです(エクスプローラーやコントロールパネルから、この逆となる操作が見当たらない)。
なお、「方法2」で挙げたPowerShellのコマンドレットはこの後も有効でした。再度変更を行う必要がある場合は、PowerShellでやってみてください。
なんらかの方法で回復は可能なのではないかとは思いますが*2、現在のところ私はこれ以上調べきれていないません。そのため、とりあえず今後もこの「方法3」では設定は行わないようにしようと思っています*3。
まとめ
Window Server 2012のネットワークの種別(NetworkCategory)の変更についてまとめてみました。
Window 7の時のように「ネットワークと共有センター」から変更できると楽だなーと思うのですが、とりあえず現状はこのような状態のようです。 が、私はこのあたりについては疎いので、特に方法3についてなんらか情報をご存知の方がおられれば、コメント等いただけると大変助かります。