Cómo escribir una secuencia de comandos de windows para cambiar la configuración de red sobre la marcha

Esta semana, me encontré con un problema interesante. A oficinas y entornos de trabajo muchos, puede que tenga que redefinir la configuración de red para conectarse a diferentes redes. Por ejemplo, algunas personas llevar su portátil a casa con ellos y tener una dirección IP estática creada específicamente para esa máquina. Sin embargo, ya que la red de trabajo es por lo general de DHCP, que requiere la persona que seguir cambiando la configuración de red entre una dirección IP estática o DHCP automática dependiendo donde están.

Un problema más común es que los ingenieros o personal de TI que a menudo necesitan conectarse a dispositivos o máquinas en una red pequeña dentro de un edificio. Para conectar a la red aislada, usted tiene que cambiar la configuración de red a una dirección IP estática. Más tarde, cuando vuelva a conectarse a la red corporativa, es hora de volver a DHCP.

Me encontré en esta situación con la suficiente frecuencia, y puse tan cansado de navegar a la tarjeta de red, la apertura de la configuración IP y hacer esos cambios, que decidí que era hora de poner juntos un script VB que hacerlo todo en uno o dos clics. Si has seguido junto con mis artículos de programación, entonces usted sabe que amo scripts VB. Una vez utilizado para crear un equipo poseído, y también se utiliza para a automatizar Microsoft SyncToy para copias de seguridad de datos.Crear un ordenador poseído extraño con Windows Script para HalloweenCrear un ordenador poseído extraño con Windows Script para HalloweenHay un montón de bromas divertidos que puede jugar en sus amigos con un ordenador. Usted probablemente ha visto todos los videos de YouTube espeluznantes que la gente se comunicarán, para un buen susto ....Lee mas

También es posible llevar a cabo esta tarea con la escritura de VB, y es incluso posible que sea lo suficientemente flexible para que pueda aceptar la entrada del usuario para la dirección IP estática. En este artículo, te voy a mostrar cómo hacerlo en tres secciones.

Creación de una configuración de red Cambio de secuencias de comandos

Hay tres tareas principales que necesita para cumplir con el guión para crear esta pequeña aplicación para cambiar la configuración de red. La primera es utilizar el script para crear ajustes de IP estática. El siguiente paso es encontrar una secuencia de comandos para activar DHCP. Finalmente, el último es para preguntar al usuario qué tarea que quieren hacer y, a continuación, utilizar esa retroalimentación para lograrlo.

VB Script para establecer la configuración IP estática

Recuerde, los siguientes scripts necesitan ser guardado como un archivo de texto con una extensión .wsf con el fin de trabajar en un PC con Windows. La siguiente secuencia de comandos va a cambiar la configuración de red a una dirección IP estática con una máscara de subred y GateWall específica, con los tres codificado en el guión.

Vídeo: Como saber fecha de instalacion de Windows con (cmd) Linea de comandos

Para todos los ejemplos de código enumerados en este artículo, asegúrese de agregar “ al final, de lo contrario el código no se ejecutará.
Aquí está la escritura de cambio de IP estática:

Opción ExplicitOn Error Resume NextDim objWMIServiceDim objNetAdapterDim strComputerDim arrIPAddressDim arrSubnetMaskDim arrGatewayDim colNetAdaptersDim errEnableStaticDim errGatewaysstrComputer = "."arrIPAddress = Array ("192.168.1.106") ArrSubnetMask = Array ("255.255.255.0") ArrGateway = Array ("192.168.1.1") Ajuste objWMIService = GetObject ("winmgmts: " & strComputer & " Root cimv2") colNetAdapters SET = objWMIService.ExecQuery ("Seleccionar * de Win32_NetworkAdapterConfiguration donde IPEnabled = VERDADERO") Para cada objNetAdapter en colNetAdapterserrEnableStatic = objNetAdapter.EnableStatic (arrIPAddress, arrSubnetMask) si no se errEnableStatic = 0 ThenWScript.Echo "La falta asignar IP / subred."Terminar IferrGateways = objNetAdapter.SetGateways (arrGateway) Si No errGateways = 0 ThenWScript.Echo "La falta asignar Gateway."fin IfNextWScript.Quit

Este script utiliza el servicio WMI de Windows en Windows para lograr el objetivo de cambiar la configuración. Se puede ver las tres variables de matriz fijos cargados con las direcciones IP, y luego cuando los controles de secuencia de comandos para el activo “activadas” tarjeta de red. A continuación, utiliza los métodos y EnableStatic “” “” SetGateways para hacer esos cambios requeridos. Cuando ejecuto el script en mi red doméstica (donde requiero DHCP), se puede ver en el guión cambió correctamente mis configuración del adaptador, y he perdido mi conexión a Internet.

Después de haber comprobado que la parte estática IP del guión funciona, es el momento de escribir el guión que establecerá el adaptador de DHCP por lo que va a detectar automáticamente la IP de la red. Aquí está la secuencia de comandos que se puede utilizar para hacer eso.

