2

ファイアウォールの制約により、私が扱うサーバーはpingに応答しませんが、IPアドレスを提供します

たとえば、私がする場合:

ping myhost.com

私は得る

Pinging myhost.com [192.1.1.1] with 32 bytes of data:
Request Timed Out.

powershell からサーバーの IP を取得するにはどうすればよいですか? サーバーがping(Test-ConnectionまたはPing-Host)に応答する場合、さまざまな方法で実行できることはわかっていますが、pingリクエストを無視する場合はわかりません

4

2 に答える 2

4

System.Net.Dns.GetHostAddressesメソッドを使用できます。このメソッドは、 System.Net.IPAddressオブジェクトの配列を返します。

使用例:

$ipAddresses = [System.Net.Dns]::GetHostAddresses('google.com')

すべてのアドレスを一覧表示します。

$ipAddresses | %{$_.IPAddressToString}

配列の最初のアドレスを取得します。

$ipAddresses[0].IPAddressToString
于 2012-10-09T20:51:25.470 に答える
1

DNS で解決を試みることができます。

[System.Net.Dns]::GetHostByName('google.com').AddressList
于 2012-10-09T20:51:29.800 に答える