2009-07-21 7 views
1

Где я работаю, мы используем часть программного обеспечения под названием Dameware для удаленного управления компьютерами в нашем домене. Через Dameware мы можем получить список всех компьютеров, которые находятся в сети и в настоящее время подключены к домену.Запрос на компьютеры в домене, который находится в сети

Мы находимся в процессе развертывания нового программного обеспечения для управления рабочим столом, которое не предоставляет этой функции нам. Нам нужно знать имя компьютера, когда мы хотим подключиться к нему.

Я знаю, как получить список компьютеров, принадлежащих домену, но также возвращает компьютеры, которые могут быть или не быть в сети. Как мне вернуть список компьютеров с в настоящее время подключен (т. Е. Имеет активное сетевое подключение) к домену? Я подумал о возврате списка компьютеров, принадлежащих домену, а затем пинг каждого, но я думаю, что это будет медленным и полной тратой ресурсов.

Я бы предпочел .NET-решение, но скрипт VB также будет работать. Я могу закончить создание GUI для этого, что я буду распространять среди членов нашей ИТ-команды.

ответ

0

Можете ли вы установить на каждый компьютер приложение монитора, которое отправляет биение в центральную БД? Затем вы можете запросить из БД, отслеживать больше статистики и т. Д., Имея небольшое приложение на каждом компьютере.

Таким образом, вы распределяете расходы на сохранение статуса из своего инструмента мониторинга на каждую машину, получаете возможность сохранять историю (какие машины были недоступны в какое время и т. Д.) И упростить инструмент мониторинга, чтобы просто запустить быстрый запрос на БД вместо того, чтобы делать пинги на каждой машине

Кроме того, у меня были проблемы с некоторыми компьютерами, не отвечающими на пинг в зависимости от настроек брандмауэра (спасибо, Windows XP с включенным брандмауэром).

Наконец, хорошо, что вы также можете заменить свой пользовательский интерфейс, чтобы использовать все, что вам нужно (C#, веб-страница и т. Д.).

+0

Я сомневаюсь, что сетевой администратор захочет установить что-то, что будет следить за каждым компьютером и доложит в центре города. Я думаю, что для него слишком много головных болей и головной боли. Это определенно хорошее решение. Спасибо за ввод. –

0

Как найти все компьютеры, используя NetServerEnum?
В любом случае я предлагаю вам не беспокоиться о том, чтобы найти, какая машина находится в сети, поскольку это может измениться к моменту, когда пользователь/приложение попытается воздействовать на эту машину.

1

Хорошо Ping может на самом деле работать.

Я работаю над библиотекой scapy, которая представляет собой библиотеку python для создания пакетов TCP/IP. Я использовал для ping подсеть как 192.168.1.0/24. Я пробовал много разных пинов - ARP, ICMP, TCP.UDP. Результаты были шокирующими -

  • TCP и UDP пинг принимать на протяжении всей жизни, чтобы возвращения всех ответов
  • ICMP также занимает меньше времени, но до сих пор мне пришлось ждать 40-й или более
  • ARP пингов были лучший. Потребовалось не более 2-3 секунд, чтобы вернуть ответ . Вы можете попробовать это и скажите мне , что ваш опыт

Вы должны использовать Ping class of .NET для этого.

Вы должны даже проверить this question on Stack Overflow


ARP библиотека для .NET

В настоящее время я не имею ни малейшего представления, если .NET дает абстракцию ARP, но это может быть используется через Iphlpapi.dll

Эта библиотека имеет функцию с именем SendARP, имеющий подпись

int SendARP (int DestIP, int SrcIP, byte [] pMacAddr, ref uint PhyAddrLen);

Вы должны проверить this page for more example, а также прочитать о iphlpapi.dll