В С#, как мне получить список имен локальных компьютеров, например, то, что можно просмотреть в сети в проводнике Windows

Есть много вопросов о получении имени и IP-адресов локальной машины и несколько о получении IP-адресов других машин в локальной сети (не все ответили правильно). Это другое.

В проводнике Windows, если я выбираю «Сеть» на боковой панели, я получаю представление о локальных машинах в моей локальной сети, перечисленных по имени машины (во всяком случае, в рабочей группе Windows). Как мне программно получить ту же информацию на С#?


person Community    schedule 07.04.2011    source источник
comment
Взгляните на это решение: stackoverflow.com/questions/2557551/   -  person Alex McBride    schedule 07.04.2011


Ответы (4)


Вы можете попробовать использовать пространство имен System.DirectoryServices.

var root = new DirectoryEntry("WinNT:");
foreach (var dom in root.Children) {
    foreach (var entry in dom.Children) {
        if (entry.Name != "Schema") {
            Console.WriteLine(entry.Name);
        }
    }
}
person Alex McBride    schedule 07.04.2011

Вам необходимо отправить запрос ARP для всех IP-адресов в заданном диапазоне. Начните с определения базового IP-адреса в вашей сети, а затем установите верхний идентификатор.

Я собирался написать несколько примеров кода и т. д., но похоже, что кто-то всесторонне рассмотрел это здесь;

Вопрос Stackoverflow ARP

person Brian Scott    schedule 07.04.2011


person    schedule
comment
пожалуйста, следуйте этому [URL] ( stackoverflow.com/help), это будет полезно для повышения качества вашего контента. - person Willie Cheng; 19.06.2016