Partager via


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.