martes, 27 de marzo de 2012

Cambiar IP desde CMD

Para establecer una dirección IP dinámica en Windows desde la consola de comandos hay que ejecutar lo siguiente:

netsh interface ip set address name="RedLocal" source=dhcp

y para poner dns dinámico:



netsh interface ip set dns "RedLocal" source=dhcp

para poner direccion IP fija y DNS también:

# Dirección IP: 192.168.1.10, máscara de red: 255.255.255.0, puerta de enlace: 
# 192.168.1.1
netsh interface ip set address name="RedLocal" source=static 192.168.1.10 255.255.255.0 192.168.1.1 1
# Servidor DNS: 80.58.0.33

netsh interface ip set dns "RedLocal" static 80.58.0.33
# Añado un servidor DNS secundario

netsh interface ip add dns name="RedLocal" addr=80.58.61.254

-----------------------------------------

Archivo BAT para intercambiar la dirección IP entre 2 redes:

(abrir el Block de Notas y guardar el archivo como "IntercambiarIP.bat", y meter el contenido siguiente)

@echo off
REM Este archivo BAT me permitirá cambiar entre las direcciones IP 
REM 192.168.0.28 y la red 192.168.1.28, de la tarjeta de red llamada
REM "TRONCAL" de mi ordenador

set /p red=A que red quieres pertenecer (1 o 0)?:

if %red% == 1 (
    netsh interface ip set address name=TRONCAL source=static 192.168.1.28 255.255.255.0 192.168.1.1 1
) else (
    netsh interface ip set address name=TRONCAL source=static 192.168.0.28 255.255.255.0 192.168.0.1 1
)

-------------------------------------------------------

Archivo BAT para cambiar la dirección IP y servidor DNS:

(abrir el Block de Notas y guardar el archivo como "Direccion.bat", y meter el contenido siguiente)

@echo off
:inicio

cls

rem En este primer comando, filtro la salida de "ipconfig" para que se guarde
rem en el archivo "prueba" solo los nombres de las tarjetas de red del equipo
ipconfig /all | find "Adaptador " > prueba

rem Ahora preparo un archivo auxiliar llamado "prueba2". Es necesario poner los
rem 2 puntos del pricipio separados por espacios
echo . . TARJETAS DE RED DE ESTE EQUIPO: > prueba2
echo . . =============================== >>prueba2

rem ahora con el comando for filtro las lineas del archivo "prueba" y las
rem guardo sin el caracter ":" en el archivo "prueba2"
for /f "delims=:" %%i in (prueba) do @echo %%i >> prueba2

rem Ahora cojo la segunda palabra, y el resto de linea, de cada linea del
rem archivo "prueba2", para sacar por pantalla los nombres de las tarjetas
rem de red del equipo
for /f "tokens=2,*" %%i in (prueba2) do @echo %%j

rem ahora borro los archivos auxiliares "prueba" y "prueba2"
del prueba
del prueba2

echo .
echo En que tarjeta de red quieres trabajar:
set /p tarjeta=

cls
echo Quieres poner IP dinámica o estatica:
echo 1.- Dinamica
echo 2.- Estatica
set /p opcion=
if %opcion% == 1 goto dinamica
if %opcion% == 2 goto estatica

goto inicio

:dinamica
cls
netsh interface ip set address name="%tarjeta%" source=dhcp
netsh interface ip set dns "%tarjeta%" source=dhcp
goto fin

:estatica
cls
echo Dirección IP (p.ej: 192.168.1.23)
set /p ip=
echo Mascara de red (p.ej: 255.255.255.0)
set /p mascara=
echo Puerta de enlace (p.ej: 192.168.1.1)
set /p gateway=
echo Servidor DNS primario (p.ej: 80.58.0.33)
set /p dns1=
echo Servidor DNS secundario (p.ej: 80.58.61.254)
set /p dns2=

netsh interface ip set address name="%tarjeta%" source=static %ip% %mascara% %gateway% 1
netsh interface ip set dns "%tarjeta%" static %dns1%
netsh interface ip add dns name="%tarjeta%" addr=%dns2%

:fin

2 comentarios:

  1. netsh interface ip set address name="wifi" source=dhcp
    netsh interface ip set dns wifi source=DHCP

    Hola, estos son los comandos para que se ponga la ip dinamica y tambien, el dns dinamico...

    Donde pone wifi, hay que escribir el nombre de la red de tu ordenador..

    cada netsh... va en una linea en block de notas y guardado con extension (punto) . bat

    Un saludo..¡¡

    ResponderEliminar
  2. direciones interesantes:

    http://foro.ethek.com/viewtopic.php?f=16&t=5143

    http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=92

    ResponderEliminar