Войти

Показать полную графическую версию : [решено] Резолв ip адресов по списку dns серверов


Aquilo
01-08-2023, 17:37
Нужно получить список выводов Resolve-DnsName для разных dns серверов

Как я себе это представляю

Получаем табличный вывод:
$temp = Resolve-DnsName HOSTNAME -Server DNSSERVER1
Добавляем поле DNSServer
$temp | Add-Member -NotePropertyName DNSServer -NotePropertyValue DNSSERVER1

Повторяем это несколько раз для DNSSERVER2 и DNSSERVER3

Объединяем вывод в один табличный объект, включив отображение свойства DNSServer

Подскажите как это правильно сделать, так что бы в итоговой переменной была вся таблица, со строками со всех dns, и дополнительным столбцом, с именем dns?

Sham
01-08-2023, 22:07
без PassThru он ничего не отдаёт. Add-Member ... -PassThru | Select-Object *

Pavel Nagaev
02-08-2023, 09:04
А вам принципиально, чтобы вывод был Resolve-DnsName?

Я бы так делал, можно закрутить по разному, или по хостам или по dns серверам и потом делать со списком что хочешь.

$MyDNSList="8.8.8.8","8.8.4.4","1.1.1.1"
$MyHostList="www.ru","df329sd.234234234reT.ru","www.mail.ru","www.yandex.ru"

[System.Collections.Arraylist]$data = @()

foreach ($MyHost in $MyHostList)
{
foreach ($MyDNS in $MyDNSList)
{

$Status=[string](Resolve-DnsName -Name $MyHost -Type A -Server $MyDNS -ErrorAction SilentlyContinue| select -ExpandProperty ipaddress)

if (!($Status)){
$Status="Not Found"
}

$data += [pscustomobject]@{host=$MyHost ;
DNS=$MyDNS;
Status=$Status
}
}
}

$data | ft -a

Вывод такой будет:

host DNS Status
---- --- ------
www.ru 8.8.8.8 31.177.76.70 31.177.80.70
www.ru 8.8.4.4 31.177.76.70 31.177.80.70
www.ru 1.1.1.1 31.177.76.70 31.177.80.70
df329sd.234234234reT.ru 8.8.8.8 Not Found
df329sd.234234234reT.ru 8.8.4.4 Not Found
df329sd.234234234reT.ru 1.1.1.1 Not Found
www.mail.ru 8.8.8.8 94.100.180.70 217.69.139.70
www.mail.ru 8.8.4.4 94.100.180.70 217.69.139.70
www.mail.ru 1.1.1.1 217.69.139.70 94.100.180.70
www.yandex.ru 8.8.8.8 77.88.55.88 5.255.255.70 5.255.255.77 77.88.55.60
www.yandex.ru 8.8.4.4 77.88.55.88 77.88.55.60 5.255.255.70 5.255.255.77
www.yandex.ru 1.1.1.1 77.88.55.88 77.88.55.60 5.255.255.77 5.255.255.70




© OSzone.net 2001-2012