Bonjour,

Je souhaite automatiser la bascule entre DHCP et adresse IP statique pour une carte réseau bien pécise. À cette fin j'ai écrit le script suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
NICName = "Realtek PCIe GbE Family Controller" 
ipaddr = Array("192.168.1.200") 
subnet = Array("255.255.255.0")
 
Set NICs = GetObject("winmgmts:").InstancesOf("Win32_NetworkAdapterConfiguration")
 
For Each NIC in NICs
    If NIC.Description = NICName Then 
		If NIC.DHCPEnabled Then
			NIC.ReleaseDHCPLease()
			on error resume next
'			If NIC.IsWriteLocked Then
'				NIC.ReleaseWriteLock
'			End If
			ret = NIC.EnableStatic(ipaddr, subnet)
			msg = "code retour = " & ret & vbcrlf & "DHCP désactivé" & vbcrlf & "Adresse IP statique : " & NIC.IPAddress(0)
		Else
			ret = NIC.EnableDHCP
			NIC.RenewDHCPLease()
			msg = "code retour = " & ret & vbcrlf & "DHCP activé" & "Adresse IP dynamique : " & NIC.IPAddress(0)
		End If
		Exit For
   End If
Next
msgbox msg
Le ReleaseDHCPLease fonctionne mais pas le EnableStatic. J'obtiens un code retour d'une valeur négative astronomique (-2147217405) mais rien ne bouge. En parcourant la toile j'ai lu qu'il fallait lever un éventuel vérou. Cela ne change rien d'où la mise en commentaire de ce bout de code.

Je n'ai pas encore testé l'alternative, le passage en DHCP, car j'aimerais d'abord, si c'est possible, résoudre le problème du passage en adresse statique.

Vos suggestions sont les bienvenues et je vous en remercie par avance.