Tanto en Windows 10 como en Windows 11, puede cambiar la dirección DNS de su computadora a través de la aplicación Configuración. Es un proceso bastante simple, pero requiere muchos clics y pulsaciones de teclas y, en primer lugar, necesita saber dónde encontrar la opción para editar la configuración de DNS. Si desea acelerar el proceso, puede utilizar mi script de PowerShell para cambiar la dirección IP de DNS. Cuando se ejecuta, muestra las direcciones DNS actuales de todos sus adaptadores de red y le permite configurar una dirección DNS personalizada, tanto primaria como secundaria.
Script de PowerShell para cambiar la dirección IP DNS (principal y secundaria)
Aquí está el script de PowerShell que le permite cambiar la configuración de DNS en Windows.
<#
Nombre del script: Herramienta de configuración de DNS
Descripción: Este script cambia la configuración de DNS para todos adaptadores de red activos en Windows.
Autor: Bashkarla Vamsi
URL: https://windowsloop.com
#>
función Get-ValidIPAddress {
param (
[cadena]$prompt,
[bool]$allowEmpty=$false
)
do {
$ip=Read-Host-Prompt $prompt
si ($allowEmpty-y $ip-eq””) {
return $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”Dirección IP inválida. Introduzca una dirección IPv4 válida o déjela en blanco si es opcional.”-ForegroundColor Red
}
} while (-not $ipValid)
return $ip
}
función DisplayCurrentDNS {
param (
[cadena]$descripción,
[System.Management.Automation.PSObject]$adapters
)
Write-Host”`n$descripción”-ForegroundColor Cian
foreach ($adapter en $adapters) {
$dns=(Get-DnsClientServerAddress-InterfaceIndex $adapter.InterfaceIndex).ServerAddresses
$dnsString=if ($dns) { $dns-join’,’} else {“No establecido”}
Write-Host”Adapter: $($adapter.Name)-DNS: $dnsString”-ForegroundColor Yellow
}
}
# Obtener toda la red adaptadores que están habilitados
$adapters=Get-NetAdapter | Where-Object { $_.Status-eq’Up’}
# Mostrar configuración DNS actual
DisplayCurrentDNS-description”Configuración DNS actual:”-adapters $adapters
# Solicitar direcciones DNS primarias y secundarias
$primaryDNS=Get-ValidIPAddress-prompt’Primary DNS’
$ secondaryDNS=Get-ValidIPAddress-prompt’DNS secundario (déjelo en blanco si no es necesario)’-allowEmpty $true
# Configure servidores DNS para cada adaptador y muestre los cambios
foreach ($adapter in $adapters) {
Write-Host”`nSetting DNS para adaptador: $($adapter.Name)”-ForegroundColor Green
$dnsSettings=@($primaryDNS) + @($secundarioDNS | Where-Object { $_ }) # Solo agregue secundario si no es nulo
pruebe {
Set-DnsClientServerAddress-InterfaceIndex $adapter.InterfaceIndex-ServerAddresses $dnsSettings-ErrorAction Stop
Write-Host”El DNS cambió correctamente para $($adapter.Name)”-ForegroundColor Verde
} catch {
Write-Host”Error al cambiar DNS para $($adapter.Name)”-ForegroundColor Rojo
}
}
# Mostrar nueva configuración de DNS
DisplayCurrentDNS-descripción”Nueva configuración de DNS:”-adapters $adapters
Uso del script para actualizar el DNS
Guarde el script en su computadora
Primero, haga clic en el botón Inicio de su escritorio, busque Bloc de notas y haga clic en Abrir.
En la ventana del Bloc de notas, copie (Ctrl + C) el script y péguelo (Ctrl + V) en el Bloc de notas.
Haga clic en la opción Archivo > Guardar como.
Seleccione una carpeta para guardar el archivo, establezca change-dns.ps1 como”Nombre de archivo”, seleccione Todos los archivos en el menú desplegable”Guardar como tipo”y haga clic en Guardar..
Nota: Debe utilizar .ps1 como extensión de archivo.
Ejecutar el script
Nota: Necesita derechos de administrador para modificar la configuración de DNS utilizando el script de PowerShell.
Primero, haga clic derecho en
De forma predeterminada, la política de ejecución de PowerShell está restringida y no le permitirá ejecutar scripts. Para cambiar eso, ejecute el siguiente comando. Establece la política de ejecución en RemoteSigned, lo que nos permite ejecutar nuestro script.
Set-ExecutionPolicy RemoteSigned
A continuación, use el comando CD como se muestra a continuación para ir a la carpeta donde guardó el script.
cd”C:\path\to\script”
Ahora, ejecute el siguiente comando para ejecutar el script.
Nota: Si guardó el archivo con otro nombre, ajuste el nombre en el comando en consecuencia.
.\change-dns. ps1
Tan pronto como ejecuta el script, muestra las direcciones DNS actuales para todos los adaptadores de red de su computadora y luego solicita una nueva dirección DNS principal.
Ingrese la dirección IP DNS principal (en IPv4) y presione Entrar. Por ejemplo, en mi caso, quiero cambiar mi DNS de OpenDNS a DNS público de Google. Entonces, ingresé la dirección DNS pública de Google (8.8.8.8).
A continuación, ingrese la Dirección IP DNS secundaria y presione Enter.
Eso es todo. Tan pronto como presiona Enter, el script de PowerShell cambia la dirección DNS y muestra el DNS actualizado de todos los adaptadores de red en su PC.
¿Cómo funciona el script?
Cuando ejecuta el script, primero activa la función DisplayCurrentDNS para mostrar su configuración DNS actual para todos los adaptadores de red activos. A continuación, se le solicitará que ingrese las direcciones DNS primaria y secundaria que se validan mediante la función Get-ValidIPAddress y se almacenan en las variables $primaryDNS y $secundaryDNS. Luego, el script utiliza el cmdlet Set-DnsClientServerAddress para aplicar los cambios. Luego, inmediatamente ejecuta DisplayCurrentDNS nuevamente para mostrar la configuración de DNS modificada.
Documentación de Microsoft sobre el uso del cmdlet Set-DnsClientServerAddress.
Limitaciones
El script solo cambia la dirección DNS de la red activa adaptadores. Eso significa que, si un adaptador de red está deshabilitado, no modificará su configuración de DNS.
Además, no validará si el DNS está funcionando o no.
Conclusión: A Script PS simple para administrar mejor la configuración de DNS
En comparación con el uso de la aplicación de configuración, usar mi script de PowerShell hace que cambiar y actualizar la configuración de DNS sea muy sencillo al eliminar la necesidad de lidiar con una interfaz de usuario torpe. Esto es especialmente cierto cuando cambia DNS con frecuencia, prueba configuraciones de red y administra varias máquinas.
Si tiene alguna pregunta, comente a continuación y le responderé.