Skip to content

Latest commit

 

History

History
68 lines (46 loc) · 2.7 KB

removing-a-single-item-from-a-collection.md

File metadata and controls

68 lines (46 loc) · 2.7 KB
description ms.assetid ms.tgt_platform title ms.topic ms.date
One of the main purposes of accessing a collection is to remove an item from the collection. You can remove an item from a collection with a call to the SWbemPropertySet.Remove method. This method is not available for SWbemObjectSet or SWbemMethodSet.
4a71029c-9fe1-4348-9f78-daa345728e8d
multiple
Removing a Single Item from a WMI Collection
article
05/31/2018

Removing a Single Item from a WMI Collection

One of the main purposes of accessing a collection is to remove an item from the collection. You can remove an item from a collection with a call to the SWbemPropertySet.Remove method. This method is not available for SWbemObjectSet or SWbemMethodSet.

Items are removed by name from SWbemPropertySet, SWbemQualifierSet, and SWbemNamedValueSet. However, items in SWbemRefresher are removed by index and from SWbemPrivilegeSet by the constant that represents the privilege name.

To remove an item from a collection

  • The following code example shows how to remove the item with a call to the SWbemPropertySet.Remove method.

    oclass.Properties_.Remove "Prop2"

    The following example creates a new class named "NewClass" in the root\default namespace and adds three properties to it. The script then uses the code from the previous example to delete the second property.

    ' 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

For more information, see Manipulating Class and Instance Information, Accessing a Collection, and Removing Multiple Items from a Collection.