Partilhar via


Removendo um único item de uma coleção WMI

Um dos principais objetivos de acessar uma coleção é remover um item da coleção. Você pode remover um item de uma coleção com uma chamada para o método SWbemPropertySet.Remove. Este método não está disponível para SWbemObjectSet ou SWbemMethodSet.

Os itens são removidos pelo nome de SWbemPropertySet, SWbemQualifierSete SWbemNamedValueSet. No entanto, os itens em SWbemRefresher são removidos por índice e de SWbemPrivilegeSet pela constante que representa o nome do privilégio.

Para remover um item de uma coleção

  • O exemplo de código a seguir mostra como remover o item com uma chamada para o SWbemPropertySet.Remove método.

    oclass.Properties_.Remove "Prop2"
    

    O exemplo a seguir cria uma nova classe chamada "NewClass" no namespace root\default e adiciona três propriedades a ela. Em seguida, o script usa o código do exemplo anterior para excluir a segunda propriedade.

    ' 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
    

Para obter mais informações, consulte Manipulando informações de classe e instância, Acedendo a uma coleção, e Removendo vários itens de uma coleção.