Wie kann ich meine DNS-Einstellungen über die Eingabeaufforderung oder die Bat-Datei unter Windows 8 festlegen?
Ich habe es versucht:
netsh interface ip set dns name="Local Area Connection" source=static addr=none
aber nicht funktioniert.
Wie kann ich meine DNS-Einstellungen über die Eingabeaufforderung oder die Bat-Datei unter Windows 8 festlegen?
Ich habe es versucht:
netsh interface ip set dns name="Local Area Connection" source=static addr=none
aber nicht funktioniert.
Antworten:
Erstens lautet der Netzwerkname wahrscheinlich "Ethernet", nicht "LAN-Verbindung". Um den Namen herauszufinden, können Sie dies tun:
netsh interface show interface
Daraufhin wird der Name in der Spalte "Schnittstellenname" angezeigt (hier fett gedruckt):
Admin-Status Status Typ Schnittstellenname -------------------------------------------------- ----------------------- Aktiviertes verbundenes dediziertes Ethernet
Jetzt können Sie die primären DNS ändern (Index = 1), vorausgesetzt, Ihre Schnittstelle ist statisch (ohne DHCP):
netsh interface ipv4 add dnsserver "Ethernet" address=192.168.x.x index=1
Update 2018 - Der Befehl funktioniert entweder mit dnsserver
(Singular) oder dnsservers
(Plural). Das folgende Beispiel verwendet letzteres und ist ebenfalls gültig:
netsh interface ipv4 add dnsservers "Ethernet" -Adresse = 192.168.xx index = 1
Um DNS über Befehl auf automatisch zu ändern, können Sie den folgenden Befehl ausführen:
netsh interface ip set dns "Local Area Connection" dhcp
Hier ist eine andere Möglichkeit, DNS mithilfe von WMIC (Windows Management Instrumentation Command-line) zu ändern.
Die Befehle müssen als Administrator ausgeführt werden, um angewendet zu werden.
Löschen Sie DNS-Server:
wmic nicconfig where (IPEnabled=TRUE) call SetDNSServerSearchOrder ()
Stellen Sie 1 DNS-Server ein:
wmic nicconfig where (IPEnabled=TRUE) call SetDNSServerSearchOrder ("8.8.8.8")
Stellen Sie 2 DNS-Server ein:
wmic nicconfig where (IPEnabled=TRUE) call SetDNSServerSearchOrder ("8.8.8.8", "8.8.4.4")
Stellen Sie 2 DNS-Server auf einem bestimmten Netzwerkadapter ein:
wmic nicconfig where "(IPEnabled=TRUE) and (Description = 'Local Area Connection')" call SetDNSServerSearchOrder ("8.8.8.8", "8.8.4.4")
Ein weiteres Beispiel zum Festlegen der Domain-Suchliste:
wmic nicconfig call SetDNSSuffixSearchOrder ("domain.tld")
where (IPEnabled=TRUE)
durch where "IPEnabled=TRUE"
.
Es gibt kaum Unterschiede beim Befehl zum Hinzufügen UND Ändern von DNS-IPs:
Hinzufügen:
Syntax:
netsh interface ipv4 add dnsserver "Network Interface Name" dns.server.ip index=1(for primary)2(for secondary)
Eg:
netsh interface ipv4 add dnsserver "Ethernet" 8.8.8.8 index=1
netsh interface show interface
Einstellen / Ändern: (wie OP dies verlangt hat)
Syntax:
netsh interface ipv4 set dnsservers "Network Interface Name" static dns.server.ip primary
Eg:
netsh interface ipv4 set dnsservers "Wi-Fi" static 8.8.4.4 primary
netsh interface ipv4 set dnsservers "Wi-Fi" dhcp
Der letzte Parameter kann sein none
: DNS deaktivieren , both
: sowohl für primäres als auch für sekundäres DNS festgelegt, primär: nur für primäres DNS. Sie können hier feststellen, dass wir den Indexparameter nicht wie beim Hinzufügen von DNS verwenden.
Anstelle von können static
Sie eingeben dhcp
, um die DNS-Einstellung automatisch zu machen, aber weitere Parameter sind nicht erforderlich.
Hinweis: Getestet in Windows 8, 8.1 und 10.
Ich habe dieses Skript geschrieben, um DNS-Server aller derzeit aktivierten Schnittstellen auf eine bestimmte Adresse umzustellen:
@echo off
:: Google DNS
set DNS1=8.8.8.8
set DNS2=8.8.4.4
for /f "tokens=1,2,3*" %%i in ('netsh int show interface') do (
if %%i equ Enabled (
echo Changing "%%l" : %DNS1% + %DNS2%
netsh int ipv4 set dns name="%%l" static %DNS1% primary validate=no
netsh int ipv4 add dns name="%%l" %DNS2% index=2 validate=no
)
)
ipconfig /flushdns
:EOF
Keine der Antworten funktioniert unter Windows 10 für mich. Daher verwende ich Folgendes:
@echo off
set DNS1=8.8.8.8
set DNS2=8.8.4.4
set INTERFACE=Ethernet
netsh int ipv4 set dns name="%INTERFACE%" static %DNS1% primary validate=no
netsh int ipv4 add dns name="%INTERFACE%" %DNS2% index=2
ipconfig /flushdns
pause
Dies verwendet Google DNS. Sie können den Namen der Schnittstelle mit dem Befehl abrufennetsh int show interface
Batch-Datei zum Einstellen eines neuen DNS-Servers
@echo off
rem usage: setdns <dnsserver> <interface>
rem default dsnserver is dhcp
rem default interface is Wi-Fi
set dnsserver="%1"
if %dnsserver%=="" set dnsserver="dhcp"
set interface="%2"
if %interface%=="" set interface="Wi-Fi"
echo Showing current DNS setting for interface a%interface%
netsh interface ipv4 show dnsserver %interface%
echo Changing dnsserver on interface %interface% to %dnsserver%
if %dnsserver% == "dhcp" netsh interface ipv4 set dnsserver %interface% %dnsserver%
if NOT %dnsserver% == "dhcp" netsh interface ipv4 add dnsserver %interface% address=%dnsserver% index=1
echo Showing new DNS setting for interface %interface%
netsh interface ipv4 show dnsserver %interface%
Hier ist dein neuer Freund: QuickSetDNS von NirSoft, erstaunlich wie immer.
Es kann auch in der Kommandozeile verwendet werden :) mit diesen Vorteilen gegenüber netsh:
Nur ein paar Einschränkungen:
Jetzt können Sie den primären DNS ändern (Index = 1), vorausgesetzt, Ihre Schnittstelle ist statisch (ohne DHCP).
Sie können Ihre DNS-Server statisch einstellen, auch wenn Sie DHCP verwenden, um Ihre IP-Adresse zu erhalten.
Beispiel unter Windows 7 zum Hinzufügen von zwei DN-Servern lautet der Befehl wie folgt:
netsh interface ipv4 add dns "Local Area Connection" address=192.168.x.x index=1
netsh interface ipv4 add dns "Local Area Connection" address=192.168.x.x index=2