Вывести имена компьютеров их ip адрес в локальной сети

adb420

Роясь на просторах форума нашел код, код выводит список имен всех компов в сети. мне необходимо что бы к имени компа выводился еще и ip адрес этого компа. возможно ли переделать, изменить и дописать код так, что бы осуществить это. то что нашел, прикреплю. очень прошу помощи. заранее благодарен.
10 ответов

adb420

В том то и дело, что нет. Входит в цикл и ...
For Each dm As DirectoryEntry In parent.Children
через 10 - 15 сек - End SubЧто обидно - ничего вроде не делал, а работать пересталоЗ.Ы. net view выдает ошибку 53 Не найден сетевой путь.Раньше не проверял. Сеть работает.


adb420

Imports System.Net
Imports System.Net.Sockets
imports System.DirectoryServices
 
Public Partial Class MainForm
    Public Sub New()
        Me.InitializeComponent()
    End Sub
    
    
    Sub Button1Click(sender As Object, e As EventArgs)
        Dim parent As New DirectoryEntry("WinNT:")
        For Each dm As DirectoryEntry In parent.Children
            Dim coParent As New DirectoryEntry("WinNT://" & dm.Name)
            Dim dent As **************** = coParent.Children
            dent.SchemaFilter.Add("Computer")
            For Each client As DirectoryEntry In dent
                listbox1.Items.Add(GetAddr(client.Name))
            Next
        Next
    End Sub
    
    Function GetAddr(byval cname As String) As String
                        Dim remoteHostEntry As IPHostEntry
                               remoteHostEntry = Dns.GetHostByName(cname)
                   Return remoteHostEntry.AddressList(0).ToString
        End Function
End class


adb420

_Лёша_, у меня ругается на эту строчку...
Imports System.DirectoryService
Error1.Namespace or type 'System.DirectoryServices' has already been imported.библиотеку подключил. что еще надо сделать?


adb420

Ну все же ясно написано, пространство имен уже импортировано. У вас уже есть строка
Imports System.DirectoryService
точнее целых 2 одинаковые.


adb420

а теперь вот такая вот ошибка.


adb420

.NET Framework 4.6 and 4.5


adb420

Дико извиняюсь, но у меня что-то странное с этой процедуркой... Отлично работала только один день. Теперь около 15сек думает над строкой 9, ничего не находит и выходит из For Each. Сеть одноранговая, DIR-615, PC Win7U LAN, PC Win7U WiFi, PC W10 WiFi, RaspberyPi2 с XBMC KODI на WiFi. Все PC друг-друга видят, шары доступны. Малина видна не всегда, но с неё компы видны и доступны.Или лыжи не едут, или я ... Где копать?
Private Sub btScan_Click(sender As Object, e As EventArgs) Handles btScan.Click
        Me.Cursor = Cursors.AppStarting
        lbNet.Items.Clear()
        lbNet.Refresh()
        Dim objNetList, objNet, objComp As Object
        Dim xxx As New List(Of String)
        objNetList = GetObject("WinNT:")
        Dim tt = objNetList.GetType
        For Each objNet In objNetList
            objNet.Filter = ("Computer")
            For Each objComp In objNet
                Dim cname As String = objComp.name
                Dim caddr As String = GetAddr(cname)
                If caddr <> "" Then
                    xxx.Add(cname & "/" & caddr)
                    lbNet.Items.Add(Mid(cname & Space(15), 1, 15) & vbTab & caddr)
                End If
            Next
        Next
        Me.Cursor = Cursors.Default
    End Sub


adb420

10 строку поменяйте на
objNet.Filter = New Object() {"Computer"}
А что с vb6 переписали? Тут есть вполне хороший рабочий пример


adb420

Я уже все перепробовал. А этот код работалвот тут та-же песня
Sub sc2_Click(sender As Object, e As EventArgs) Handles btSend.Click
 
        Dim parent As New DirectoryEntry("WinNT:")
        For Each dm As DirectoryEntry In parent.Children
            Dim coParent As New DirectoryEntry("WinNT://" & dm.Name)
            Dim dent As **************** = coParent.Children
            dent.SchemaFilter.Add("Computer")
            For Each client As DirectoryEntry In dent
                lbNet.Items.Add(GetAddr2(client.Name))
            Next
        Next
    End Sub
objNet.Filter = New Object() {"Computer"}
попробовал на всякий случай - нуль эффект до фильтра дело не доходит


adb420

Abber, даж предложить нечего. А система какая у вас 7 или 10?А до этого процесс доходит?
 Dim coParent As New DirectoryEntry("WinNT://" & dm.Name)