从 WMI 集合中删除单个项

访问集合的主要目的之一是从集合中删除项。 可以通过调用 SWbemPropertySet.Remove 方法从集合中删除项。 此方法不适用于 SWbemObjectSetSWbemMethodSet

项按名称从 SWbemPropertySetSWbemQualifierSetSWbemNamedValueSet 中删除。 但是,SWbemRefresher 中的项按索引删除,SWbemPrivilegeSet 中的项按表示特权名称的常量删除。

从集合中删除项

  • 以下代码示例演示如何通过调用 SWbemPropertySet.Remove 方法删除项。

    oclass.Properties_.Remove "Prop2"
    

    以下示例在 root\default 命名空间中创建名为“NewClass”的新类,并为其添加三个属性。 然后,该脚本使用上一示例中的代码删除第二个属性。

    ' 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
    

有关详细信息,请参阅操作类和实例信息访问集合从集合中删除多个项