[wsh]WMI et methode qui ne fonctionne pas

WMI et methode qui ne fonctionne pas [wsh] - VB/VBA/VBS - Programmation

Marsh Posté le 19-09-2006 à 11:17:40    

bonjour,
 
voila j'ai un probleme, on doit faire un changement complet du plan d'adressage (adressage fixe, pas de DHCP possible),
j'etais parti ds l'idée de faire ca via un script de connexion via la commande netsh (ca, pas de soucis),
le probleme qui se pose c'est que je defini juste une @IP de depart, une @IP de fin ds un fichier et qd mes stations se connectent, elles prennent l'@IP de depart, et l'increment d'un ds le fichier , d'ou le probleme qui peut se poser, 2 stations peuvent eventuellement recuperer la meme adresse !
comment puis je m'en sortir ???
 
merci bcp !!


Message édité par redridinghood le 19-09-2006 à 18:44:24
Reply

Marsh Posté le 19-09-2006 à 11:17:40   

Reply

Marsh Posté le 19-09-2006 à 14:31:11    

Comment tu fais ton netsh de départ sans IP ?
 
Pourquoi ne pas avoir un plan d'adressage justement, fixe : chaque machine dispose de sa propre IP qui lui est réservée à vie ?

Reply

Marsh Posté le 19-09-2006 à 18:41:18    

merci pr ta reponse, en fait je suis parti d'autre chose la, avec le WMI qui correspond a ce que je souhaite faire, mais j'ai un soucis :  
 
je mets le code :  

Citation :


private function chg_ip(nvelle_ip,mask,gw,dns, suffix)
 strComputer = "."
 Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2" )
 Set colNetAdapters = objWMIService.ExecQuery ("Select * from Win32_NetworkAdapterConfiguration " & "where IPEnabled=TRUE" )
 
 strIPAddress = Array(nvelle_ip)
 strSubnetMask = Array(mask)
 strGateway = Array(gw)
 strGatewayMetric = Array(1)
 strDNS = Array(dns)
 strDomainSuffix = Array(suffix)
 
 
   
 For Each objNetAdapter in colNetAdapters
  On error resume next
  If Not IsNull(objNetAdapter.IPAddress) Then  
         For i=LBound(objNetAdapter.IPAddress) to UBound(objNetAdapter.IPAddress)
                                          'test pr savoir si c'est la bonne interface reseau
     if inStrRev(objNetAdapter.IPAddress(i),"192.168.39" ) <> 0 then
      errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)
      msgbox "IP " & errEnable
              errGateways = objNetAdapter.SetGateways(strGateway, strGatewaymetric)
      msgbox "GW " & errGateways
      errDNS = objNetAdapter.SetDNSServerSearchOrder(strDNS)
      msgbox "DNS " & errDNS
      errSuffix = objNetAdapter.SetDNSSuffixSearchOrder(strDomainSuffix)
      msgbox "suffix " & errSuffix
     end if
         Next
     End If
   
 Next
 chg_ip = 0
 
end function
 


 
tt marche SAUF le SetDNSSuffixSearchOrder, qui ne renvoie rien et ne fait rien....
je ne vois pas du tout pourquoi (sachant que je lui passe bien un tableau de string....)
si quelqu'un a une idée...


Message édité par redridinghood le 19-09-2006 à 18:43:28
Reply

Marsh Posté le 19-09-2006 à 19:04:48    

Dans la doc, il est dit que SetDNSSuffixSearchOrder est static et est valable pour tous les adpatateurs donc il y a pas besoin de le mettre dans la boucle foreach.
 
Sinon je sais pas si tu connais
http://www.microsoft.com/technet/s [...] c_dns.mspx
La section intitulé "Changing the DNS Domain Suffix Search Order
"

Reply

Marsh Posté le 24-10-2006 à 11:49:17    

desole du retard, merci pour la precision, j'ai trouve entre temps qu'il fallait sortir la methode de la boucle.
merci bcp !!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed