elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  NETSH: Agregar varias DNS y WINS a la interface de red
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: NETSH: Agregar varias DNS y WINS a la interface de red  (Leído 7,200 veces)
d3xf4ult


Desconectado Desconectado

Mensajes: 332


Ver Perfil WWW
NETSH: Agregar varias DNS y WINS a la interface de red
« en: 18 Enero 2013, 22:27 pm »

Hola,

Tengo un problema con este batch.

Código:
netsh interface ip set dns "Conexi¢n de  rea local" static 69.135.1.30 register=primary
netsh interface ip add dns "Conexi¢n de  rea local" static 69.135.222.97 index=2
netsh interface ip add dns "Conexi¢n de  rea local" static 69.116.1.30 index=3

netsh interface ip set wins "Conexi¢n de  rea local" static 69.135.1.39
netsh interface ip add wins "Conexi¢n de  rea local" static 69.116.1.30

Las DNS solo me agrega la primera, pero la segunda alternativa y la tercera no.
Alguién sabe como es la sintaxis correcta?

Me pasa lo mismo con las WINS

Y otra cosilla, con el nombre "Conexión de área local"... Como podría hacer un if else, con esto?

Es decir, en el caso de que exista un adaptador con este nombre:
En que caso de que sea: "Conexión de área local" --> Haz esto
Y en caso de que sea: "Conexión de área local 2" --> haz esto otro.

Un Saludo  ;)
Gracias


En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.788



Ver Perfil
Re: NETSH: Agregar varias DNS y WINS a la interface de red
« Respuesta #1 en: 19 Enero 2013, 11:15 am »

La sintaxis cambia de WinXP a Win7, en WinXP debes usar IP, en win7 puedes configurar la ipv4 y la ipv6, infórmate sobre la sintaxis del NETSH de tu versión de Windows.

Código
  1. @Echo OFF
  2.  
  3. CHCP 1250 >NUL
  4. FOR /F "Tokens=3,* Delims= " %%A IN ('netsh interface show interface') DO (call :Netsh "%%B")
  5. Pause&Exit
  6.  
  7. :Netsh
  8. If "%~1"=="Conexión de área local"   (
  9. NETSH interface ipv4 set dns  "%~1" static "69.135.1.30"   register=primary
  10. NETSH interface ipv4 add dns  "%~1" static "69.135.222.97" index=2
  11. NETSH interface ipv4 add dns  "%~1" static "69.116.1.30"   index=3
  12. NETSH interface ipv4 set wins "%~1" static "69.135.1.39"
  13. NETSH interface ipv4 add wins "%~1" static "69.116.1.30"
  14. )
  15.  
  16. If "%~1"=="Conexión de área local 2" (
  17. )
  18. GOTO:EOF


En línea

d3xf4ult


Desconectado Desconectado

Mensajes: 332


Ver Perfil WWW
Re: NETSH: Agregar varias DNS y WINS a la interface de red
« Respuesta #2 en: 19 Enero 2013, 15:01 pm »

Buenas EleKtro H@cker.

Podrías, si no es molestia, explicar un poco el script.

Sobre todo la primera parte,
Código:
CHCP 1250 >NUL
FOR /F "Tokens=3,* Delims= " %%A IN ('netsh interface show interface') DO (call :Netsh "%%B")
Pause&Exit
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.788



Ver Perfil
Re: NETSH: Agregar varias DNS y WINS a la interface de red
« Respuesta #3 en: 19 Enero 2013, 15:38 pm »

Prueba tu mismo lo que pasa al usar el comando:
Código:
netsh interface show interface

Con el FOR obtengo los nombres de las interfaces, y llamo a una subrutina pasándole como argumento el nombre de cada interface,

Código:
*Si el argumento "%~1" es igual a "conexión de área local" (
     Hacer esto
)

Saludos
En línea

d3xf4ult


Desconectado Desconectado

Mensajes: 332


Ver Perfil WWW
Re: NETSH: Agregar varias DNS y WINS a la interface de red
« Respuesta #4 en: 19 Enero 2013, 16:16 pm »

Bien, perfecto.

Podría hacer esto?

Código:
If "%~1"==("Conexión de área local" || "Conexión de área local 2")  (
NETSH interface ipv4 set dns  "%~1" static "69.135.1.30"   register=primary
NETSH interface ipv4 add dns  "%~1" static "69.135.222.97" index=2
NETSH interface ipv4 add dns  "%~1" static "69.116.1.30"   index=3
NETSH interface ipv4 set wins "%~1" static "69.135.1.39"
NETSH interface ipv4 add wins "%~1" static "69.116.1.30"
)

