WMI 컬렉션에서 단일 항목 제거
컬렉션에 액세스하는 주요 목적 중 하나는 컬렉션에서 항목을 제거하는 것입니다. SWbemPropertySet.Remove 메서드를 호출하여 컬렉션에서 항목을 제거할 수 있습니다. 이 메서드는 SWbemObjectSet 또는 SWbemMethodSet사용할 수 없습니다.
항목은 이름으로 SWbemPropertySet, SWbemQualifierSet, 및 SWbemNamedValueSet에서 제거됩니다. 그러나 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
자세한 내용은 클래스 및 인스턴스 정보조작, 컬렉션액세스 및 컬렉션 여러 항목 제거참조하세요.