presents by IT Consulting 109

PowerShell – ネットワークインターフェイス詳細情報を取得

概要

ネットワークインターフェイスの詳細情報を取得する方法について記載しています。

 

手順

ipconfig /all

実行結果

Windows IP 構成

   ホスト名. . . . . . . . . . . . . . .: DESKTOP-4QPJVAK
   プライマリ DNS サフィックス . . . . .: 
   ノード タイプ . . . . . . . . . . . .: ハイブリッド
   IP ルーティング有効 . . . . . . . . .: いいえ
   WINS プロキシ有効 . . . . . . . . . .: いいえ
   DNS サフィックス検索一覧. . . . . . .: example.com

イーサネット アダプター イーサネット:

   接続固有の DNS サフィックス . . . . .: example.com
   説明. . . . . . . . . . . . . . . . .: Intel(R) PRO/1000 MT Desktop Adapter
   物理アドレス. . . . . . . . . . . . .: 08-00-27-C9-AC-D8
   DHCP 有効 . . . . . . . . . . . . . .: はい
   自動構成有効. . . . . . . . . . . . .: はい
   リンクローカル IPv6 アドレス. . . . .: fe80::39ae:82ce:e81d:b525%3(優先) 
   IPv4 アドレス . . . . . . . . . . . .: 10.0.0.101(優先) 
   サブネット マスク . . . . . . . . . .: 255.255.255.0
   リース取得. . . . . . . . . . . . . .: 2018年1月1日 0:00:00
   リースの有効期限. . . . . . . . . . .: 2018年1月1日 0:00:00
   デフォルト ゲートウェイ . . . . . . .: 10.0.0.1
   DHCP サーバー . . . . . . . . . . . .: 10.0.0.1
   DHCPv6 IAID . . . . . . . . . . . . .: 50855975
   DHCPv6 クライアント DUID. . . . . . .: 00-01-00-01-00-33-22-55-88-00-77-C9-AC-D8
   DNS サーバー. . . . . . . . . . . . .: 10.0.0.10
                                          10.0.0.20
   NetBIOS over TCP/IP . . . . . . . . .: 有効

 

 

値を格納すれば以下のように取り出すことができます。 値を格納します。

$result = ipconfig /all

 

ホスト名を取り出してみます。

$result[3].Split(":")[1].Trim()

実行結果

DESKTOP-4QPJVAK

 

DNS サフィックス検索一覧の情報だけを取り出してみます。

$result[3].Split(":")[8].Trim()

実行結果

example.com

 

補足

取り出す際のオプションについて解説します。

$result[3].Split(":")[1].Trim()

 

分割して説明します。

$result[3]

何行目のデータを取り出すかを指定しています。
上記の場合だと4行目(1行目は[0]になります)を取り出すと指定しています。

ホスト名. . . . . . . . . . . . . . .: DESKTOP-4QPJVAK

確認する程度なら有効な取り出し方ですが、データとして使う場合扱いにくいです。

 

区切り文字が明確なデータの場合、値を分割することができます。

$result[3].Split(":")

上記の場合、「:」を分割する基準として指定しています。

 ホスト名. . . . . . . . . . . . . . .
 DESKTOP-4QPJVAK

 

値を分けた後、必要な値だけ取り出す場合は次のように指定します。

$result[3].Split(":")[1]

2番目の値を取得したい場合は[1]を指定します。
※1番目[0]には[ ホスト名. . . . . . . . . . . . . . .]が格納されていることになります。

 DESKTOP-4QPJVAK

 

見た目ではわかり難いかもしれませんが、取り出した値の左にはスペースが含まれています。
スペースを取り除くにはTrimを使用しています。

$result[3].Split(":")[1].Trim()

 

ネットワークインターフェイスの詳細情報は、構成により行数がずれたりします。
必ずしも指定した行が想定していた行は限らないため注意は必要ですが、取り出した値のラベル側(split(“:”)[0])の値を条件式にかければ、有効な活用方法があると思います。

この記事を書いた人
名前:TRUE's。 千葉県育ち、神奈川県在住のIT系フリーエンジニア。 IT系のナレッジサイトを不定期で更新中。 フォトグラファー兼エンジニアとして日々勤しんでいる。

コメントを残す

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