ネットワークインターフェイスの詳細情報を取得する方法について記載しています。
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])の値を条件式にかければ、有効な活用方法があると思います。