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



由于防火墙的限制,我处理的服务器不会回复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

最新更新