Форум: "Сети";
Текущий архив: 2003.09.25;
Скачать: [xml.tar.bz2];
ВнизПо имени компьютера в домене его IP-адрес Найти похожие ветки
← →
Borealis (2003-07-20 17:02) [0]Как получить IP-адрес компьютера, если мне известно его имя и домен в котором он находится?
На первый взгляд может показатся что вопрос простой.
К примеру здесь: http://delphibase.endimus.com/?action=viewfunc&topic=netaddress&id=10119 есть вполне рабочая (проверил) функция для этого.
Сложность заключается в том, что у нас несколько доменов (четыре) и имя компьютера находящегося в одном домене, может совпадать с именем копьютера находящегося в другом домене, при этом вышеприведённая функция возвращает IP-адрес "первого попавшегося" компьютера :(
Можно ли как-то указать, что меня интересует IP-адрес копьютера находящегося в том, а не ином домене?
ps. Пишу в этот форум, так как при попытке добавить свой вопрос в форум "Сети" появляется ошибка 404 "Запрашиваемая Вами страница не найдена" :(((
← →
Wonder (2003-07-21 11:40) [1]Так по FQDM и узнавай. Т.е. по hostname.domain
В чем сложность, я непойму?
← →
Borealis (2003-07-25 23:02) [2]
> Wonder © (21.07.03 11:40)
> Так по FQDM и узнавай. Т.е. по hostname.domain
> В чем сложность, я непойму?
Сложность в том, что так не работает. :(
Пример:
"AN.ZAO.PDU" <- Это один из доменов в нашей сети (для меня этот домен чужой)
"BUH0301" <- Это один из компьютеров в этом домене, имя которого дублируется в моём домене (BUH0301: бухгалтерия, первый комп в третьем кабинете)
Объединяю: "BUH0301.AN.ZAO.PDU", вызываю функцию HostToIP с этой строкой - результат: "False"... :(
ps. Прежде чем задать вопрос в этой эхе я перепробовал кучу вариантов (этот был одним из первых - по аналогии с адресами инета) и переворошил кучу сайтов в интернете.
Или может быть я неправильно понял ответ?
← →
Alex Konshin (2003-07-26 12:50) [3]DNS неправильно настроен.
И не путай ip-домен и Windows network domain - это разные вещи и вполне могут и не совпадать.
Судя по тому, что ты написал как "домен", ты скорее всего их путаешь, я даже не уверен, что у тебя в локальной сети есть свой DNS и ты знаешь что это такое.
Если на domain controller установлен Active Directory, то можно использовать его DNS - тогда они будут автоматом синхронизированы.
← →
Borealis (2003-07-26 14:26) [4]
> Alex Konshin © (26.07.03 12:50)
> DNS неправильно настроен.
> И не путай ip-домен и Windows network domain - это разные
> вещи и вполне могут и не совпадать.
> Судя по тому, что ты написал как "домен", ты скорее всего
> их путаешь, я даже не уверен, что у тебя в локальной сети
> есть свой DNS и ты знаешь что это такое.
В нашей сети DNS не установлен и его установка даже не предвидится. Речь в вопросе шла об "Windows network domain". Понятно, что с DNS было бы просто.
← →
Anatoly Podgoretsky (2003-07-26 14:46) [5]Подробнее об ОС сервера, что конкретно установлено, только точное название.
Но это BUH0301.AN.ZAO.PDU уже другое, это уже "ИП домен"
← →
Borealis (2003-07-26 15:15) [6]
> Anatoly Podgoretsky © (26.07.03 14:46)
> Подробнее об ОС сервера, что конкретно установлено, только
> точное название.
> Но это BUH0301.AN.ZAO.PDU уже другое, это уже "ИП домен"
ОС сервера: Windows NT4 Server
Установлен: WINS
Это имелось ввиду?
← →
Anatoly Podgoretsky (2003-07-26 15:24) [7]Так, а почему тогда даешь неверную информацию в заголовке?
[D5, D6, Win2k]
Это ИП домен, имя в формате Интернет, определяемое с помощью DNS или заменяющих его служб
← →
Borealis (2003-07-26 20:19) [8]
> Anatoly Podgoretsky © (26.07.03 15:24)
> Так, а почему тогда даешь неверную информацию в заголовке?
> [D5, D6, Win2k]
Это же я про свой компьютер... :))
> Это ИП домен, имя в формате Интернет, определяемое с помощью
> DNS или заменяющих его служб
? Разве? Я всегда считал, что у нас "Windows Network Domain". Ладно, не буду спорить. Знания по сетям у меня довольно поверхностные. Согласитесь, будь я экспертом по сетям, то в этом форуме был бы отвечающим, а не вопрошающим. :)
Написал я давненько программу, которая сканирует сетку на предмет наличия файлов определённой категории. Сначала с помощью функцииWNetEnumResource
, я получаю список доменов (или как там вы это называете) в сети. Потом для каждого домена с помощью функцииNetGetDCName
узнаю первичные контроллеры доменов. Потом функциейNetQueryDisplayInformation
получаю у каждого контроллера список зарегистрированых компьютеров. Прохожусь по этому списку и функциейHostToIP
"разыменовываю" имена компьютеров на их IP-адреса, потом для каждого IP, если он пингуется, функциейNetShareEnum
, получаю список его расшареных ресурсов, и здесь с помощьюFindFirst
иFindNext
получаю список файлов и каталогов, и всё это сохраняю в базу данных. В результате получается красивое такое дерево.
Вот эта программка долгое время прекрасно работала и никто не жаловался, как вдруг ни с того ни с сего стали появляться в разных доменах компьютеры с одинаковыми именами и для моей программы настали чёрные дни :)
Может посоветуете, как же мне получить IP компьютера, по его имени, находящегося в том, а не ином домене?
← →
Alex Konshin (2003-07-27 00:20) [9]
NetShareEnum
вовсе и не требует ip-адрес, ему будет вполне достаточно имени компьютера с доменом.
То есть, ты получаешь ip только для того, чтобы пингануть? А если они вовсе и не по TCP/IP соединены?
Тебе нужно либо делать изменения в программе, либо делать организационные изменения в сети. Я бы посоветовал сделать и то, и то. Установи Win2k advanced server в качестве DC, а на нем Active Directory. Тогда у тебя будет DNS синхронизированный с Windows network. Ну и программу тоже исправь.
← →
Fay (2003-07-28 18:41) [10]Я как-то читал, что имя домена всегда заканчивается точкой (на самом деле).
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2003.09.25;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.014 c