Scripter la configuration d’une carte réseau pour passer en DHCP

Pour configurer une carte réseau en mode DHCP grâce à un script, il existe plusieurs solutions :

La ligne de commande ou le script CMD :

netsh interface ip set address "Connexion au r‚seau local" dhcp
netsh interface ip set DNS "Connexion au r‚seau local" dhcp
netsh interface ip set WINS "Connexion au r‚seau local" dhcp

Attention ici aux accents du nom de la connexion réseau.

L’inconvénient de cette technique est qu’elle appelle le nom de la connexion réseau. Si jamais elle a été changée, le script devra être adapté (il y a donc un risque d’erreur lors de l’exécution du script sur un parc important)

Le script VBS :

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

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

For Each objNetAdapter In colNetAdapters
'Passage de l'adresse IP en DHCP
errEnable = objNetAdapter.EnableDHCP()
'Reset du DNS
objNetAdapter.SetDNSServerSearchOrder(null)
'Reset du nom de domaine DNS
'strDNSDomain = "" 
'objNetAdapter.SetDNSDomain strDNSDomain 
'Enregistrement dynamique dans le DNS
errEnable = objNetAdapter.SetDynamicDNSRegistration(blnFullDNSRegistrationEnabled, blnDomainDNSRegistrationEnabled)
'Reset du Wins
strPrimaryServer = ""
strSecondaryServer = ""
objNetAdapter.SetWINSServer strPrimaryServer, strSecondaryServer
'Demande de Bail
errRenewDHCP = objNetAdapter.RenewDHCPLease() 
'Gestion des erreurs
If errRenewDHCP = 0 Then 
WScript.Echo "La configuration de votre PC est terminée"
Else 
WScript.Echo "Une erreur est survenue lors du passage en mode DHCP"
End If
Next