Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Резолв ip адресов по списку dns серверов (http://forum.oszone.net/showthread.php?t=353945)

Aquilo 01-08-2023 17:37 3013207

Резолв ip адресов по списку dns серверов
 
Нужно получить список выводов 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 3013220

без PassThru он ничего не отдаёт. Add-Member ... -PassThru | Select-Object *

Pavel Nagaev 02-08-2023 09:04 3013235

А вам принципиально, чтобы вывод был 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



Время: 03:21.

Время: 03:21.
© OSzone.net 2001-