Может ли powershell предоставить IP-адрес от имени хоста, если он больше не находится в сети? - PullRequest
0 голосов
/ 03 июня 2019

Я пытаюсь взять список и пропинговать каждое имя хоста в текстовом файле, чтобы получить IP-адрес.Я пробовал несколько способов из ping, nslookup и т. Д. Я смог продвинуться дальше, используя пакетный скрипт / командную строку, чтобы перевести его на использование ping, поскольку при ping там все равно будет отображаться IP-адрес, даже если не удастся получить ответ, гдепоскольку powershell только заявляет, что это не может разрешиться с именем компьютера (имя хоста).Есть мысли?

Ответы [ 2 ]

0 голосов
/ 03 июня 2019
[Net.DNS]::GetHostEntry($server).addresslist | % { ("Server $server IP: " + $_.IPAddressToString) }
0 голосов
/ 03 июня 2019

Если вы не находитесь в сети, или 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

...