No Windows 10 e no Windows 11, você pode alterar o endereço DNS do seu computador por meio do aplicativo Configurações. É um processo bastante simples, mas requer muitos cliques e pressionamentos de teclas e você precisa saber onde encontrar a opção para editar as configurações de DNS. Se quiser acelerar o processo, você pode usar meu script do PowerShell para alterar o endereço IP DNS. Quando executado, ele mostra os endereços DNS atuais de todos os seus adaptadores de rede e permite que você defina um endereço DNS personalizado, tanto endereços primários quanto secundários.

Script do PowerShell para alterar o endereço IP do DNS (primário e secundário)

Aqui está o script do PowerShell que permite alterar as configurações de DNS no Windows.

<#
  Nome do script: Ferramenta de configuração de DNS
  Descrição: este script altera as configurações de DNS para todos adaptadores de rede ativos no Windows.
  Autor: Bashkarla Vamsi
  URL: https://windowsloop.com
#>

função Get-ValidIPAddress {
   param (
[string]$prompt,
       [bool]$allowEmpty=$false
   )
   do {
       $ip=Read-Host-Prompt $prompt
       if ($allowEmpty-and $ip-eq””) {
           retorna $null
       }
       $ipValid=$ip-match’^\d{1,3}(\.\d{1,3}){3}$’-and ($ip.Split(‘.’) | ForEach-Object {$_-ge 0-and $_-le 255})
       if (-not $ipValid) {
           Write-Host”Endereço IP inválido. Insira um endereço IPv4 válido ou deixe em branco se for opcional.”-ForegroundColor Red
       }
   } while (-not $ipValid)
   return $ip
}

function DisplayCurrentDNS {
   param (
       [string]$descrição,
       [System.Management.Automation.PSObject]$adapters
   )
   Write-Host”`n$description”-ForegroundColor Ciano
   foreach ($adapter em $adapters) {
       $dns=(Get-DnsClientServerAddress-InterfaceIndex $adapter.InterfaceIndex).ServerAddresses
       $dnsString=if ($dns) { $dns-join’,’} else {“Not Set”}
       Write-Host”Adapter: $($adapter.Name)-DNS: $dnsString”-ForegroundColor Yellow
   }
}

# Obtenha toda a rede adaptadores habilitados
$adapters=Get-NetAdapter | Where-Object { $_.Status-eq’Up’}

# Exibir configurações de DNS atuais
DisplayCurrentDNS-description”Configurações de DNS atuais:”-adapters $adapters

# Solicitar endereços DNS primário e secundário
$primaryDNS=Get-ValidIPAddress-prompt’DNS primário’
$secondaryDNS=Get-ValidIPAddress-prompt’DNS secundário (deixe em branco se não for necessário)’-allowEmpty $true

# Defina servidores DNS para cada adaptador e exiba as alterações
foreach ($adapter em $adapters) {
   Write-Host”`nSetting DNS para adaptador: $($adapter.Name)”-ForegroundColor Green
   $dnsSettings=@($primaryDNS) + @($secondaryDNS | Where-Object { $_ }) # Somente adicione secundário se não for nulo
   tente {
       Set-DnsClientServerAddress-InterfaceIndex $adapter.InterfaceIndex-ServerAddresses $dnsSettings-ErrorAction Stop
       Write-Host”DNS alterado com sucesso para $($adapter.Name)”-ForegroundColor Green
   } catch {
       Write-Host”Falha ao alterar o DNS para $($adapter.Name)”-ForegroundColor Red
   }
}

# Exibir novas configurações de DNS
DisplayCurrentDNS-description”Novas configurações de DNS:”-adapters $adapters

Usando o script para atualizar o DNS

Salve o script em seu computador

Primeiro, clique no botão Iniciar na sua área de trabalho, procure por Bloco de Notas e clique em Abrir.

Na janela do Bloco de Notas, copie (Ctrl + C) o script e cole (Ctrl + V) no Bloco de Notas.

Clique na opção Arquivo > Salvar como.

Selecione uma pasta para salvar o arquivo, defina change-dns.ps1 como o “Nome do arquivo”, selecione Todos os arquivos no menu suspenso “Salvar como tipo” e clique em Salvar.

Observação: você deve usar .ps1 como extensão do arquivo.

Executar o script

Observação: você precisa de direitos de administrador para modificar as configurações de DNS usando o script do PowerShell.

Primeiro, clique com o botão direito em Iniciar na barra de tarefas e selecione a opção Terminal (Admin). Os usuários do Windows 10 podem selecionar PowerShell (Admin).

Por padrão, a política de execução do PowerShell é restrita e não permitirá a execução de scripts. Para mudar isso, execute o comando abaixo. Ele define a política de execução como RemoteSigned, o que nos permite executar nosso script.

Set-ExecutionPolicy RemoteSigned

Em seguida, use o comando CD conforme mostrado abaixo para ir para a pasta onde você salvou o script.

cd”C:\path\to\script”

Agora, execute o seguinte comando para executar o script.

Nota: Se você salvou o arquivo com algum outro nome, ajuste o nome no comando de acordo.

.\change-dns. ps1

Assim que você executa o script, ele mostra os endereços DNS atuais de todos os adaptadores de rede no seu computador e solicita um novo endereço DNS primário.

Insira o endereço IP DNS primário (em IPv4) e pressione Enter. Por exemplo, no meu caso, quero mudar meu DNS de OpenDNS para DNS público do Google. Então, digitei o endereço DNS público do Google (8.8.8.8).

Em seguida, insira o endereço IP do DNS secundário e pressione Enter.

É isso. Assim que você pressiona Enter, o script do PowerShell altera o endereço DNS e mostra o DNS atualizado de todos os adaptadores de rede no seu PC.

Como funciona o script?

Quando você executa o script, ele primeiro aciona a função DisplayCurrentDNS para mostrar suas configurações DNS atuais para todos os adaptadores de rede ativos. Em seguida, você será solicitado a inserir os endereços DNS primário e secundário que são validados usando a função Get-ValidIPAddress e armazenados nas variáveis ​​$primaryDNS e $secondaryDNS. Em seguida, o script usa o cmdlet Set-DnsClientServerAddress para aplicar as alterações. Em seguida, ele executa imediatamente o DisplayCurrentDNS novamente para exibir as configurações de DNS modificadas.

Documentação da Microsoft sobre como usar o cmdlet Set-DnsClientServerAddress.

Limitações

O script altera apenas o endereço DNS da rede ativa adaptadores. Isso significa que, se um adaptador de rede for desativado, ele não modificará suas configurações de DNS.

Além disso, não validará se o DNS está funcionando ou não.

Concluindo — A Script PS simples para gerenciar melhor as configurações de DNS

Em comparação com o uso do aplicativo de configurações, usar meu script do PowerShell facilita muito a alteração e atualização das configurações de DNS, eliminando a necessidade de lidar com uma interface de usuário desajeitada. Isso é especialmente verdadeiro quando você alterna DNS com frequência, testa configurações de rede e gerencia várias máquinas.

Se você tiver alguma dúvida, comente abaixo e eu responderei.

Categories: IT Info