Ciao a tutti,
ho bisogno di poter abilitare/disabilitare una scheda di rete.
Il mio caso di utilizzo dovrebbe essere un PC con 4 schede di rete ethernet e 1 Wireless da abilitare e disabilitare in sequenza per testare una linea di produzione di router.
Ho iniziato col visualizzare l'elenco delle schede di rete tramite questo semplice codice:
Imports System.Management
Imports System.Runtime.InteropServices
Imports System.Net.NetworkInformation
Imports System
Imports System.IO
Imports Shell32
Dim table As New System.Data.DataTable
table.Columns.Add("nome", GetType(System.String))
table.Columns.Add("id", GetType(System.String))
table.Columns.Add("speed", GetType(System.String))
table.Columns.Add("status", GetType(System.String))
table.Columns.Add("tipo", GetType(System.String))
Dim computerProperties As IPGlobalProperties = IPGlobalProperties.GetIPGlobalProperties()
Dim nics As NetworkInterface() = NetworkInterface.GetAllNetworkInterfaces()
If nics Is Nothing OrElse nics.Length < 1 Then
Console.WriteLine(" No network interfaces found.")
Return Nothing
Exit Function
End If
For Each adapter As NetworkInterface In nics
Dim r As System.Data.DataRow
r = table.NewRow
r.Item("nome") = adapter.Name
r.Item("id") = adapter.Id
r.Item("speed") = adapter.Speed
r.Item("status") = adapter.OperationalStatus
r.Item("tipo") = adapter.NetworkInterfaceType
table.Rows.Add(r)
Next
Return table
Fin qui è stato piuttosto facile e intuitivo.
ora volevo trovare un modo di disabilitare o abilitare una interfaccia di rete tramite l'ID con lunguaggio .NET
Facendo qualche ricerca in internet noto che molti utilizzano delle API per arrivare tramite "Pannello di controllo" (credo) fino alle impostazioni delle schede e lì lanciano un "verbo" per disabilitare o abilitare un'interfaccia.
Mi chiedevo, se .NET mi permette di visualizzare le schede di rete, ci sarà un modo per abilitarle o disabilitarle.
finora vedendo un po' tra le classi sono risucito a trovare solo dei metodi per impostare gli IP.
Spero che possiate darmi una mano, Grazie!