コンピューターにおけるネットワーク関連のトラブルは随分減った印象があるが、複雑性が解消されたわけでもない。今でもネットワークは、複雑で面倒なものの1つだろう。
今のWindowsでは「設定」→「ネットワークとインターネット」で、稼働中のネットワークインターフェース(ネットワークアダプタ)だけを単純化して見せているが、ifconfig.exeコマンドを使うと大量のネットワークアダプタが表示される。
ここには仮想環境のネットワークドライバや、Windows Updateのときに新規登録がされ、使われなくなったネットワークアダプタなどが表示されている。
今回は、ネットワークアダプタがどのように選択されるかについて解説する。インターネット接続が標準的になってから、主となるネットワークアダプタはインターネット接続が可能なものだ。また、現在のWindowsでは、標準では複数のネットワークアダプタを併用せず、できる限り1つのネットワークアダプタだけを使うようになっている。
ネットワークアダプタの情報を得るには?
ユーザーが単に確認するだけなら、前述の「設定」→「ネットワークとインターネット」のほか、コントロールパネルの「ネットワークと共有センター」を使う。また、コマンドラインからなら「ipconfig.exe」が利用できる。
適当なアダプタ(Wi-Fi、イーサネット、携帯電話)を選択することで、Windowsが利用している「インターネット接続」に使われるネットワークを見つけることができる。
現在では、インターネットに接続しているかどうかが、ネットワークアダプタの最も重要な状態である。逆に言えば、インターネット接続に使えないネットワークアダプタは個々に使い道があったとしても、Windowsやユーザーにとっては「重要」なネットワークアダプタではない。
PowerShellでは、「Get-NetAdapter」コマンド(https://learn.microsoft.com/en-us/powershell/module/netadapter/get-netadapter?view=windowsserver2022-ps)で、現在Windowsが認識しているネットワークアダプタの一覧を得ることができる。ただし、実行させてみると、大量のネットワークアダプタが表示されることがある。
この中から、正しいものを選ぶ必要があるのだが、それには、別の情報を使う必要がある。1つは、アダプタが現在接続しているネットワークとその状態を示す「接続プロファイル」だ。これは、無線LANの接続先などとして、コントロールパネルの「ネットワークと共有センター」で「ネットワーク」として表示されていたもの。この接続プロファイルには、IPv4/IPv6個別にインターネット接続状態が記録されている。
接続プロファイルを取得するには、「Get-NetConnectionProfile」コマンド(https://learn.microsoft.com/en-us/powershell/module/netconnection/get-netconnectionprofile?view=windowsserver2022-ps)を使う。単純に実行すれば、現在稼働中のネットワークが接続しているネットワークのプロファイルを表示する(正確には、CIMのMSFT_NetConnectionProfileオブジェクト)。
ここには、「IPv6Connectivity」と「IPv4Connectivity」の2つのプロパティがある。
それぞれ、IPv6、IPv4でのインターネット接続状態を示す。現状では、IPv4でインターネットに接続できてもIPv6を利用できないネットワークが存在するため、両者を個別で調べる必要がある。
もう1つは、Windows接続マネージャー(WCM。Windows Connection Manager)だ。WCMは、複数の有効なネットワークがあるとき、その中から適切なものを選択する機能を持つ。WCMの資料(https://learn.microsoft.com/ja-jp/windows-hardware/drivers/mobilebroadband/understanding-and-configuring-windows-connection-manager)によれば、Windowsは以下の優先順位でネットワークアダプタを選択する。
イーサネット
無線LAN
携帯電話(モバイルブロードバンド)
また、WCMは、インターネット接続に使うネットワークアダプタを1つに絞る。これにより、複数のネットワークアダプタがあっても、適切なものが1つだけ選ばれるようになっている。ポリシーにより挙動を変更することは可能だが、WCMはGUIを持たず、現在の設定値を得るためであっても、プログラムを書く必要がある。
ネットワークの種類は、前述のGet-NetAdapterでは、MediaTypeプロパティで示される。MediaTypeは、NDISMediumプロパティ(数値)を文字列に変換したスクリプトプロパティである。MediaTypeとNDISMediumを以下の表に示す。
この連載の記事
-
第462回
PC
Windows Terminal Preview版でSixelグラフィックスを扱う -
第461回
PC
Copilot+ PCを買ってみたが、「今焦って買う必要はない」のかもしれない -
第460回
PC
Windowsでsftpを使う -
第459回
PC
WSL 2.4.4ではtar形式でのディストリビューションが配布でき、企業での利用が容易になってきた -
第458回
PC
Windows上でhostsファイルを活用する -
第457回
PC
IPv6アドレスは先頭を見ればどんな種類かわかる -
第456回
PC
あらためてIPv6基本のキ -
第454回
PC
Windows 11 24H2では「デバイスの暗号化」の条件が変わり、より多くのPCでドライブが暗号化される -
第453回
PC
Windows 11 24H2の配布開始後もすぐにはやってこない Windows UpdateとSafeguard Holds -
第452回
PC
Windows 11 Ver.24H2が登場 Copilot+ PCとそうでないPCで実質Windowsが2つに分かれる - この連載の一覧へ