Bonjour,

Je préfère prévenir, je suis complètement débutant en la matière.

Je cherche à extraire les adresses des serveurs DNS de la première carte réseau et uniquement de celle-ci et les mettre dans une variable pour traitement ultérieur.
Voici le code que j'ai honteusement repompé du site de Microsoft :
http://www.microsoft.com/technet/scr..._atnc_dns.mspx

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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
On Error Resume Next
 
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
 & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colNicConfigs = objWMIService.ExecQuery _
 ("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
 
For Each objNicConfig In colNicConfigs
  strDNSSuffixSO = ""
  strDNSServerSO = ""
  strDNSHostName = objNicConfig.DNSHostName
  strIndex = objNicConfig.Index
  strDescription = objNicConfig.Description
  strDNSDomain = objNicConfig.DNSDomain
  strDNSSuffixSO = ""
  If Not IsNull(objNicConfig.DNSDomainSuffixSearchOrder) Then
    For Each strDNSSuffix In objNicConfig.DNSDomainSuffixSearchOrder
      strDNSSuffixSO = strDNSSuffixSO & VbCrLf & String(37, " ") & _
 strDNSSuffix
    Next
  End If
  strDNSServerSO = ""
  If Not IsNull(objNicConfig.DNSServerSearchOrder) Then
    For Each strDNSServer In objNicConfig.DNSServerSearchOrder
      strDNSServerSO = strDNSServerSO & VbCrLf & String(37, " ") & _
 strDNSServer
    Next
  End If
  strDomainDNSRegistrationEnabled = _
 objNicConfig.DomainDNSRegistrationEnabled
  strFullDNSRegistrationEnabled = objNicConfig.FullDNSRegistrationEnabled
  strDNSSettings = strDNSSettings & VbCrLf & VbCrLf & _
   "  Network Adapter " & strIndex & VbCrLf & _
   "    " & strDescription & VbCrLf & VbCrLf & _
   "    DNS Domain:                      " & strDNSDomain & VbCrLf & _
   "    DNS Domain Suffix Search Order:" & strDNSSuffixSO & VbCrLf & _
   "    DNS Server Search Order:" & strDNSServerSO & VbCrLf & _
   "    Domain DNS Registration Enabled: " & _
   strDomainDNSRegistrationEnabled & VbCrLf & _
   "    Full DNS Registration Enabled:   " & _
   strFullDNSRegistrationEnabled
Next
 
WScript.Echo VbCrLf & "DNS Settings" & VbCrLf & VbCrLf & _
 "Host Name: " & strDNSHostName & strDNSSettings
Et que j'ai réadapté pour mes besoins :
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
On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
 & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colNicConfigs = objWMIService.ExecQuery _
 ("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True") 
For Each objNicConfig In colNicConfigs
  strDNSServerSO = ""
  If Not IsNull(objNicConfig.DNSServerSearchOrder) Then
    For Each strDNSServer In objNicConfig.DNSServerSearchOrder	     
      strDNSServerSO = strDNSServerSO & _ 
	  strDNSServer	
 
    Next
	WScript.Echo strDNSServerSO
	End If
 
Next
Si j'utilise le code de Microsoft, je récupère les adresses de toutes les cartes réseaux qui se trouvent sur mon poste.
En gros, je pense qu'il faut éviter la boucle "For Each objNicConfig In colNicConfigs" mais j'avoue que je sèche.

Des suggestions ?

Merci d'avance.