Windows 10 Version 2004でのネットワーク名の扱いについてのメモ

Windows 10にてネットワーク名を変更する方法について、ネット上の情報は若干の混乱というか両論併記的な記述が多いようなので、少し整理してみる。

要は、Windows 10 ProやEnterpriseの場合:

  • ローカルセキュリティポリシーでネットワーク名を設定する方法
    • Windows 管理ツール → ローカル セキュリティ ポリシー → ネットワーク リスト マネージャー ポリシー → すべてのネットワークを表示
  • レジストリでプロファイル名を変更する方法
    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles

――という2つの方法があるのだが、それぞれどう影響しあうのか、という話だ。

Windows 10 Homeではレジストリでプロファイル名を変更するしかないので割愛)

  1. ローカルセキュリティポリシーでネットワーク名を設定した場合には、その名前が表示される。
  2. ローカルセキュリティポリシーでネットワーク名を「未構成」に場合には、レジストリに設定されているプロファイル名が表示される。

ローカルセキュリティポリシーにて「すべてのネットワークを表示」とした際に一覧表示されるネットワーク名は、レジストリに設定されているプロファイル名だ。

興味深いことに、ローカルセキュリティポリシーで設定したネットワーク名は、レジストリのProfileNameとは別のどこかに保存されるようだ。

つまり、Windows 10 Pro / Enterpriseにおいては、GUIで表示される「ネットワーク名」には「ローカルセキュリティポリシーで設定した名前」と「レジストリ上のプロファイル名」の2種類があり、「ローカルセキュリティポリシーで設定した名前」の方が優先的に使用される。そして「ローカルセキュリティポリシーで設定した名前」が未構成の場合は「レジストリ上のプロファイル名」が使用される。

どうしてネットワーク名が内部的に2種類あるのかは不明だ。おそらく「歴史的経緯による継ぎ足し」によって、この二重化が発生したのだと思うのだが……プロファイル名には使用できない文字がある(なので「プロファイル名≒ネットワーク名」とすると、使用可能な文字種の制約が厳しい)とか、そんな理由かしらん。プロファイル名って「辞書型におけるキー値」っぽい役割で利用されていそうだから、色々と制約がありそうな気がする。