(Résolu) Version driver carte reseau [VBS/VBA/VB]

Version driver carte reseau [VBS/VBA/VB] (Résolu) - VB/VBA/VBS - Programmation

Marsh Posté le 27-06-2011 à 18:01:50    

Hello
 
Je cherche à récuperer la version de pilote pour les cartes reseaux en passant par WMI.
Je récupère bien l'ip/dns etc., le nom de la carte, adresse mac, etc. Mais impossible d'avoir la version des drivers.
 
Si quelqu'un a la soluce je suis preneur !
 
 
Merci
 
 
PS : j'ai essayé toutes les méthodes ou presque de :
- Win32_NetworkAdapter
- Win32_NetworkAdapterConfiguration
- Win32_NetworkAdapterSetting


Message édité par SuppotDeSaTante le 28-06-2011 à 14:27:18

---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 27-06-2011 à 18:01:50   

Reply

Marsh Posté le 27-06-2011 à 22:12:51    

Salut,à tout hasard ,mais je pense que tu as déjà fait ce genre de recherche http://www.google.fr/#sclient=psy& [...] 19&bih=728


---------------
Myanmar 90/91 : http://gadaud.gerard.free.fr/publi [...] index.html
Reply

Marsh Posté le 27-06-2011 à 22:23:57    

Merci de ta reponse.
 
J'ai fait pas mal de recherche en effet. Le souci est d'atteindre la version des drivers des cartes reseaux des ordis du domaine.
En local, pas de souci pour recuperer une version de fichier.
 
Bon je pourrais faire un script qui me balance la version du poste via une gpo, mais c'est pas l'idee.
Le modele de carte, le fabricant, le numero de serie pas de souci avec wmi mais la version de pilote niet...


---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 27-06-2011 à 22:35:20    

Je pense avoir trouvé avec Win32_PnPSignedDriver
A voir demain, je mettrais un bout de code si ca roule.


---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 28-06-2011 à 14:20:03    

Si ca interresse quelqu'un ;)
 
En fait je suis "obligé" (tant que j'ai pas trouvé mieux) de passer par 3 étapes.
 - D'abord récuperer le service utilisé par le driver de la carte reseau.
 - Récuperer le fichier sys attaché à ce service.
 - Récupérer enfin la version du fichier, et donc du driver.
 

Code :
  1. Sub VersionPiloteReseau()
  2. On Error Resume Next
  3. StrComputer = "192.168.1.1" ' ou "." pour local
  4. UserName = "DOMAINE\Administrator"
  5. Password = "MotDePasse"
  6.  
  7. '***** Récupération du service reseau de la carte
  8. 'Ordinateur distant
  9.    Set SWBemlocator = CreateObject("WbemScripting.SWbemLocator" )
  10.    Set objWMIService = SWBemlocator.ConnectServer(StrComputer, "root\CIMV2", UserName, Password)
  11.    Set IPConfigSet = objWMIService.ExecQuery("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE", , 48)
  12. 'Si ordinateur local
  13.    If Err.Number <> 0 Then
  14.        Set IPConfigSet = GetObject("winmgmts:{impersonationLevel=impersonate}!//" & StrComputer).ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled=TRUE" )
  15.    End If
  16. 'Si plusieurs cartes reseaux, on teste qu'on prend bien celle qui a la meme IP demandée, et on recupere le nom du service
  17.    For Each IPConfig In IPConfigSet
  18.        If IPConfig.IPAddress(Min) = StrComputer Then ServiceReseau = IPConfig.ServiceName(Min)
  19.    Next
  20.  
  21. '***** Recupération du chemin du fichier de driver en fonction du nom du service reseau
  22.    Const HKEY_LOCAL_MACHINE = &H80000002
  23. 'Ordinateur distant
  24.    Set objWMIService = SWBemlocator.ConnectServer(StrComputer, "\root\default", UserName, Password)
  25.    Set oReg = objWMIService.Get("StdRegProv" )
  26. 'Si ordinateur local
  27.    If Err.Number <> 0 Then
  28.        Set oReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & StrComputer & "\root\default:StdRegProv" )
  29.    End If
  30. 'Récupération du chemin de la valeur chaine
  31.    Clé = "SYSTEM\ControlSet001\Services\" & ServiceReseau
  32.    ValeurClé = "ImagePath"
  33.    oReg.GetStringValue HKEY_LOCAL_MACHINE, Clé, ValeurClé, StrValue
  34.    CheminFichier = StrValue
  35.    CheminFichier = Replace(CheminFichier, "\", "\\" )
  36.    NomFichier = "C:\\Windows\\" & CheminFichier
  37.  
  38. '***** Recupération de la version du pilote
  39. 'Ordinateur distant
  40.    Set objWMIService = SWBemlocator.ConnectServer(StrComputer, "root\CIMV2", UserName, Password)
  41.    Set colFiles = objWMIService.ExecQuery("Select * from CIM_Datafile Where name = '" & NomFichier & "'" )
  42. 'Si ordinateur local
  43.    If Err.Number <> 0 Then
  44.        Set colFiles = GetObject("winmgmts:{impersonationLevel=impersonate}!//" & StrComputer).ExecQuery("Select * from CIM_Datafile Where name = '" & NomFichier & "'" )
  45.    End If
  46. 'On recupère la version du pilote.
  47.    For Each objFile In colFiles
  48.        VersionPilote = objFile.Version(Min)
  49.    Next
  50.  
  51. End Sub


Message édité par SuppotDeSaTante le 28-06-2011 à 14:21:32

---------------
Soyez malin, louez entre voisins !
Reply

Sujets relatifs:

Leave a Replay

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