Opción ExplicitOn Error Resume NextDim objWMIServiceDim objNetAdapterDim strComputerDim errEnablestrComputer = "."Establecer objWMIService = GetObject ("winmgmts: " & strComputer & " Root cimv2") colNetAdapters SET = objWMIService.ExecQuery ("Seleccionar * de Win32_NetworkAdapterConfiguration donde IPEnabled = VERDADERO") Para cada objNetAdapter en colNetAdapterserrEnable = objNetAdapter.EnableDHCP () NextWScript.Quit

Como se puede ver, este script es mucho más simple. También utiliza WMI, pero la única función requerida es “EnableDHCP”. Esto se lleva a cabo en el adaptador de red actualmente permitido. Después de guardar y ejecutar este script, la configuración de mi tarjeta adaptadora cambiaron de nuevo a DHCP, y mi conexión a Internet estaba trabajando de nuevo.
cambio de la configuración de red de la escritura
Así que, ahora que tienes el código para realizar las dos acciones importantes, la siguiente parte de este truco será tomar la entrada del usuario para determinar exactamente lo que quieren IP estática. Para volver a habilitar DHCP, puede requerir al usuario que introduzca la palabra “AUTO” para detectar automáticamente la IP.
Esto es lo que este nuevo guión completo que incorpora los dos guiones anteriormente se parece.

Opción ExplicitOn Error Resume NextDim objWMIServiceDim objNetAdapterDim strComputerDim arrIPAddressDim arrSubnetMaskDim arrGatewayDim colNetAdaptersDim errEnableStaticDim errGatewaysDim strInputDim errFailederrFailed = 0strInput = InputBox ("Tipo de dirección IP estática o AUTO") Si strInput = "AUTO" ThenstrComputer = "."Establecer objWMIService = GetObject ("winmgmts: " & strComputer & " Root cimv2") colNetAdapters SET = objWMIService.ExecQuery ("Seleccionar * de Win32_NetworkAdapterConfiguration donde IPEnabled = VERDADERO") Para cada objNetAdapter en colNetAdapterserrEnable = objNetAdapter.EnableDHCP () Si no errEnable = 0 ThenWScript.Echo "Error en la configuración de DHCP."errFailed = 1End IfNextElsestrComputer = "."arrIPAddress = Array (strInput) arrSubnetMask = Array ("255.255.255.0") ArrGateway = Array ("192.168.1.1") Ajuste objWMIService = GetObject ("winmgmts: " & strComputer & " Root cimv2") colNetAdapters SET = objWMIService.ExecQuery ("Seleccionar * de Win32_NetworkAdapterConfiguration donde IPEnabled = VERDADERO") Para cada objNetAdapter en colNetAdapterserrEnableStatic = objNetAdapter.EnableStatic (arrIPAddress, arrSubnetMask) si no se errEnableStatic = 0 ThenWScript.Echo "La falta asignar IP / subred."errFailed = 1End IferrGateways = objNetAdapter.SetGateways (arrGateway) Si No errGateways = 0 ThenWScript.Echo "La falta asignar Gateway."errFailed = 1End IfNextEnd IFIF errFailed = 0 ThenWScript.Echo "Configuración IP con éxito modificado."fin IfWScript.Quit

Esta secuencia de comandos utiliza la función InputBox para llegar a la IP estática o el comando “AUTO” del usuario.
cambio de la configuración de red de la escritura

Si distinto de “AUTO” nada se escribe en el campo, que se utilizará como la cadena de IP estática en la sección de código que utiliza WMI para configurar los ajustes de IP estática para el adaptador de red. También hay un cheque por la confirmación de “0”, diciendo que todo ha ido bien.

script para cambiar la configuración de red

Vídeo: solución al problema de error C:Windowsrun.vbs windows 7 8, 8.1 y 10

Comprobación de la configuración de mi tarjeta de red después de ejecutar el guión, me confirmaron que el guión, en efecto, que los cambios en la configuración de IP estática.
script para cambiar la configuración de red
Ahora, para probar el script AUTO. Tecleando AUTO satisface la primera condición en el “IF” comprobación para AUTO. Esto ejecuta el script alternativo que permite DHCP.

script para cambiar la configuración de red

Después de ejecutar este, entré en mi configuración del adaptador y, efectivamente, se vuelve a establecer en Obtener una dirección IP automáticamente.
script para cambiar la red
Si bien puede ser una tarea bastante simple para entrar en la configuración de la tarjeta de red y cambiar a la electricidad estática o DHCP, si tiene que hacerlo muy a menudo puede convertirse en un verdadero dolor de cabeza. Se podía hacerlo desde una línea de comandos usando “netsh”, pero una vez más, es necesario recordar la sintaxis del comando.

Usando la secuencia de comandos le permite construir una utilidad rápida y fácil que puede utilizar en cualquier momento para cambiar la configuración de red sobre la marcha.

Vídeo: Configuración de red mediante comandos netsh

Piensa que podría dar a este Windows Script intentarlo? Cualquier otra idea que ajustar y hacer que sea aún mejor? Compartir sus ideas y sugerencias en la sección de comentarios.

Artículos Relacionados