Powershell是否能够从主机名提供IP地址(如果可能不再在网络上)



我正在尝试获取一个列表并ping文本文件中的每个主机名以获取IP地址。我已经尝试了几种方法,包括ping,nslookup等。我能够使用批处理脚本/命令行进一步使用它来使用 ping,因为即使无法获得响应,那里的 ping 仍然会显示 IP 地址,而 powershell 只是声明它无法使用计算机名称(主机名(解析。有什么想法吗?

如果您不在网络上或DNS不保存记录,则无法从主机名获取IP。

另一方面,如果您在网络上或DNS拥有它,那么您可以使用

[System.Net.Dns]::GetHostByName("google-public-dns-a.google.com").AddressList |  %{
    $_.IPAddressToString
}

退货8.8.8.8

或者,如果您想从IP获取主机名

[System.Net.Dns]::GetHostByAddress("8.8.8.8").Hostname

退货google-public-dns-a.google.com

[Net.DNS]::GetHostEntry($server).addresslist | % { ("Server $server IP: " + $_.IPAddressToString) }

相关内容

最新更新