web-dev-qa-db-fra.com

Comment puis-je définir / modifier DNS à l'aide de l'invite de commande de Windows 8

Comment définir mes paramètres DNS à l'aide de l'invite de commande ou du fichier bat sous Windows 8

J'ai essayé ceci:

netsh interface ip set dns name="Local Area Connection" source=static addr=none

mais pas travaillé.

73
Zuhair Taha

Premièrement, le nom du réseau est probablement "Ethernet", pas "Connexion au réseau local". Pour trouver le nom, vous pouvez le faire:

netsh interface show interface

Ce qui affichera le nom dans la colonne "Nom de l'interface" (en gras ici):

 État de l'état d'administration Nom de l'interface 
 ---------------------------------- --------------------------------------- 
 Activé Connecté Dédié Ethernet

Maintenant, vous pouvez changer le DNS principal (index = 1), en supposant que votre interface soit statique (sans utiliser dhcp):

netsh interface ipv4 add dnsserver "Ethernet" address=192.168.x.x index=1

Mise à jour 2018 - La commande fonctionnera avec dnsserver (singulier) ou dnsservers (pluriel). L'exemple suivant utilise ce dernier et est également valide:

 interface netsh ipv4 add dnsservers adresse "Ethernet" = 192.168.x.x index = 1 
84
chue x

Pour changer le DNS en commande automatique via, vous pouvez exécuter la commande suivante:

netsh interface ip set dns "Local Area Connection" dhcp
27
Marcos Cassiano

Il y a peu de différence dans la commande de ajoutant ET changeant DNS-IPs:

à ajouter:

_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
_
  • Ici, pour connaître le "Nom de l’interface réseau", tapez la commande netsh interface show interface
  • 8.8.8.8 est le serveur DNS récursif de Google, utilisez-le si votre ne fonctionne pas

Pour définir/modifier: (comme l'OP l'a demandé)

_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
_
  • Le dernier paramètre peut être none: désactive le DNS, both: défini pour les DNS primaire et secondaire, primaire: pour le DNS principal uniquement. Vous pouvez noter ici que nous n'utilisons pas index-paramètre comme nous l'avons fait pour ajouter DNS.

  • À la place de static, vous pouvez taper dhcp pour rendre le réglage DNS automatique, mais aucun paramètre supplémentaire ne sera nécessaire.


Note: Testé sous Windows 8,8.1 & 10.

19
Adarsh Rajput

Voici un autre moyen de changer de DNS en utilisant WMIC (ligne de commande de Windows Management Instrumentation).

Les commandes doivent être exécutées en tant qu'administrateur pour être appliquées.

Effacer les serveurs DNS:

wmic nicconfig where (IPEnabled=TRUE) call SetDNSServerSearchOrder ()

Définir 1 serveur DNS:

wmic nicconfig where (IPEnabled=TRUE) call SetDNSServerSearchOrder ("8.8.8.8")

Définissez 2 serveurs DNS:

wmic nicconfig where (IPEnabled=TRUE) call SetDNSServerSearchOrder ("8.8.8.8", "8.8.4.4")

Définissez 2 serveurs DNS sur une carte réseau particulière:

wmic nicconfig where "(IPEnabled=TRUE) and (Description = 'Local Area Connection')" call SetDNSServerSearchOrder ("8.8.8.8", "8.8.4.4")

Un autre exemple pour définir la liste de recherche de domaine:

wmic nicconfig call SetDNSSuffixSearchOrder ("domain.tld")
18
XP1

J'ai écrit ce script pour basculer les serveurs DNS de toutes les interfaces actuellement activées vers une adresse spécifique:

@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
15
Meow

Aucune des réponses ne fonctionne pour moi sur Windows 10, alors voici ce que j'utilise:

@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

Ceci utilise Google DNS. Vous pouvez obtenir le nom de l'interface avec la commande netsh int show interface

9
MrVaykadji

Fichier de commandes pour la configuration d'un nouveau serveur DNS

@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%
3
BSalita

Voici votre nouvel ami: QuickSetDNS , de NirSoft, étonnant comme d'habitude.

screenshot

Il peut également être utilisé en ligne de commande :) avec ces avantages par rapport à netsh:

  • syntaxe plus simple, en particulier pour configurer le serveur alternatif
  • demande automatiquement l'élévation de privilège


Quelques mises en garde:

  • prend en charge uniquement le réglage d'IPv4, pas d'IPv6
  • en ligne de commande, l’adaptateur UUID doit être utilisé et non le nom convivial ("Connexion au réseau local", par exemple). depuis QuickSetDNS 1.21, les noms de connexion sont également supportés;)
1
Gras Double

Maintenant, vous pouvez changer le DNS principal (index = 1), en supposant que votre interface soit statique (ne pas utiliser dhcp)

Vous pouvez définir vos serveurs DNS de manière statique même si vous utilisez DHCP pour obtenir votre adresse IP.

Exemple sous Windows 7 pour ajouter deux serveurs DN, la commande est la suivante:

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

0
Zathraszero