読者です 読者をやめる 読者になる 読者になる

System.Net.Dns.Resolve の挙動

.NET

このメソッドは Obsolete だが、GetHostEntry でも同じ挙動を示す。

ホスト名から IP アドレスを得る

PS C:\Users\Able> [System.Net.Dns]::Resolve("localhost")

HostName                                Aliases                                 AddressList
--------                                -------                                 -----------
Baker                                   {}                                      {127.0.0.1}

ホスト名から IP アドレスが得られない場合はエラーになる

PS C:\Users\Able > [System.Net.Dns]::Resolve("foobar.localhost")
"1" 個の引数を指定して "Resolve" を呼び出し中に例外が発生しました: "そのようなホストは不明です。"
発生場所 行:1 文字:26
+ [System.Net.Dns]::Resolve <<<< ("foobar.localhost")
    + CategoryInfo          : NotSpecified: (:) []、MethodInvocationException
    + FullyQualifiedErrorId : DotNetMethodException

IP アドレスからホスト名を得る

PS C:\Users\Able > [System.Net.Dns]::Resolve("127.0.0.1")

HostName                                Aliases                                 AddressList
--------                                -------                                 -----------
Baker                                   {}                                      {127.0.0.1}

IP アドレスからホスト名が得られない場合はエラーにならない

(ただし応答が遅い。手元の環境で 5 秒ほどかかる。HostName プロパティに IP アドレスが設定される)

PS C:\Users\Able> [System.Net.Dns]::Resolve("192.168.0.1")

HostName                                Aliases                                 AddressList
--------                                -------                                 -----------
192.168.0.1                             {}                                      {192.168.0.1}