Ir ao conteúdo

Bat troca dns via .bat


Ir à solução Resolvido por ricardo_br,

Posts recomendados

Postado

Bom Dia a todos!

 

Estou tentando montar um arquivo .bat apenas inserir um DNS na rede atual que o usuário está conectando naquele momento. O comando para inserir o DNS já sei, porém não achei um jeito de saber em qual conexão o usuário está para ele inserir o DNS. Sem dúvida, vou ter que utilizar o IF e ELSE como condição, agora a conexão usada, tá mais complexa. Alguém tem ideia de como elaborar esse bat?

 

Vocês que esse desse código abaixo, vocês melhoraria algo nele? Ainda estou fazer de testes.

 

@echo off
mode 60,10
:loop
cls
TITLE TESTE DE CONEXAO COM INTERNET
color 1F
echo.
echo Testando sua conexao com a internet, aguarde um momento...
echo Interface %ETHERNET%
IF (ping -n 1 8.8.8.8)
{
netsh interface ipv4 set dnsservers name=” Ehternet” static 208.67.220.220
netsh interface ipv4 set dnsservers name=” Ehternet” static 208.67.220.221
}
echo Interface %WI-FI%
IF ELSE  (ping -n 8.8.8.8){
netsh interface ipv4 set dnsservers name=” WIFI” static 208.67.222.222
netsh interface ipv4 set dnsservers name=” WIFI” static 208.67.222.221
}
ELSE{
ECHO FALHA DE CONEXAO COM A INTERNET
}

 

Postado

Bom dia. Testa o comando assim:

 

@echo off
mode 60,10

:loop
cls
TITLE TESTE DE CONEXÃO COM INTERNET
color 1F
echo.
echo Testando sua conexão com a internet, aguarde um momento...

:: Verifica conexão Ethernet
echo Interface %ETHERNET%
ping -n 1 8.8.8.8 | find "TTL=" > nul && (
    netsh interface ipv4 set dnsservers name="Ethernet" static 208.67.220.220 primary
    netsh interface ipv4 add dnsservers name="Ethernet" 208.67.220.221 index=2
) || (
    echo FALHA DE CONEXÃO COM A INTERNET NA INTERFACE ETHERNET
)

:: Verifica conexão Wi-Fi
echo Interface %WI-FI%
ping -n 1 8.8.8.8 | find "TTL=" > nul && (
    netsh interface ipv4 set dnsservers name="Wi-Fi" static 208.67.222.222 primary
    netsh interface ipv4 add dnsservers name="Wi-Fi" 208.67.222.221 index=2
) || (
    echo FALHA DE CONEXÃO COM A INTERNET NA INTERFACE WI-FI
)

goto loop

 

Postado
40 minutos atrás, Excess disse:

Bom dia testa o comando assim

 

@echo off
mode 60,10

:loop
cls
TITLE TESTE DE CONEXÃO COM INTERNET
color 1F
echo.
echo Testando sua conexão com a internet, aguarde um momento...

:: Verifica conexão Ethernet
echo Interface %ETHERNET%
ping -n 1 8.8.8.8 | find "TTL=" > nul && (
    netsh interface ipv4 set dnsservers name="Ethernet" static 208.67.220.220 primary
    netsh interface ipv4 add dnsservers name="Ethernet" 208.67.220.221 index=2
) || (
    echo FALHA DE CONEXÃO COM A INTERNET NA INTERFACE ETHERNET
)

:: Verifica conexão Wi-Fi
echo Interface %WI-FI%
ping -n 1 8.8.8.8 | find "TTL=" > nul && (
    netsh interface ipv4 set dnsservers name="Wi-Fi" static 208.67.222.222 primary
    netsh interface ipv4 add dnsservers name="Wi-Fi" 208.67.222.221 index=2
) || (
    echo FALHA DE CONEXÃO COM A INTERNET NA INTERFACE WI-FI
)

@echo off

cls @echo.

@echo ****************************************************************

@echo *** ************************************************************

@echo *** DNS CONFIGURADO COM SUCESSO.VPN OK. ***

@echo *** ************************************************************

@echo ****************************************************************

@echo. pause

 

 

Ola Amigo @Excess deu certo sim. a troca do DNS foi realizada com sucesso. veja que já até personalizei a mensagem final e tirei o  goot loop que ficava repetindo comando infinitamente, porém ele fez das duas interfaces. Nesse momento estou usando Wi-fi, estou sem cabo, existe possibilidade apenas de ele inserir apenas da conexao que estou usando ? por isso pensei do uso if e else. é possível ?

 

 

21 minutos atrás, ricardo_br disse:

Häää? Porque minha resposta foi marcada como solução? Eu só perguntei se dns primario ou secundário....

Olá meu amigo, acabei perguntando no lugar errado sem querer. kkkkkkkk.

 

Seria os 2 primario e secundário. Seria primario DNS servidor principal e secundario DNS servidor redundante.

 

 

  • Solução
Postado

@danielffem Se eu te entendi corretamente seria algo assim, só muda o dns onde tiver conectado....

 

@echo off

net session >nul 2>&1 || (powershell start -verb runas '"%~0"' &exit /b)

set DNS1=208.67.220.220
set DNS2=208.67.220.221

wmic nicconfig where (IPEnabled=TRUE) call SetDNSServerSearchOrder ("%DNS1%", "%DNS2%")

 

Resultado:

 

fug5sNw.png

  • Obrigado 1
Postado
49 minutos atrás, ricardo_br disse:

@danielffem Se eu te entendi corretamente seria algo assim, só muda o dns onde tiver conectado....

 

@echo off

net session >nul 2>&1 || (powershell start -verb runas '"%~0"' &exit /b)

set DNS1=208.67.220.220
set DNS2=208.67.220.221

wmic nicconfig where (IPEnabled=TRUE) call SetDNSServerSearchOrder ("%DNS1%", "%DNS2%")

 

Resultado:

 

fug5sNw.png

 

Opa @ricardo_br muito obrigado pela dica. deu certo sim. agora posso dizer que foi solucionado. Muito obrigado pela ajuda.

 

Abraço.

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...