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

Le
---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 &
"ootcimv2")

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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MCI \(ex do ré Mi chel la si do\) [MVP]
Le #18596141
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
Philemil
Le #18603671
---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




---DGI972---
Le #18602571
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
Publicité
Poster une réponse
Anonyme