ホスト名や FQDN から IP アドレス得るには、nslookup や ping で確認するのですが、PowerShell スクリプトでハンドリングする場合だとこの方法は今一つ使い勝手が良くないですね。
適切なコマンドレットが見当たらなかったので、.NET Framework の System.Net.Dns メソッド GetHostAddresses を使って IP アドレスを得てみます。
[System.Net.Dns]::GetHostAddresses("ホスト名/FQDN") |
GetHostAddresses は DNS 問い合わせをして、IPv4/IPv6 アドレスのすべてを返すので、戻り値は配列になっています。
IPv4/IPv6 アドレスの区別は AddressFamily を見て、"InterNetwork" なら IPv4、"InterNetworkV6" なら IPv6 アドレスと判断します。
IPv4 アドレスを得るのであれば、以下のようにします(複数 IPv4 アドレスを持っている可能性があるので、配列にして先頭の値を取る例)
$Terget = "www.microsoft.com" $DnsData = [System.Net.Dns]::GetHostAddresses($Terget) $IPv4Addresses = @($DnsData | ? {$_.AddressFamily -eq "InterNetwork"}) $IPv4Address = $IPv4Addresses[0].IPAddressToString echo $IPv4Address |
Copyright © MURA All rights reserved.