PowerShellでシステム情報を取得(5)

ここではネットワーク情報を取得します。ネットワーク情報は

Get-NetIPConfiguration

で取得できます。出力結果は

InterfaceAlias       : Wi-Fi
InterfaceIndex       : 14
InterfaceDescription : Intel(R) Dual Band Wireless-AC 3168
NetProfile.Name      : XXXX
IPv4Address          : 192.168.X.X
IPv6DefaultGateway   :
IPv4DefaultGateway   : 192.168.X.X
DNSServer            : X.X.X.X
                       X.X.X.X

InterfaceAlias       : Bluetooth ネットワーク接続
InterfaceIndex       : 6
InterfaceDescription : Bluetooth Device (Personal Area Network)
NetAdapter.Status    : Disconnected

InterfaceAlias       : イーサネット
InterfaceIndex       : 2
InterfaceDescription : Realtek PCIe GbE Family Controller
NetAdapter.Status    : Disconnected

のような感じ。WIFIでつなげているので有線LAN(イーサネット)の情報はでてきません(NetAdapter.StatusがDisconnected)。量が多いのでSelect-Objectで抽出します。

Get-NetIPConfiguration | Select-Object InterfaceAlias,InterfaceDescription,IPv4Address

この出力結果は以下の通り。

InterfaceAlias             InterfaceDescription                     IPv4Address
--------------             --------------------                     -----------
Wi-Fi                      Intel(R) Dual Band Wireless-AC 3168      {X.X.X.X}
Bluetooth ネットワーク接続 Bluetooth Device (Personal Area Network) {169.254.X.X}
イーサネット               Realtek PCIe GbE Family Controller       {169.254.X.X}

Bluetoothとイーサネット(有線LAN)には接続していないのでリンクローカルアドレスが割り当てられています。デフォルトゲートウェイは

Get-NetIPConfiguration | Foreach IPv4DefaultGateway | Select-Object NextHop

で取得可能。これはゲートウェイそのものを取得するというよりデフォルトルートあてのパケットの次の宛先がどこかを探るという意味合いです。ま、それがデフォルトゲートウェイの意味合いなんですけれども。

次にサブネットマスクですが、

(Get-NetIPAddress -AddressFamily IPv4 -InterfaceAlias 'Wi-Fi').PrefixLength

で取得可能。出力は

24

プレフィックスの長さなので24ビットがマスクされるから255.255.255.0となります。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です