Dela via


Ta bort ett enskilt objekt från en WMI-samling

Ett av huvudsyftena med att komma åt en samling är att ta bort ett objekt från samlingen. Du kan ta bort ett objekt från en samling med ett anrop till metoden SWbemPropertySet.Remove. Den här metoden är inte tillgänglig för SWbemObjectSet eller SWbemMethodSet.

Objekt tas bort efter namn från SWbemPropertySet, SWbemQualifierSetoch SWbemNamedValueSet. Objekt i SWbemRefresher tas dock bort av index och från SWbemPrivilegeSet av konstanten som representerar behörighetsnamnet.

Ta bort ett objekt från en samling

  • I följande kodexempel visas hur du tar bort objektet med ett anrop till metoden SWbemPropertySet.Remove.

    oclass.Properties_.Remove "Prop2"
    

    I följande exempel skapas en ny klass med namnet "NewClass" i namnområdet root\default och tre egenskaper läggs till i den. Skriptet använder sedan koden från föregående exempel för att ta bort den andra egenskapen.

    ' 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
    

Mer information finns i Ändra klass- och instansinformation, åtkomst till en samlingoch Ta bort flera objekt från en samling.