Consulta un "IT Pro"

  Soluciones para tus problemas de IT

Es bastante común en las redes empresariales el tener que cambiar la configuración TCP/IP de una computadora o servidor, ya sea de IP estático (en la que la dirección de IP de la máquina es siempre la misma) a DHCP (en la que la dirección de IP es variable, asignada por un servidor DHCP al encender la máquina), o todo lo contrario. Normalmente para hacer esto tiene que ir un técnico hasta el área donde se encuentre la PC y hacer el cambio manualmente (buscando las conexiones de red, entrando a sus propiedades, entrando a las propiedades de TCP/IP, haciendo todos los cambios necesarios, aceptando los cambios, y cerrando todas las ventanas que abriste). También se puede conectar remotamente utilizando RDP, VNC, DWMRC, o cualquier otro método de conexión remota, pero además de ser un método algo tedioso, durante el proceso necesitas renovar la comunicación IP y perderás conexión temporeramente (lo cual puede ser un contratiempo incomodo).

Es entonces cuando llegan a nuestra ayuda unos de los mejores amigos de todo administrador de redes: el “scripting” y la línea de comando (o comandos de consola de texto). Estos son tus verdaderos amigos, siempre los echamos a un lado para estar con nuestros nuevos amigos “GUI” y “Conexión Remota”, sin embargo cuando los necesitamos siempre están ahí para ayudarnos… deberíamos darle un poco mas de cariño a estos viejos amigos.

Bueno, volviendo al tema, esta modificación se puede hacer fácilmente escribiendo el siguiente comando netsh en el “Command Prompt”:

netsh interface ip set address “Local Area Connection” dhcp

Este comando cambiara la configuración TCP/IP de dirección IP estática a dirección asignada por DHCP. Esto es asumiendo que tu conexión de red tiene como nombre “Local Area Connection” (que es el que se utiliza por “default”), si el nombre es otro debes modificar el comando según sea necesario. Si no sabes el nombre, lo puedes averiguar con el siguiente comando:

netsh interface ip show config

Si fuera todo lo contrario (o sea, que hay que cambiar la configuración TCP/IP de DHCP a estática), el comando sería el siguiente:

netsh interface ip set address  “Local Area Connection” static {ip} {subnet}{gateway} {metric}

Por ejemplo, si quieres cambiar la configuración TCP/IP de DHCP a una dirección IP estática utilizando la dirección de IP 192.168.0.10 con subnet 255.255.255.0 y “gateway” 192.168.0.1 con métrica 1, el comando sería:

netsh interface ip set address  “Local Area Connection” static 192.168.0.10 255.255.255.0 192.168.0.1 1

De esta forma estarás haciendo con un solo comando lo mismo que te hubiera tomado abrir múltiples ventanas y escribir varias configuraciones. Y podemos ir mas allá, podemos escribir el siguiente “batch file” en el notepad:

netsh interface ip set dns “Local Area Connection” dhcp
netsh interface ip set wins “Local Area Connection” dhcp
netsh interface ip set address “Local Area Connection” dhcp
ipconfig /renew

Con este “bachito” podrías reconfigurar las opciones de DNS, WINS, y la dirección de IP de TCP/IP; cambiando las direcciones estáticas por las asignadas por el servidor DHCP.

Y podemos ir aun mas allá. Utilizando la aplicación PSEXEC (parte del conjunto de aplicaciones de administración PSTOOLS de systernals, mas info aquí:  http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx) podemos correr nuestro “bachito” desde la comodidad de nuestro escritorio y desde la consola de comandos de tu PC, sin tan siquiera tener que conectarnos remoto a la maquina. Asumiendo que guardaste el “batch file” en el directorio “system32” de tu PC bajo el nombre “IPtoDHCP.bat”, solamente  escribirías el siguiente comando:

psexec \\{computadora} -d -c IPtoDHCP.bat

Donde {computadora} es el nombre ó dirección IP de la PC. Nota que el comando “ipconfig /renew” desconectara la PC temporeramente de la red, por lo que te debes de asegurar de que el usuario no esté haciendo nada que requiera una conexión continua a la red.

Y tan tan, con un solo comando en tu computadora cambiaste toda la configuración de TCP/IP de una PC. Este es un ejemplo de las muchas cosas que se pueden hacer por medio de comandos, “batch files” y “scripts”. Muchos piensan que son algo anticuados y que no tienen muchos usos, pero en realidad es una herramienta de trabajo muy potente que facilita muchas de las tareas administrativas diarias de una red. Y esto es aun mas cierto con la llegada de “PowerShell”, pero este ya es otro tema… ;o)

7 Responses to “Usos del comando netsh: como modificar la configuración TCP/IP de una PC de IP estático a DHCP (y viceversa)”

  1. teleorinoco says:

    saludos

    muy bueno el articulo pero no dices cual es la linea de comandos netsh para cambiar la ip de un equipo dentro de la lan, desde otro equipo

    gracias

  2. Eddie says:

    Saludos teleorinoco y gracias por tu visita. El comando seria el ultimo que sale en negrillas en el articulo (el que comienza con “psexec”). Para hacerlo necesitarias bajar e instalar en tu PC la herramienta de systernals PSEXEC (la consigues gratis en la pagina de microsoft). Con esta herramienta puedes correr comandos de manera remota en otras PCs de tu red. Este es solo un ejemplo, hay otras formas que lo puedes hacer (podrias en lugar de correr el batch con psexec, correr manualmente con psexec cada uno de los comandos dentro del batch, entre otras). Y si sabes visualbasic o algun otro lenguaje de programacion y te quieres poner inventivo, podrias incluso hacer una interfase grafica que llame a “psexec” y a “netsh” tras bambalinas y haga todo mas sencillo y bonito. Las posibilidades son ilimitadas.

    Pero los dos ingredientes importantes son netsh (y los comandos que menciono arriba) y el psexec (que seria la herramienta que te permitiria correr los comandos de manera remota). Una vez instales el psexec, puedes correr “psexec /?” y te dara en detalle todas las opciones y modificaciones que puedes usar en psexec (para que lo puedas usar exactamente segun tu necesidad).

    Cualquier otra duda me dejas saber.

  3. teleorinoco says:

    gracias por todo. Probando… luego te cuento como me fue

  4. teleorinoco says:

    Fue imposible hacer este procedimiento (genera errores). Se que te has esforzado por contribuir a explicar este sistema, pero sinceramente no hay claridad en los pasos

    Será que eres un alma caritativa y ofreces un script o batch ya hecho a modo de ejemplo (para descargar) y así automatizarlo y dices PASO A PASO como correrlo. Luego simplemente se modifica y se le cambian las IP
    La idea es cambiar las IP, mascara, p. enlace y dns de todos los equipos de una LAN sin tener que ir equipo por equipo

    te agradezco tu contribución

  5. teleorinoco says:

    es que no se conecta

    este link he hecho algunas cosas. revisalas a ver si estan correctas

    http://www.box.net/shared/0i7g4kg6it

  6. khanonn says:

    saludos, quisiera su ayuda puesto que al introducir el primer comando que sugiere en el mismo d o s me muestra un aviso el cual dice que dicha operacion requiere elevacion que podria hacer? agradeceria su pronta respuesta

  7. Rick Sanz says:

    Muchisimas gracias por el aporte, en verdad que me va aservir mucho, he tratado de establecer los dns por medio del GPO y nada, también por medio de Novell Zenworks aplicando directivas y nada…..en verdad, te lo agradecere por mucho tiempo.

Leave a Reply

*