igualmente e independientemente de si es ip o ipv4 en WinXP,  nosé si falla en la sintaxis el "add" o el "index=2" y el "index=3", ya que solo me agrega 1 DNS y 1 WINS pero no más... en las opciones de los subcomandos no encuentro nada.
En línea

d3xf4ult


Desconectado Desconectado

Mensajes: 332


Ver Perfil WWW
Re: NETSH: Agregar varias DNS y WINS a la interface de red
« Respuesta #5 en: 19 Enero 2013, 20:31 pm »

Por cierto, los servidores DNS alternativos (index=2 e index=3) no se agregan al igual que el segundo de WINS, solo se agregan el primero de cada los que llevan SET...

Miré en las guías technet, siguiendo las ayudas de sintaxis que establece microsoft pero nada...

Como puedo agregarlos entonces? si alguien sabe lo agradecería.
En línea

d3xf4ult


Desconectado Desconectado

Mensajes: 332


Ver Perfil WWW
Re: NETSH: Agregar varias DNS y WINS a la interface de red
« Respuesta #6 en: 22 Enero 2013, 00:57 am »

Alguien sabe algo de por que esto no funciona correctamente?
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.788



Ver Perfil
Re: NETSH: Agregar varias DNS y WINS a la interface de red
« Respuesta #7 en: 22 Enero 2013, 06:37 am »

No estoy familiarizado con agregar varias DNS, etc, pero aquí tienes varios ejemplos más al final de la página: http://ss64.com/nt/netsh.html
En línea

d3xf4ult


Desconectado Desconectado

Mensajes: 332


Ver Perfil WWW
Re: NETSH: Agregar varias DNS y WINS a la interface de red
« Respuesta #8 en: 22 Enero 2013, 15:14 pm »

Gracias tio, ya lo he probado y lo que fallaba era que si estableces SET defines static, pero al añadir más DNS o WINS, es decir cuando utilizas ADD en vez de SET no es necesario decir que es estática (static), era tontería pero parece que windows discrimina escrupulosamente este detalle... jaja

Ahora, finalmente me queda que si existe "Conexión de área local" que haga eso y si no es ese y es "Conexión de área local 2", que haga lo mismo.

Valdría algo como esto?

Lo probé pero no funciona...

Sería posible establecer con un OR: Conexión de área local" || "Conexión de área local 2 ?

Código:
If "%~1"==("Conexión de área local" || "Conexión de área local 2")  (
NETSH interface ipv4 set dns  "%~1" static "69.135.1.30" register=primary
NETSH interface ipv4 add dns  "%~1" "69.135.222.97" index=2
NETSH interface ipv4 add dns  "%~1" "69.116.1.30" index=3
NETSH interface ipv4 set wins "%~1" static "69.135.1.39"
NETSH interface ipv4 add wins "%~1" "69.116.1.30"
)

Salu2
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.788



Ver Perfil
Re: NETSH: Agregar varias DNS y WINS a la interface de red
« Respuesta #9 en: 22 Enero 2013, 15:39 pm »

Pero si arriba te puse un código de ejemplo!...  :xD

Cita de: Elektro H.
Código:
If "%~1"=="Conexión de área local"   (
    NETSH interface ipv4 set dns  "%~1" static "69.135.1.30"   register=primary
    NETSH interface ipv4 add dns  "%~1" static "69.135.222.97" index=2
    NETSH interface ipv4 add dns  "%~1" static "69.116.1.30"   index=3
    NETSH interface ipv4 set wins "%~1" static "69.135.1.39"
    NETSH interface ipv4 add wins "%~1" static "69.116.1.30"
)
 
If "%~1"=="Conexión de área local 2" (
    Pause
)


PD: El OR no se usa de esa manera, no puedes usarlo en una comparación, para eso ya tienes el ELSE

Ejemplo 1:
Código:
If "%~1"=="Conexión de área local" (GOOD) ELSE (BAD)

Ejemplo 2:
Código:
(Echo "%~1" | FIND "Conexión de área local" >NUL && (GOOD)) || (BAD)

Saludos
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
netsh
Scripting
tekone 1 2,117 Último mensaje 17 Febrero 2008, 22:20 pm
por ~[uNd3rc0d3]~
Que es el Proxy WINS?
Redes
EdgardoPires 0 3,297 Último mensaje 4 Agosto 2014, 19:12 pm
por EdgardoPires
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines