.netFrameworkの GetHostAddresses を使えば ホスト名からIPアドレスを取得することができるが、対象ホスト名に対して複数のIPアドレスやIPv4,IPv6アドレスが含まれるがことがある。
こういった情報を一覧(Excel)で取得したいが、わざわざファイル出力させることも面倒なのでタブ区切りで出力させるようにしたサンプル
サンプルコード
$TargetHostName = "www.google.com"
$AddressList = [System.Net.Dns]::GetHostAddresses($TargetHostName)
#hedder infomation
Write-Output "AddressFamily`tIPAddressToString"
foreach ($Address in $AddressList) {
Write-Output "$($Address.AddressFamily)`t$($Address.IPAddressToString)"
}
・”`t”を使うことで、タブを出力させることができる。
・見出し行(ヘッダ)出力にはいろいろなテクニックがありそうだが、今回は AddressFamily や PAddressToString といった項目名を1行目にベタ打ちするようにした。
結果
項目間がタブ区切りのため、コンソールに出力された結果をそのままExcelに張り付けられる。
AddressFamily IPAddressToString InterNetworkV6 2404:6800:4004:801::2004 InterNetwork 172.217.161.68

