Ir ao conteúdo
  • Cadastre-se

Bat troca dns via .bat


Ir à solução Resolvido por ricardo_br,

Posts recomendados

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
}

 

Link para o comentário
Compartilhar em outros sites

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

 

Link para o comentário
Compartilhar em outros sites

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.

 

 

Link para o comentário
Compartilhar em outros sites

  • Solução

@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
Link para o comentário
Compartilhar em outros sites

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
Link para o comentário
Compartilhar em outros sites

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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!