Suppression d’un élément unique d’une collection WMI
L’un des principaux buts de l’accès à une collection est d’en supprimer un élément. Vous pouvez supprimer un élément d’une collection avec un appel à la méthode SWbemPropertySet.Remove. Cette méthode n’est pas disponible pour SWbemObjectSet ou SWbemMethodSet.
Les éléments sont supprimés par nom depuis SWbemPropertySet, SWbemQualifierSet et SWbemNamedValueSet. Toutefois, les éléments de SWbemRefresher sont supprimés par index, et ceux de SWbemPrivilegeSet le sont par la constante qui représente le nom de privilège.
Pour supprimer un élément d’une collection
L’exemple de code suivant montre comment supprimer l’élément avec un appel à la méthode SWbemPropertySet.Remove .
oclass.Properties_.Remove "Prop2"
L’exemple suivant crée une classe nommée « NewClass » dans l’espace de noms root\default, et y ajoute trois propriétés. Le script utilise ensuite le code de l’exemple précédent pour supprimer la deuxième propriété.
' Obtain an empty class and name it Const WBEM_CIMTYPE_STRING = 8 Set objSWbemService = GetObject("winmgmts:root\default") Set objClass = objSWbemService.get() Wscript.Echo "Creating class NewClass" objClass.Path_.Class = "NewClass" ' Add three properties For i = 1 to 3 objClass.Properties_.Add "Prop" & i, WBEM_CIMTYPE_STRING Next Getprops() ' Remove the Prop2 property objClass.Properties_.Remove "Prop2" Wscript.Echo "Second property removed " Getprops() ' Write the changes to the class back objClass.Put_ Sub Getprops() Wscript.Echo "Number of Properties = " _ & objClass.Properties_.Count For Each prop in objClass.Properties_ Wscript.Echo prop.name Next End Sub
Pour plus d’informations, consultez Manipulation des informations de classe et d’instance, Accès à une collection et Suppression de plusieurs éléments d’une collection.