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.