Рейтинг:0

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

флаг ec

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

ПРИМЕР:

Альтернативное имя хоста (оригинальный компьютер): НТ-ПРОД
Альтернативное имя хоста (файлы/сервисы, объединенные с выведенного из эксплуатации сервера): NT-ДАННЫЕ
Альтернативное имя хоста (аппаратный сбой = новый компьютер): ПРОИЗВОДСТВО-07
Текущее имя компьютера (физический сервер мигрировал в виртуальный): ПРОИЗВОДСТВО-21

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

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

флаг in
Одна машина имеет только «одно имя». У вас здесь несколько DNS-имен, разрешающихся на одну и ту же машину, верно? Вам нужно указать DNS и сгруппировать все имена, разрешающие один и тот же IP/компьютер.
флаг my
Еще одно уточнение: у вас есть несколько DNS-имен, разрешающих один и тот же IP-адрес. Правильный?
G_Hosa_Phat avatar
флаг ec
@NiKiZe - И это в значительной степени именно то, что я пытаюсь выяснить, как это сделать таким образом, чтобы его можно было включить или, по крайней мере, получить к нему доступ с помощью утилиты BGInfo. Прошу прощения, если вопрос неясен в этом отношении.
G_Hosa_Phat avatar
флаг ec
@uSlackr - Ну, я скажу да. Каждая из этих систем имеет несколько сетевых карт, поэтому есть дополнительные IP-адреса, которые могут «попасть туда». Однако, например, если я `PING`, скажем `NT-PROD`, он дает мне IP-адрес. Затем я выполняю NSLOOKUP для этого IP-адреса, и он возвращает, скажем, PRODUCTION-21. Имеет ли это смысл? (*ясно ли, что я здесь немного не в своей тарелке? Я имею в виду, что знаю* основы/основы *DNS, но это запутанный беспорядок, который иногда застает меня врасплох*)
Рейтинг:0
флаг my

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

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

G_Hosa_Phat avatar
флаг ec
Просто для уверенности, PowerShell, верно? У меня есть идея, как добраться отсюда отсюда, но для этого потребуется извилистая логика...
флаг my
Конечно. Какая извилистая часть? Вставьте IP-адрес сервера... Имейте в виду - серверу не нужно знать об этих других именах. Он будет заботиться только о своем имени компьютера (и, возможно, имени в конфигурации IIS, если оно отличается)
G_Hosa_Phat avatar
флаг ec
«Извилистая» часть на самом деле основана на вашем разъяснении в комментариях ОП, а также на моем собственном базовом тестировании. Машина имеет несколько сетевых карт (и несколько IP-адресов). В моем тестировании я `PING NT-PROD`, я получаю `192.168.1.6`. NSLOOKUP для этого IP возвращает PRODUCTION-21. `Resolve-DNSName` с этим IP-адресом возвращает PRODUCTION-21. Когда я пингую PRODUCTION-21, получаю 172.16.25.50. `NSLOOKUP` на *этом* IP ничего не получает, как и `Resolve-DNSName`. Единственный раз, когда я получаю `NT-PROD` здесь, это когда я набираю его сам, так что либо я что-то упускаю, либо мне нужен более крупный код. :П (1/2)
G_Hosa_Phat avatar
флаг ec
(2/2) Как я уже сказал, у меня есть некоторые идеи, но они включают в себя перечисление всех сетевых карт и IP-адресов компьютера, а затем чтение зоны DNS, чтобы сопоставить каждый из этих IP-адресов с любыми именами, которые он находит. В этот момент он может записать все это куда-нибудь в файл, и я смогу оттуда прочитать это в BGInfo. Просто *намного* сложнее, чем я изначально предполагал. Не удивительно, но мне, возможно, придется немного отложить этот конкретный проект.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.