Иногда, при составлении отчетов, требуется получить список серверов Exchange в организации или убедиться, что все они доступны(пингуются) с определенного сервера или вашего компьютера. Существует масса способов, но поскольку у вас наверняка уже открыт Exchange Management Shell, то сделать это можно одной строчкой PowerShell.
Нижеприведенный one-liner получает список Exchange серверов в организации, сортирует их по имени и пингует каждый сервер из списка. Команда format-table -autosize форматирует полный вывод столбцов.
(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*», так в моем лабе маркируются домен контроллеры.
(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 это сделать проще пареной репы.
А еще пинговать можно так
$ping
=
New-Object
System.Net.Networkinformation.Ping
1..254 | % {
$ping
.send(“192.168.100.$_”) |
select
address, status }
А ещё пинговать можно так:
ping server_1
Но, ИМХО, Test-Connection в любом случае рулит!
ЗЫ. Паша, спасибо за заметку. Мне вот тут надо было найти все сервера в организации, так тоже пользовался Test-Connection для выяснения их текущего состояния, ну просто оочень удобно!
Я до сих пор удивляюсь и восхищаюсь возможностями PowerShell! Одно знаю точно — надо в нем практиковаться, чтобы быть, как рыба в воде. Особенно Exchange админам.
а nslookup -q=ns FQDN ?
В помощь ссылка
kleopatra1977_88@mail.ru пустышка
Thanks for the info, send more to 230273@mail.ru