Получить список имен компьютеров локальной сети

Я использую Visual Studio 2010, и я искал в сети помощь и других людей, использующих DirectoryEntry("WinNT:"), но, похоже, он не работает для меня. Я вижу свои сетевые рабочие группы и, если я использую DirectoryEntry("WinNT://MYWORKGROUP"), я не вижу ни одного компьютера в списке.

Пожалуйста, помогите, я не уверен, почему это не работает для меня.

Спасибо

2 ответа

Получение имен компьютеров из сетевых мест:

Не используйте DirectoryServices, если вы не уверены в доменной среде. Класс System.DirectoryServices - это оболочка ADSI, которая не работает без Active Directory для запроса. NETServerEnum() работает в рабочих группах и доменах, но не гарантирует наиболее надежные данные (не все машины могут отображаться). Он опирается на службу браузера компьютера.

Для просмотра локальной сети Windows разрешение имен NetBIOS должно быть запущено и правильно настроено. В корпоративной сети это часто означает наличие WINS-сервера. Обязательные компоненты не включены по умолчанию в современных установках Windows.

Прежде чем пытаться что-либо сделать из собственного кода, убедитесь, что инфраструктура на месте. Откройте проводник Windows и разверните узел "Сеть". Если имя Windows просматривается правильно, вы должны увидеть список компьютеров в сети. Если список пуст, проблема не в вашем коде.

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