Иногда, при составлении отчетов, требуется получить список серверов Exchange в организации или убедиться, что все они доступны(пингуются) с определенного сервера или вашего компьютера. Существует масса способов, но поскольку у вас наверняка уже открыт Exchange Management Shell, то сделать это можно одной строчкой PowerShell.
Нижеприведенный one-liner получает список Exchange серверов в организации, сортирует их по имени и пингует каждый сервер из списка. Команда format-table -autosize форматирует полный вывод столбцов.
[PS]C:\ (get-exchangeserver |sort -property name| foreach { Test-Connection -CN $_.fqdn -Count 1 -BufferSize 16 })| format-table -AutoSize Source Destination IPV4Address IPV6Address Bytes Time(ms) ------ ----------- ----------- ----------- ----- -------- Server11 Server11.exchangefaq.ru 100.100.18.4 {} 16 175 Server11 Server21.exchangefaq.ru 100.100.18.3 {} 16 183 Server11 Server22.exchangefaq.ru 100.100.18.5 {} 16 191 Server11 Server26.exchangefaq.ru 100.100.22.5 {} 16 190 Server11 Server27.exchangefaq.ru 100.100.21.6 {} 16 195 Server11 Server24.exchangefaq.ru 100.100.23.14 {} 16 20 Server11 Server25.exchangefaq.ru 100.100.180.11 {} 16 22 Server11 Server20.exchangefaq.ru 100.100.21.13 {} 16 7 Server11 Server12.exchangefaq.ru 100.100.1.1 {} 16 0 Server11 Server14.exchangefaq.ru 100.100.1.2 ::1 16 0 Server11 Server23.exchangefaq.ru 100.100.1.3 {} 16 0 Server11 Server29.exchangefaq.ru 100.100.1.18 {} 16 0
Можно воспользоваться командлетами для работы с AD и получить IP адреса, пропинговать любые компьютеры в сети.
В начале нужно подгрузить модуль работы с AD
Import-module ActiveDirectory
Затем запустить one-liner, который выбирает из AD компьютеры, содержащие «*DC*», так в моем лабе маркируются домен контроллеры.
[PS] C:\>(get-adcomputer -filter 'name -like"*DC*"' |sort -property name| foreach{ Test-Connection -CN $_.DNSHOSTNAME -Count 1 -BufferSize 16 })|format-table -AutoSize
p.s. мне подобная информация потребовалась, когда нужно было получить IP адреса всех домен контроллеров в сети, а вспоминать их имена и узнавать IP путем пинга было просто лень. Оказалось, что в powershell это сделать проще пареной репы.