Problème WMI sous VB 6

akira2169 Messages postés 3 Date d'inscription mercredi 2 avril 2003 Statut Membre Dernière intervention 25 avril 2003 - 24 avril 2003 à 08:14
fa7al Messages postés 9 Date d'inscription mardi 4 mars 2003 Statut Membre Dernière intervention 2 septembre 2005 - 31 mars 2004 à 17:58
Bonjour,

Voila j'ai un problème avec l'utilisation de WMI dans VB6 mon but étant de faire une fonction permettant de récupérer la valeur d'une propriété d'une classe WMI (le tout passé en paramètre) Ceci dans le but de rappeler plusieurs fois la fonction dans le code principal.

Voici le code et mon problème :
- pas moyen de récupéré la valeur de la propriété par le .value
- pas possibilité de générer du code ( objitem.sPropWMI )

Alors j aimerais savoir si quelqu'un peu m aider ou m'apporter une solution

MERCI D AVANCE ++++

AKIR@

----------- Debut CODE -----------
' ' [Fonction de récupération de la valeur d'une propriété WMI] ===' {Paramètre :} {Description :} ' - sClasseWMI : type text Classe WMI ===' - sPropWMI : type text Propriété WMI ===' - sIpPC : type text Ip ou nom de machine cible ===
' =================================================================================

Function reqDetailWMI(sClasseWMI As String, sPropWMI As String, sIpPc As String) As String
' Définition des variables
Dim nomProp As String
Dim valProp

Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\" & sIpPc & "\root\cimv2")

Set objClass = objWMIService.Get(sClasseWMI)
' Parcours des propriétés de l'object
For Each objProperty In objClass.properties_ ' Dans l'aide MDSN il est dit que l'on peu recupéré ' la valeur de la propriété par l'utilisation d'un .value ' Mais ca ne fonctionne pas dans mon cas Why ????
nomProp = objProperty.Name
valProp = objProperty.Value ' Test si la propriété passé en paramètre est égale a un propriété de la classe
If nomProp = sPropWMI Then
' Debut Facultatif :
Dim reqWMI As String
reqWMI = "Select * from " + sClasseWMI

Set colitems = objWMIService.ExecQuery(reqWMI, , 48)

For Each objitem In colitems ' Domain est en fait le contenu de ma variable sPropWMI ' Mon but serais de récupérer la valeur de la propriété passer en paramètre

MsgBox "Valeur Propriété : " & objitem.Domain
Next 'Fin Facultatif

End If
' Affiche le nom de la propriété et ca valeur ' PRoblème la valeur de la propriété est null
MsgBox "valeur : " & valProp
MsgBox "Nom Prop : " & nomProp
Next


End Function
------------- Fin Code ---------

S'il vous faut plus d'info n'hésitez pas

2 réponses

akira2169 Messages postés 3 Date d'inscription mercredi 2 avril 2003 Statut Membre Dernière intervention 25 avril 2003
25 avril 2003 à 08:48
tjrs personne pr m aider ????
0
fa7al Messages postés 9 Date d'inscription mardi 4 mars 2003 Statut Membre Dernière intervention 2 septembre 2005
31 mars 2004 à 17:58
Il faut utiliser une autre fonction pour se connecter sur un hote distant :

If (nomMachine = Environ("Computername")) Then
Set objWMIService = GetObject("WinMgmts://" & nomMachine & "/root/cimv2")
Else
Set objLocator = CreateObject("WbemScripting.SWbemLocator")
Set objWMIService = objLocator.ConnectServer((nomMachine), "root\cimv2", leLogin, lePass)
End If

J'ai quand meme un probleme avec certains pc pour lesquels cela ne marche pas .

http://www.fatal.fr.st
webdesign affiches flyers
0
Rejoignez-nous