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 or 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 回答