Получить все имена хостов в локальном DNS для текущего сервера Windows.

Я развернул BGInfo от SysInternals на всех наших серверах, как физических, так и виртуальных. Однако некоторые из наших серверов имеют несколько имен хостов для поддержки «обратной совместимости» с некоторыми из наших устаревших программных систем после замены сервера или объединения его функций с другим сервером. В некоторых случаях это может включать несколько «альтернативных» имен хостов, созданных несколько лет назад.

ПРИМЕР:

Альтернативное имя хоста ( исходный компьютер ): NT-PROD
Альтернативное имя хоста ( файлы/службы, объединенные с удаленного сервера ): NT-DATA
Альтернативное имя хоста ( аппаратный сбой = новый компьютер ): PRODUCTION-07
Текущее имя компьютера ( физический сервер перенесен на виртуальный ): PRODUCTION-21

Используя базовыеWMICчтобы получить имя компьютера, просто возвращает текущее имя, указанное в свойствах системы, при этом выполняяNSLOOKUPна IP-адресе сервера, по-видимому, происходит то же самое. Есть ли способ активно получить все имена хостов DNS, на которые этот конкретный сервер будет отвечать, для включения в мои обои BGInfo?

Полагаю, я мог бы создать текстовый файл (или что-то в этом роде), который BGInfo мог бы проверять на наличие альтернативных имен хостов, но я стараюсь сделать это как можно более «защищенным от идиотов», чтобы не забыть обновить/применить любые будущие изменения DNS. , или случайно перезапишите что-нибудь неверной информацией. Я с готовностью признаю, что я не «свободно» владею сценариями PowerShell или более сложными запросами WMIC, но предполагаю, что именно к этому мы и направляемся.

1 ответ

ПытатьсяResolve-DNSName <IP>Он должен вернуть все имена, зарегистрированные на IP-адрес сервера.

Имейте в виду, что это будет работать только с вашими локальными зонами. Не в Интернете или какое-либо подобное безумие ( подробнее об этом см. Ответы на https://stackoverflow.com/questions/31539904/get-all-dns-records-associated-with-an-ip)

Другие вопросы по тегам