Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2942 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

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

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

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

n°2085302
SuppotDeSa​Tante
Aka dje69r
Posté le 27-06-2011 à 18:01:50  profilanswer
 

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 !
mood
Publicité
Posté le 27-06-2011 à 18:01:50  profilanswer
 

n°2085351
kiki29
Posté le 27-06-2011 à 22:12:51  profilanswer
 

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
n°2085353
SuppotDeSa​Tante
Aka dje69r
Posté le 27-06-2011 à 22:23:57  profilanswer
 

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 !
n°2085354
SuppotDeSa​Tante
Aka dje69r
Posté le 27-06-2011 à 22:35:20  profilanswer
 

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


---------------
Soyez malin, louez entre voisins !
n°2085505
SuppotDeSa​Tante
Aka dje69r
Posté le 28-06-2011 à 14:20:03  profilanswer
 

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 !

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

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

 

Sujets relatifs
Liaison Excel et Powerpoint VBA[VBS] Monter / Démonter / Contrôler des lecteurs réseaux
[VB.NET] Navigating et Gecko WebBrowserMacro VB
VBA, creer et ecrire un fichier text (.txt) depuis un macroAllocation VBA
[VBA] comparaison entre 2 lignes successivesVBA : Erreur de syntaxe dans un champs Word
problème (opérateur manquant) dans Requete SQL sous Excel VBA[Excel+VBA] autofilter avec "format as table"
Plus de sujets relatifs à : (Résolu) Version driver carte reseau [VBS/VBA/VB]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR