Atât pe Windows 10, cât și pe Windows 11, puteți schimba adresa DNS a computerului dvs. prin intermediul aplicației Setări. Este un proces destul de simplu, dar necesită destul de multe clicuri și apăsări de taste și trebuie să știți unde să găsiți opțiunea de a edita setările DNS în primul rând. Dacă doriți să accelerați procesul, puteți utiliza scriptul meu PowerShell pentru a schimba adresa IP DNS. Când este executat, arată adresele DNS curente ale tuturor adaptoarelor dvs. de rețea și vă permite să setați o adresă DNS personalizată, atât adrese primare, cât și adrese secundare.
Scriptul PowerShell pentru a schimba adresa IP DNS (primară și secundară)
Iată scriptul PowerShell care vă permite să modificați setările DNS în Windows.
<#
Nume script: Instrumentul de configurare DNS
Descriere: Acest script modifică setările DNS pentru toate adaptoare de rețea active în Windows.
Autor: Bashkarla Vamsi
Adresa URL: https://windowsloop.com
#>
funcția Get-ValidIPAddress {
param (
[șir]$prompt,
[bool]$allowEmpty=$false
)
do {
$ip=Read-Host-Prompt $prompt
dacă ($allowEmpty-și $ip-eq””) {
return $null
}
$ipValid=$ip-match’^\d{1,3}(\.\d{1,3}){3}$’-and ($ip.Split(‘.’) | ForEach-Object {$_-ge 0-and $_-le 255})
dacă (-nu $ipValid) {
Write-Host”Adresă IP nevalidă. Introduceți o adresă IPv4 validă sau lăsați necompletat dacă este opțional.”-ForegroundColor Red
}
} în timp ce (-nu $ipValid)
return $ip
}
funcția DisplayCurrentDNS {
param (
[șir]$descriere,
[System.Management.Automation.PSObject]$adaptoare
)
Write-Host „`n$description”-ForegroundColor Cyan
foreach ($adapter în $adaptoare) {
$dns=(Get-DnsClientServerAddress-InterfaceIndex $adapter.InterfaceIndex).ServerAddresses
$dnsString=dacă ($dns) { $dns-else’,’} else { „Not Set” }
Write-Host „Adapter: $($adapter.Name)-DNS: $dnsString”-ForegroundColor Yellow
}
}
# Obțineți toată rețea adaptoarele care sunt activate
$adapters=Get-NetAdapter | Where-Object { $_.Status-eq’Up’}
# Afișează setările DNS curente
DisplayCurrentDNS-description”Current DNS Settings”.:”-adapters $adapters
# Solicită adrese DNS primare și secundare
$primaryDNS=Get-ValidIPAddress-prompt „DNS primar”
$secondaryDNS=Get-ValidIPAddress-prompt „DNS secundar (lăsați necompletat dacă nu este necesar)’-allowEmpty $true
# Setați serverele DNS pentru fiecare adaptor și afișați modificări
foreach ($adapter în $adapters) {
Write-Host „`nSetting DNS pentru adaptor: $($adapter.Name)”-ForegroundColor Green
$dnsSettings=@($primaryDNS) + @($secondaryDNS | Where-Object { $_ }) # Adăugați numai secundar dacă nu este nul
încercați {
Set-DnsClientServerAddress-InterfaceIndex $adapter.InterfaceIndex-ServerAddresses $dnsSettings-ErrorAction Stop
pentru DNS-a schimbat cu succes-cu succes $($adapter.Name)”-ForegroundColor Green
} prinde {
Write-Host „Nu s-a putut schimba DNS pentru $($adapter.Name)”-ForegroundColor Red
}
}
# Afișează setări DNS noi
DisplayCurrentDNS-descriere „Setări DNS noi:”-adaptoare $adapters
Folosirea scriptului pentru actualizarea DNS-ului
Salvați scriptul pe computer
Mai întâi, faceți clic pe butonul Start de pe desktop, căutați Notepad și faceți clic pe Deschide.
În fereastra Notepad, copiați (Ctrl + C) scriptul și inserați-l (Ctrl + V) în Notepad.
Faceți clic pe opțiunea Fișier > Salvați ca.
Selectați un folder pentru a salva fișierul, setați change-dns.ps1 ca „Nume fișier”, selectați Toate fișierele din meniul drop-down „Salvare ca tip” și faceți clic pe Salvare.
Notă: trebuie să utilizați .ps1 ca extensie de fișier.
Executați scriptul
Notă: aveți nevoie de drepturi de administrator pentru a modifica setările DNS utilizând scriptul PowerShell.
Mai întâi, faceți clic dreapta pe
. butonul strong>Start din bara de activități și selectați opțiunea Terminal (Administrator). Utilizatorii Windows 10 pot selecta PowerShell (Administrator).
În mod implicit, politica de execuție a PowerShell este restricționată și nu vă va permite să executați scripturi. Pentru a schimba asta, executați comanda de mai jos. Setează politica de execuție la RemoteSigned, ceea ce ne permite să rulăm scriptul nostru.
Set-ExecutionPolicy RemoteSigned
În continuare, utilizați comanda CD așa cum se arată de mai jos pentru a accesa folderul în care ați salvat scriptul.
cd „C:\path\to\script”
Acum, executați următoarea comandă pentru a executa scriptul.
Notă: dacă ați salvat fișierul cu alt nume, ajustați numele în comandă în consecință.
.\change-dns. ps1
De îndată ce executați scriptul, acesta afișează adresele DNS curente pentru toate adaptoarele de rețea de pe computer și apoi vă solicită o nouă adresă DNS primară.
Introduceți adresa IP DNS principală (în IPv4) și apăsați pe Enter. De exemplu, în cazul meu, vreau să schimb DNS-ul meu de la utilizarea OpenDNS la Google Public DNS. Deci, am introdus adresa Google Public DNS (8.8.8.8).
În continuare, introduceți adresa IP DNS secundară și apăsați pe Enter.
Asta este. De îndată ce apăsați Enter, scriptul PowerShell modifică adresa DNS și afișează DNS-ul actualizat al tuturor adaptoarelor de rețea de pe computerul dvs.
Cum funcționează scriptul?
Când executați scriptul, mai întâi declanșează funcția DisplayCurrentDNS pentru a afișa setările DNS curente pentru toate adaptoarele de rețea active. Apoi, vi se solicită să introduceți adresele DNS primare și secundare care sunt validate folosind funcția Get-ValidIPAddress și sunt stocate în variabilele $primaryDNS și $secondaryDNS. Apoi, scriptul folosește cmdletul Set-DnsClientServerAddress pentru a aplica modificările. Apoi rulează imediat DisplayCurrentDNS din nou pentru a afișa setările DNS modificate.
Documentația Microsoft despre utilizarea cmdlet-ului Set-DnsClientServerAddress.
Limitări
Scriptul modifică numai adresa DNS pentru rețeaua activă adaptoare. Aceasta înseamnă că, dacă un adaptor de rețea este dezactivat, acesta nu își va modifica setările DNS.
În plus, nu va valida dacă DNS-ul funcționează sau nu.
Încheierea — A Script PS simplu pentru a gestiona mai bine setările DNS
În comparație cu utilizarea aplicației de setări, utilizarea scriptului meu PowerShell face ca schimbarea și actualizarea setărilor DNS să fie o simplă simplă, eliminând nevoia de a face față cu interfața UI stângace. Acest lucru este valabil mai ales atunci când comutați frecvent DNS, testați configurațiile de rețea și gestionați mai multe mașini.
Dacă aveți întrebări, comentați mai jos și vă voi răspunde.