Eliminación de un solo elemento de una colección WMI
Uno de los principales propósitos al acceder a una colección es quitar un elemento de la colección. Puede quitar un elemento de una colección con una llamada al método SWbemPropertySet.Remove. Este método no está disponible para SWbemObjectSet o SWbemMethodSet.
Los elementos se quitan por nombre de SWbemPropertySet, SWbemQualifierSet y SWbemNamedValueSet. En cambio, los elementos de SWbemRefresher se quitan por índice, mientras que se quitan de SWbemPrivilegeSet por la constante que representa el nombre de privilegio.
Procedimientos para quitar un elemento de una colección
En el ejemplo de código siguiente se muestra cómo quitar el elemento con una llamada al método SWbemPropertySet.Remove.
oclass.Properties_.Remove "Prop2"
En el ejemplo siguiente se crea una clase denominada "NewClass" en el espacio de nombres root\default y se le agregan tres propiedades. A continuación, el script usa el código del ejemplo anterior para eliminar la segunda propiedad.
' 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 obtener más información, vea Manipulación de la información de clase e instancia, Acceso a una colección y Eliminación de varios elementos de una colección.