treedown’s Report

システム管理者に巻き起こる様々な事象を読者の貴方へ報告するブログです。会社でも家庭でも"システム"に携わるすべての方の共感を目指しています。

※https化しました。その影響でしばらくリンク切れなどがあるかもしれませんが徐々に修正していきます。 リンク切れなどのお気づきの点がございましたらコメントなどでご指摘いただけますと助かります。

ネットワーク名をコマンドやレジストリから確認する

たまに使う知識なのでちょっと忘れてしまうこともあるので、自分用メモです。
NICのネットワーク名称をちょっと操作する知識です。

NIC名とネットワーク名

Windowsのタスクバーに表示されるネットワークアイコンをクリックすると、こんな画面が表示されます。

この画面表示される「ネットワーク」というのがネットワーク名になります。

設定画面(Windows設定とコントロールパネル画面のncpa.cpl)でも同じ文字列「ネットワーク」が表示されています。

この表示のうち「ネットワーク」と言う箇所は、ルータの故障交換とかネットワーク環境の変化、Windows10の更新などいくつかの要因で名前が変わってしまうことがあります。
例えば、

このような感じ。気づいたら「ネットワーク 2」とか「ネットワーク 3」のように番号が振られていることがあります。

レジストリで確認してみる

この名前、たまに変更したくなることがあります。レジストリで変更可能なので、変更してみましょう。

レジストリエディタ(regedit)を実行し、
<HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles>
を開きます。

開くと、GUIDが一つ~複数展開されますので、どれか一つをクリックして開いてみましょう。

これはGUIDが一つだけの場合、下図のように複数ある場合もあります。

「ネットワーク 2」とか「ネットワーク 3」のように番号が付いている場合には、このようにGUIDが複数になっているようです。(※実際に使われているのが一つだけでも、過去と状態が変わったNICの情報が保存されているということのよう)

このレジストリ内の「ProfileName」のデータにある「ネットワーク」を書き換えると、指定した名前が表示されるようになります。

例えば、

この「ネットワーク」を「事務所イントラ」を書き換えてみました。

このように書き換えると、どの表示が変更になるか確認してみます。

先ほど確認したWindows10設定画面とコントロールパネル画面(のncpa.cpl)を画面の更新で確認してみると、

上図のように、「ネットワーク」と表示されていた箇所がレジストリで指定した「事務所イントラ」という文字列に書き換わっているのが分かります。

文字列「イーサネット」の表示箇所

もう一つの「イーサネット」という文字についても記録しておきます。

この文字列の指定は、

<HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Network\%GUID%\Connection>

にあります。対象の%GUID%は複数あって、どれが「イーサネット」の文字列を保持しているかは開いてみないと分かりません。

<HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Network>を開いてみます。

サブキーとなるGUIDの箇所をいくつか開いて行くと、「イーサネット」となっているGUIDのサブキーを発見しました。
これを編集してみます。

例えば、「ネットワークコネクション」という名前に変更してみて、どのように変化するか確認してみます。

コントロールパネル画面(のncpa.cpl)では編集した「ネットワークコネクション」という文字列に変更されました。
しかし、Windows10設定画面の方ではイーサネットの表記から変更されることはありませんでした。
別の画面でも、

「イーサネット」の表記はそのままでした。どうやら、<HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Network>のキーはWindows10設定画面の方の情報を持っていないようです。

PowerShellでネットワーク状態を確認するコマンドレット

以前、<PowerShellでネットワークカテゴリ変更 - treedown’s Report>とか<バッチでネットワークカテゴリを判定してプライベートに変更 - treedown’s Report>にて使用したコマンドレット

「Get-NetConnectionProfile」

でネットワーク名を取得することができます。

上がレジストリ編集前に(デフォルトの状態で)実行した「Get-NetConnectionProfile」の実行結果で、下の(二回目の実行)がレジストリ編集後に「Get-NetConnectionProfile」を実行した表示結果です。

ネットワーク名の変更は反映されていますが、「InterfaceAlias」とある箇所の「イーサネット」はそのままになっています。

また、以前使ったように「NetworkCategory」の表示もされますので、findstrコマンドなどで抽出すればネットワークカテゴリの確認もできます。

ちなみに、デバイス内の詳細な設定内容を確認するには「Get-NetAdapterAdvancedProperty」を実行するとncpa.cplの詳細設定画面で確認する情報をPowerShell画面で確認することが出来ます。※NICの詳細設定の設定値をバッチファイルやpsスクリプトで確認するときは便利かも。

WMIから情報取得のコマンド

コマンドプロンプトから情報を確認する時には、WMIを使うのが一般的です。

「wmic nicconfig list full」か「wmic nicconfig get * /format:list」とすると、WMIで管理されているNIC情報が表示されます。
実際には表示が多いので、「 | findstr IPAddress」を付加して以下のように

「wmic nicconfig list full | findstr IPAddress」
とか
「wmic nicconfig list full | findstr IPGateway」
という感じで、項目を絞って使うことになりそうです。

「ipconfig /all」より詳細なNIC情報を取得できますが、それだけに不要な項目表示も多くなるので、「ipconfig /all」で足りない用であればWMI情報を利用するという感じになりそうです。

ちなみに、「wmic nicconfig list full | findstr SettingID」と"SettingID"を抽出すると、NICのGUIDを一覧表示することが出来ます。

レジストリでGUIDを探すときに、予めGUIDを把握しておくのにこの情報が使えるかもしれません。