Usuwanie pojedynczego elementu z kolekcji WMI
Jednym z głównych celów uzyskiwania dostępu do kolekcji jest usunięcie elementu z kolekcji. Element z kolekcji można usunąć za pomocą wywołania metody SWbemPropertySet.Remove. Ta metoda nie jest dostępna dla SWbemObjectSet lub SWbemMethodSet.
Elementy są usuwane według nazwy z SWbemPropertySet, SWbemQualifierSeti SWbemNamedValueSet. Jednak elementy w SWbemRefresher są usuwane przez indeks, a te z SWbemPrivilegeSet przez stałą reprezentującą nazwę przywileju.
Aby usunąć element z kolekcji
Poniższy przykład kodu pokazuje, jak usunąć element z wywołaniem metody SWbemPropertySet.Remove.
oclass.Properties_.Remove "Prop2"
Poniższy przykład tworzy nową klasę o nazwie "NewClass" w głównej\domyślnej przestrzeni nazw i dodaje do niej trzy właściwości. Następnie skrypt używa kodu z poprzedniego przykładu, aby usunąć drugą właściwość.
' 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
Aby uzyskać więcej informacji, zobacz Manipulowanie informacjami o klasach i wystąpieniach, uzyskiwanie dostępu do kolekcjii usuwanie wielu elementów z kolekcji.