Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Modifier l'adresse du serveur DNS dans la carte réseau

3 réponses
Avatar
---DGI972---
Bonjour a tous,
Sur la base de ce VBScript (qui fonctionne trés bien) je voudrais en
faire un qui me vide l'adresse du serveur DNS en gardant la même
adresse
IP Masque réseau et passerelle:


strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer &
"\root\cimv2")

Set colNetAdapters = objWMIService.ExecQuery _
("Select * from Win32_NetworkAdapterConfiguration where
IPEnabled=TRUE")

strIPAddress = Array("192.168.15.169")
strSubnetMask = Array("255.255.255.224")
strGateway = Array("192.168.15.190")
strDNSServers = Array("97.20.255.254")
strGatewayMetric = Array(1)

For Each objNetAdapter in colNetAdapters
errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)
errGateways = objNetAdapter.SetGateways(strGateway,
strGatewaymetric)
errDOM = objNetAdapter.SetDNSServerSearchOrder(strDNSServers)

If errEnable = 0 Then
WScript.Echo "L'adresse IP a été changée correctement"
Else
WScript.Echo "L'adresse n'a pas été changée il y a un Pb."
End If
Next

J'ai essayé strDNSServers = Array("") mais cela ne fonctionne pas.

Merci d'avance

3 réponses

Avatar
MCI \(ex do ré Mi chel la si do\) [MVP]
Bonjour !

La commande NETSH permet de changer les DNS en invite de commande. Donc,
facilement, avec un batch. Ou via RUN pour VBscript.

Voici deux exemples :

Sous Vista
---------------
netsh interface ip set dnsserver name="Connexion au réseau local" static
192.1.1.1 both
netsh interface ip add dnsserver name="Connexion au réseau local"
192.1.1.2 index=2


Sous XP (pour les anciennes machines)
-------------
netsh interface ip set dns name="Connexion au réseau local"
source=static addr2.1.1.1 register=PRIMARY
netsh interface ip add dns name="Connexion au réseau local"
addr2.1.1.2 index=2


(Attn : changer les IP, et le nom de la connexion. Et attention au
problème des d'accents. Le mieux étant de renommer la connexion).
Et aussi : c'est environ cinq fois plus rapide sous Vista que sous XP.

--
@-salutations
--
Michel Claveau
Avatar
Philemil
---DGI972--- a écrit :
Bonjour a tous,



Bonjour

avec

strDNSServers = Array()

cela doit fonctionner pour vider les adresses DNS, je l'utilise ainsi
dans un script.


Sur la base de ce VBScript (qui fonctionne trés bien) je voudrais en
faire un qui me vide l'adresse du serveur DNS en gardant la même adresse
IP Masque réseau et passerelle:


strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!" & strComputer & "rootcimv2")

Set colNetAdapters = objWMIService.ExecQuery _
("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")

strIPAddress = Array("192.168.15.169")
strSubnetMask = Array("255.255.255.224")
strGateway = Array("192.168.15.190")
strDNSServers = Array("97.20.255.254")
strGatewayMetric = Array(1)

For Each objNetAdapter in colNetAdapters
errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)
errGateways = objNetAdapter.SetGateways(strGateway, strGatewaymetric)
errDOM = objNetAdapter.SetDNSServerSearchOrder(strDNSServers)

If errEnable = 0 Then
WScript.Echo "L'adresse IP a été changée correctement"
Else
WScript.Echo "L'adresse n'a pas été changée il y a un Pb."
End If
Next

J'ai essayé strDNSServers = Array("") mais cela ne fonctionne pas.

Merci d'avance




Avatar
---DGI972---
Philemil a écrit :
---DGI972--- a écrit :
Bonjour a tous,



Bonjour

avec

strDNSServers = Array()

cela doit fonctionner pour vider les adresses DNS, je l'utilise ainsi dans un
script.


Sur la base de ce VBScript (qui fonctionne trés bien) je voudrais en faire
un qui me vide l'adresse du serveur DNS en gardant la même adresse
IP Masque réseau et passerelle:


strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!" & strComputer & "rootcimv2")

Set colNetAdapters = objWMIService.ExecQuery _
("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")

strIPAddress = Array("192.168.15.169")
strSubnetMask = Array("255.255.255.224")
strGateway = Array("192.168.15.190")
strDNSServers = Array("97.20.255.254")
strGatewayMetric = Array(1)

For Each objNetAdapter in colNetAdapters
errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)
errGateways = objNetAdapter.SetGateways(strGateway, strGatewaymetric)
errDOM = objNetAdapter.SetDNSServerSearchOrder(strDNSServers)

If errEnable = 0 Then
WScript.Echo "L'adresse IP a été changée correctement"
Else
WScript.Echo "L'adresse n'a pas été changée il y a un Pb."
End If
Next

J'ai essayé strDNSServers = Array("") mais cela ne fonctionne pas.

Merci d'avance







Super cela fonctionne

merci