C sharp - Cambiar el estado de un adaptador de red

 
Vista:

Cambiar el estado de un adaptador de red

Publicado por Gustavo (6 intervenciones) el 21/10/2015 18:11:25
Estimados, buenos días.

Necesito encontrar la forma de modificar el estado de los adaptadores de red de un notebook.
Esta notebook requiere por momentos operar vía wireless y otros vía Ethernet.
El tema es que el usuario no tiene permisos para cambiar de uno a otro manualmente, por lo que una aplicación que tendría estos permisos habilitados por políticas lo tendría que hacer.

Con el código que pego a continuación puedo recorrer los adaptadores que tiene la notebook y su estado, pero no puedo modificar ese estado (de UP a DOWN).

1
2
3
4
5
6
7
8
string nombredeladaptador;
NetworkInterface[] Interfaces = NetworkInterface.GetAllNetworkInterfaces();
 
foreach (NetworkInterface adaptador in Interfaces)
{
     nombredeladaptador = adaptador.NetworkInterfaceType.ToString();
     string estado = adaptador.OperationalStatus.ToString();
}

Desde ya agradezco la ayuda que me puedan dar!

Saludos!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Cambiar el estado de un adaptador de red

Publicado por Requeteprogramador (115 intervenciones) el 21/10/2015 20:24:58
Sí, yo vivo de las gracias que me dan.

No puedes cambiar algo con permisos de administrador con un programa ejecutado con el usuario María. Pero no tienes más que ejecutar un código como administrador para poder cambiar aquéllo que tenga permisos de administrador, y para ejecutar algo como un usuario cualquiera sólo necesitas su contraseña. Lógico.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Cambiar el estado de un adaptador de red

Publicado por Gustavo (6 intervenciones) el 21/10/2015 21:37:37
No fue lo que pregunté
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Cambiar el estado de un adaptador de red

Publicado por Fabio (1 intervención) el 21/10/2015 21:50:02
Eso se puede hacer con el comando runAs . Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Cambiar el estado de un adaptador de red

Publicado por Gustavo (6 intervenciones) el 21/10/2015 22:00:47
Fabio, gracias por tu respuesta, pero lo que yo quiero saber es si existe por código con C# la posibilidad de cambiar el estado de UP a DOWN de un adaptador de red.
El código que pegué ejemplifica que llegué a ver esa información pero no logro modificar el valor de la propiedad.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Cambiar el estado de un adaptador de red

Publicado por Requeteprogramador (115 intervenciones) el 21/10/2015 22:12:54
Existe.

Puedes usar el comando de consola netsh o la clase Win32_NetworkAdapter del wmi
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Cambiar el estado de un adaptador de red

Publicado por Gustavo (6 intervenciones) el 21/10/2015 22:21:31
Ok, de que forma, la estuve viendo y no pude resolverlo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Cambiar el estado de un adaptador de red

Publicado por Requeteprogramador (115 intervenciones) el 22/10/2015 07:16:10
Ahora viene cuando volvemos al principio. Tú consideras que estás intentando cambiar algo con permisos restringidos con un código que tiene los permisos necesarios para hacer eso y yo no. Tú consideras que el código que estás ejecutando tiene los permisos necesarios para cambiar lo que quieres cambiar y yo no. Tú consideras que en lo primero que te he contestado no te he dado la solución al problema que tienes y yo sí. Y todo por el mismo precio.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Cambiar el estado de un adaptador de red

Publicado por Gustavo (6 intervenciones) el 22/10/2015 14:16:34
Podrás olvidarte lo de los permisos? Eso no es lo que necesito saber.
En el primer mensaje puse que eso se va a resolver por medio de políticas de seguridad.
Por las dudas que no la hayas leído, la pregunta es:

- como puedo modificar el estado de un adaptador (de UP a DOWN).
- Usa WMI (me dijiste)
- De que forma, lo estuve viendo y no pude (dije yo)

Gracias....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Cambiar el estado de un adaptador de red

Publicado por Requeteprogramador (115 intervenciones) el 22/10/2015 15:16:21
Si eso de que lo tienes resuelto con las políticas ya lo he leído. El problema es que no me lo creo. Si llevaras la mitad de tiempo que yo resolviendo problemas a la gente sabrías que nunca tienes que hacer caso a lo que te digan.

Lo que quieres hacer es tan fácil como esto

http://www.codeproject.com/Articles/6975/SwitchNetConfig-Laptop-users-quickly-switch-networ

Para poner enabled o disabled un adaptador no hay más que usar el método Enabled o Disabled del objeto creado como explica ahí

https://msdn.microsoft.com/en-us/library/aa394216%28v=vs.85%29.aspx

Si llevaras la cuarta parte de tiempo que yo programando sabrías que cuando un código no te funciona en Windows lo primero que tienes que hacer es llamar a GetLastError. Eso te devuelve un código de error que aclara bastante. Prueba el código que quieras, cuando resulte que no funcione llama a GetLastError y pega el número de error que devuelve.

Si ese número de error es alguno que hable de permisos te dejamos que no lo pegues.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar