当它没有响应ping时,通过powershell获取服务器的IP

时间:2012-10-09 20:46:17

标签: powershell ping

由于防火墙的限制,我处理的服务器不会回复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请求时我无法识别它

2 个答案:

答案 0 :(得分:4)

您可以使用System.Net.Dns.GetHostAddresses方法。 此方法将返回System.Net.IPAddress个对象的数组。

用法示例:

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

列出所有地址:

$ipAddresses | %{$_.IPAddressToString}

抓住数组中的第一个地址:

$ipAddresses[0].IPAddressToString

答案 1 :(得分:1)

您可以尝试通过DNS解决它:

[System.Net.Dns]::GetHostByName('google.com').AddressList