Bonjours
Je tente d'utiliser WMI a l'aide de la FAQ Delphi et de deux articles egalement en Delphi
Il y a cependant un transtypage que je n'arrive pas a realiser voici un extrait du Tuto
Une fois une collection récupérée, on utilise une interface IEnumVariant qui implémente des fonctions d’énumération sur des données de type variant.
Elle nécessite le transtypage suivant sur un objet de type collection, ici WmiObjectSet :

ObjectEnumerator:= (WmiObjectSet._NewEnum) as IEnumVariant;
La méthode .Next permet une itération pour un ou plusieurs éléments. Elle renvoie S_OK tant qu’il reste des éléments à extraire.
L’élément récupéré de type OleVariant doit à son tour être transtypé pour permettre de le manipuler correctement :

WmiObject := IUnknown(ArrayVariant) as SWBemObject;
Ici l’objet ArrayVariant est transtypé vers la variable WmiObject de type SWBemObject.
On peut ensuite utiliser les propriétés et méthodes de la variable WmiObject .
Le transtypage de l’élément récupéré doit correspondre au type d’objet de la collection, par exemple pour une variable WmiProperty de type SWBemProperty :
WmiProperty:=IUnknown(ArrayVariant) as SWBemProperty;
Voici le morceau de code que je n'arrive pas a transtyper
WmiProperty:=IUnknown(ArrayVariant) as SWBemProperty;