Назад |
Перейти на главную страницу
Список всех имен и IP-адресов компьютеров Windows
Я хотел бы перечислить все имена машин из домена и их текущий IP, если они подключены к сети. Я подумываю использовать dsquery на контроллере домена, чтобы вывести список всех машин.
Мне интересно:
- Будет ли это работать, если у меня распределенные контроллеры домена в разных местах?
- Нужно ли мне запускать его на основном контроллере домена?
- Есть ли альтернатива?
- Да. Обычно вы запускаете запрос к одному контроллеру домена, а не ко всем. Данные реплицируются на все сайты. Запрос представляет состояние текущего сайта, которое может отличаться от другого из-за времени репликации. Чтобы получить учетные записи компьютера, вам не нужен DNS-сервер, но зоны DNS могут быть устаревшими, как сказал Матиас.
- Нет, чтение учетных записей компьютеров из активного каталога может быть выполнено с любой машины в домене (кроме того, что чтение по какой-то причине запрещено, что обычно не так). То же самое и с dns-запросами.
- Да. Увидеть ниже
Я рекомендую использовать powershell. Если у вас есть компьютер с Windows 7 или Vista (с присоединением к домену), вы можете установить RSAT и используйте предоставленные командлеты
Get-ADComputer -Filter * | Select-Object DNSHostName, @{name="Ip";Expression={(Test-Connection $_.DNSHostname -Count 1).IPV4Address.IPAddressToString}}
Этот код дает вам dnsname и текущий ipv4-адрес (если он запущен; с помощью командлета test-connection).
3 ответа на 3 вопроса:
- Вы можете заметить, что зоны DNS не обновлены, если вы используете специальные расписания репликации между вашими сайтами.
- Вам не нужно запускать его против эмулятора PDC (или PDC, если вы, не дай бог, все еще используете NT4), но если вы хотите получить информацию на компьютерах более чем в одном домене в лесу, вы можете запустить это против глобального каталога
- Если вы используете Microsoft DHCP в своей локальной сети, используйте следующую команду, чтобы показать активные клиентские аренды:
Netsh dhcp server scope 10.0.0.0 show clients
Я бы, вероятно, использовал VBScript или PowerShell для следующих действий:
- Выполните поиск LDAP в глобальном каталоге, фильтруя
operatingsystem
атрибут, - Для каждой возвращенной записи выполните поиск DNS на локальном DNS-сервере.
- Запросите каждый компьютер с помощью WMI (простой запрос), чтобы убедиться, что он в сети