Entfernen eines einzelnen Elements aus einer WMI-Auflistung
Einer der Hauptzwecke des Zugriffs auf eine Auflistung ist es, ein Element daraus zu entfernen. Sie können ein Element mit einem Aufruf der SWbemPropertySet.Remove-Methode aus einer Auflistung entfernen. Diese Methode ist für SWbemObjectSet oder SWbemMethodSet nicht verfügbar.
Elemente werden anhand des Namens aus SWbemPropertySet, SWbemQualifierSet und SWbemNamedValueSet entfernt. Aus SWbemRefresher werden Elemente jedoch anhand des Indexes und aus SWbemPrivilegeSet anhand der Konstante entfernt, die den Berechtigungsnamen darstellt.
Entfernen eines Elements aus einer Auflistung
Das folgende Codebeispiel zeigt, wie ein Element mit einem Aufruf der SWbemPropertySet.Remove-Methode entfernt wird.
oclass.Properties_.Remove "Prop2"
Das folgende Beispiel erstellt eine neue Klasse mit dem Namen „NewClass“ im Namespace „root\default“ und fügt ihr drei Eigenschaften hinzu. Das Skript verwendet dann den Code aus dem vorherigen Beispiel, um die zweite Eigenschaft zu löschen.
' 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
Weitere Informationen finden Sie unter Bearbeiten von Klassen- und Instanzinformationen, Zugreifen auf eine Auflistung und Entfernen mehrerer Elemente aus einer WMI-Auflistung.