Suppression d’un seul élément d’une collection WMI

L’un des principaux objectifs de l’accès à une collection est de supprimer un élément de la collection. Vous pouvez supprimer un élément d’une collection à l’aide d’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 de SWbemPropertySet, SWbemQualifierSetet SWbemNamedValueSet. Toutefois, les éléments dans SWbemRefresher sont supprimés par index et à partir de SWbemPrivilegeSet 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 nouvelle classe nommée « NewClass » dans l' \ espace de noms racine par défaut et lui 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 d’informations sur les classes et les instances, accès à une collectionet Suppression de plusieurs éléments d’une collection.