由于防火墙的限制,我处理的服务器不会回复ping,但会给出它们的IP地址
例如,如果我这样做:
ping myhost.com
我得到
Pinging myhost.com [192.1.1.1] with 32 bytes of data:
Request Timed Out.
如何从Powershell获取服务器的IP?我知道如果服务器响应ping(测试连接或ping主机),可以通过多种方式完成,但是当它忽略ping请求时,我无法弄清楚
您可以使用 System.Net.Dns.GetHostAddresses(系统)方法。此方法将返回 System.Net.IPAddress 对象的数组。
用法示例:
$ipAddresses = [System.Net.Dns]::GetHostAddresses('google.com')
列出所有地址:
$ipAddresses | %{$_.IPAddressToString}
获取数组中的第一个地址:
$ipAddresses[0].IPAddressToString
您可以尝试通过 DNS 解析它:
[System.Net.Dns]::GetHostByName('google.com').AddressList