Ищем адреса доменных компьютеров


Задача: получить список учетных записей компьютеров в домене, чьи IP-адреса принадлежат заданным сетям

Задача распадается на несколько подзадач:

1.       Получить получить список учетных записей компьютеров в домене

2.       Для каждой учетной записи компьютера получить его IP-адрес

3.       Выбрать учетные записи компьютеров, чьи адреса соответствуют шаблону

Получился такой скрипт:

$CompList = (Get-ADComputer  -Filter «*»)

 

$DumpCompList = @()

 

$FilteredCompList = $CompList |

    % { try {$n=$_.Name; [System.Net.Dns]::GetHostEntry($_.Name)}

        catch {$DumpCompList +=  $n} } |

     ? {$_.AddressList | ? {$_.IPAddressToString -match «172.16.22[5,6]»}

       }

 

 

Этот скрипт не только ищет нужные нам учетные записи компьютеров, но и создает список имен компьютеров, у которых нет IP-адресов, в переменной $DumpCompList (можно использовать для удаления давно умерших компьютеров).

Примечание:

Распознавание имен идет через DNS, поэтому скрипт работает максимально быстро: задержки происходят только на именах, которых нет в DNS.

Полезные ссылки:

1.       .Net класс System.Net.Dns

2.       Описание метода GetHostEntry

3.       Командлет Get-ADComputer

Реклама

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: