none
IP-Sub-Netz auslesen und ausgeben RRS feed

  • Frage

  • Hallo,

    ich habe mir ein Programm mit Visual-Studio geschrieben, mit welchem ich mich in meinem privaten Netzwerk in die unterschiedlichen PC´s einloggen kann per anklicken des jeweiligen Buttons.

    Da ich 2 unterschiedliche Standorte habe und diese unterschiedliche Subnetze haben (Bsp. Haus-A hat 192.168.1.xxx und Haus-B hat 192.168.178.xxx), würde ich gerne, dass in meinem Tool über eine Textbox oder ähnliches mir ausgegeben wird : "sie sind im Netzwerk HausA" wenn meine eigene IP-Adresse durch DHCP 192.168.1.xxx ist und für Haus-B genau das gleiche...

    Leider habe ich eine komplette Denkblockade und weiss einfach nicht wie ich das realisieren kann. Könntet ihr mir bitte helfen?

    Habe auch schon gegooglet und hier im Forum die SuFu benutzt, leider ohne Erfolg.

    Danke schon mal im Vorraus und liebe Grüße! 

    Samstag, 25. Februar 2012 11:14

Alle Antworten

  • Nimm WMI. In diesem Powershell Arikelt werden die Mehtoden beschrieben:

    http://www.powershellpro.com/powershell-tutorial-introduction/powershell-wmi-methods/


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de

    Samstag, 25. Februar 2012 12:21
    Moderator
  • mit der vorgeschlagenen webseite wird mir nur vorgeschlagen, wie die ip adresse änder bzw. wie ich meinen netzwerkadapter änder. dies war jedoch leider nicht das was ich suche.
    Samstag, 25. Februar 2012 13:30
  • Hallo witcher7,

    auch wenn der Link von Martin nicht das bringt was Du brauchst, steckt im Posting die Antwort: Nimm WMI

    In der WMI Klasse Win32_NetworkAdapterConfiguration gibt es die lesbaren Properties IPAddress (aktuelle IP) und IPSubnet (aktuelles Subnet). Beides kannst Du in .Net mit Hilfe der Namespaces System.Management und System.Management.Instrumentation anprogrammieren

    Schöne Grüße

    Oliver

    Samstag, 25. Februar 2012 15:43
  • Hallo witcher7,

    Ich gehe davon aus, dass die Antworten Dir weitergeholfen haben.
    Solltest Du noch "Rückfragen" dazu haben, so gib uns bitte Bescheid.

    Grüße,
    Robert


    Robert Breitenhofer, MICROSOFT  Twitter Facebook
    Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „Entwickler helfen Entwickler“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.

    Freitag, 23. März 2012 09:58
    Moderator
  • Hallo zusammen,

    nun muss ich doch noch einmal fragen. ich habe noch immer das Problem, dass ich es nicht hinbekomme die IP,Subnetz und Gateway auszulesen und somit anzuzeigen...

    Ich lasse das ganze in einem Backgroundworker laufen, da die abfrage alle 10-15 sekunden gemacht werden soll.

    Das Problem ist, dass ich noch immer nicht die IP,Subnet und Gateway angezeigt bekomme.

    Private Sub BackgroundWorker1_DoWork(sender As System.Object, e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
            Dim Interfaces As NetworkInterface() = NetworkInterface.GetAllNetworkInterfaces()
            Dim adapter As NetworkInterface
            Dim myAdapterProps As IPInterfaceProperties = Nothing
            Dim myGateways As GatewayIPAddressInformationCollection = Nothing
            For Each adapter In Interfaces
                If adapter.NetworkInterfaceType = NetworkInterfaceType.Loopback Then
                    Continue For
                End If
                TextBox1.AppendText(adapter.Name & Environment.NewLine)
                TextBox1.AppendText(adapter.Description & Environment.NewLine)
                myAdapterProps = adapter.GetIPProperties
                myGateways = myAdapterProps.GatewayAddresses
                Dim IPInfo As UnicastIPAddressInformationCollection = adapter.GetIPProperties().UnicastAddresses
                Dim properties As IPInterfaceProperties = adapter.GetIPProperties()
    
                For Each IPAddressInfo As UnicastIPAddressInformation In IPInfo
                    TextBox1.AppendText("IP Address : " & IPAddressInfo.Address.ToString & Environment.NewLine)
                    TextBox1.AppendText("Subnet Mask :" & IPAddressInfo.IPv4Mask.ToString & Environment.NewLine)
                Next
    
                For Each Gateway As GatewayIPAddressInformation In myGateways
                    TextBox1.AppendText("Gateway IP :" & Gateway.Address.ToString & Environment.NewLine)
                Next
    
                TextBox1.AppendText("DNS Address :" & properties.DnsAddresses.ToString & Environment.NewLine)
            Next
    
        End Sub

    Montag, 3. Februar 2014 19:26