Fragensteller
IP-Sub-Netz auslesen und ausgeben

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!
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
- Als Antwort vorgeschlagen Oliver Michalski Samstag, 25. Februar 2012 13:13
- Nicht als Antwort vorgeschlagen witcher7 Samstag, 25. Februar 2012 13:28
- Als Antwort markiert Robert BreitenhoferModerator Freitag, 23. März 2012 09:58
- Tag als Antwort aufgehoben witcher7 Montag, 3. Februar 2014 19:57
-
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
- Als Antwort markiert Robert BreitenhoferModerator Freitag, 23. März 2012 09:58
- Tag als Antwort aufgehoben witcher7 Montag, 3. Februar 2014 19:57
-
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
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. -
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