Alle IP Adressen im Netzwerk auflisten

1234_c_1234

Grünschnabel
Hallo!
Um endlich mal klarheit zu verschaffen habe ich (nach langem googlen) heute einen Code zusammengestellt und verändert, der alle IP adressen im Netzwerk auflistet!
Es gibt eine ListBox mit dem Namen ListBox1

Quellen:
http://forum.vb-paradise.de/program...grammierung/7202-netzwerk-computer-auflisten/
(DIE andere Quelle weiß ich nicht! :( )


Verweis setzten: System.DirectoryServices

Und vor der Class: Imports System.DirectoryServices



Code:
Private Sub alle_ipadressen_ermitteln()
        Dim childEntry As DirectoryEntry
        Dim ParentEntry As New DirectoryEntry
        Try
            ParentEntry.Path = "WinNT:"
            For Each childEntry In ParentEntry.Children

                Select Case childEntry.SchemaClassName
                    Case "Domain"
                        Dim SubChildEntry As DirectoryEntry
                        Dim SubParentEntry As New DirectoryEntry
                        SubParentEntry.Path = "WinNT://" & childEntry.Name
                        Dim x
                        x = childEntry.AuthenticationType()
                        For Each SubChildEntry In SubParentEntry.Children
                            Try
                                Select Case SubChildEntry.SchemaClassName
                                    Case "Computer"
                                        Dim iphostentry As IPHostEntry = Dns.GetHostEntry(SubChildEntry.Name)
                                        For Each ipAddress As IPAddress In iphostentry.AddressList
                                            If ipAddress.AddressFamily = System.Net.Sockets.AddressFamily.InterNetwork Then
                                                Dim thisIp = ipAddress
                                                ListBox1.Items.Add(thisIp)
                                            End If
                                        Next
                                End Select
                            Catch ex As Exception
                                Debug.WriteLine(SubChildEntry.Name)
                            End Try
                        Next
                End Select
            Next
        Catch Ex As Exception
            MessageBox.Show(Ex.ToString)
        Finally
            ParentEntry = Nothing
        End Try
    End Sub

Ich hoffe das hilft vielen weiter!

Mfg
1234_c_1234
 
Zuletzt bearbeitet:

tequila slammer

Erfahrenes Mitglied
Wenn ich deinen Code richtig interpretiere, dann wird diese Auflistung aber nur in einer Domäne funktionieren. Alle IPs bekommst du so aber nicht.