SWbemObject 개체

SWbemObject 개체의 메서드와 속성을 사용하여 하나의 WMI(Windows Management Instrumentation) 클래스 정의 또는 개체 인스턴스를 나타낼 수 있습니다. 이 개체는 VBScript CreateObject 호출로 만들 수 없습니다.

이 개체는 두 가지 형식의 속성 및 메서드를 지원합니다. 이 섹션에 정의된 속성 및 메서드는 모든 WMI 개체에 적용되는 일반 속성 및 메서드입니다. 또한 이 개체는 기본 개체의 속성 및 메서드를 SWbemObject의 동적 자동화 속성 및 메서드로 노출합니다. 이러한 속성 및 메서드의 이름과 형식은 기본 WMI 개체에 따라 달라집니다. 이러한 동적 속성 및 메서드가 노출되는 방법에 대한 자세한 내용은 클래스 및 인스턴스 정보 조작을 참조하세요.

WMI 클라이언트 관점에서 이 개체는 항상 처리 중입니다. 쓰기 작업은 개체의 로컬 복사본에만 영향을 주고 읽기 작업은 항상 로컬 복사본에서 값을 검색합니다. WMI에 대한 업데이트는 전체 개체가 SWbemObject.Put_ 메서드 호출을 사용하여 작성된 경우에만 수행됩니다. SWbemObject 개체의 속성 또는 메서드를 수정하는 경우 SWbemObject.Put_을 호출할 때까지 변경 내용이 WMI에 기록되지 않습니다.

이 섹션에 정의된 일반 메서드 및 속성 이름은 항상 후행 밑줄("_")로 끝나 기본 개체의 동적 WMI 메서드 및 속성과 구분합니다.

SWbemObject는 VBScript GetObject.method를 사용하여 만들 수 없습니다. 빈 클래스를 새로 만들려면 빈 경로 매개 변수와 함께 SWbemServices.Get을 사용합니다. 이 호출은 클래스가 될 수 있는 빈 SWbemObject 개체를 반환합니다. 그런 다음 Path_ 호출에서 반환된 SWbemObjectPath 개체의 Class 속성에 대한 클래스 이름을 입력할 수 있습니다. Properties_ 메서드를 사용하여 새 클래스에 속성을 추가합니다. 인스턴스를 만들려면 새 클래스에서 GetObject를 호출합니다.

다음 코드 예제에서는 새 클래스를 가져오고 속성을 추가하는 방법을 보여줍니다. 클래스를 나타내는 SWbemObject 개체는 Put_ 호출을 통해 WMI 리포지토리에 다시 기록되어야 합니다.

wbemCimtypeString = 8
Set objSWbemService = GetObject("Winmgmts:root\default")
Set objClass = objSWbemService.Get()
objClass.Path_.Class = "NewClass"

' Add a property
' String property
objClass.Properties_.add "PropertyName", wbemCimtypeString  
' Make the property a key property 
objClass.Properties_("PropertyName").Qualifiers_.add "key", true

' Write the new class to the root\default namespace in the repository
Set objClassPath = objClass.Put_
WScript.Echo objClassPath.Path

'Create an instance of the new class using SWbemObject.SpawnInstance
Set objNewInst = GetObject( _
    "Winmgmts:root\default:NewClass").Spawninstance_

objNewInst.PropertyName = "My Instance"

' Write the instance into the repository
Set objInstancePath = objNewInst.Put_
WScript.Echo objInstancePath.Path

CIM Studio와 같은 보기 도구로 리포지토리를 검사하여 새 클래스와 인스턴스가 나타나는지 확인할 수 있습니다. 리포지토리에서 클래스 및 인스턴스를 제거하는 예제는 SWbemServices.Delete 또는 SWbemObject.Delete_를 참조하세요.

멤버

SWbemObject 개체에는 다음과 같은 형식의 멤버가 있습니다.

메서드

SWbemObject 개체에는 다음과 같은 메서드가 있습니다.

메서드 설명
Associators_ 개체의 연결자를 검색합니다.
AssociatorsAsync_ 개체의 연결자를 비동기적으로 검색합니다.
Clone_ 현재 개체의 복사본을 만듭니다.
CompareTo_ 두 개체가 같은지 테스트합니다.
Delete_ WMI에서 개체를 삭제합니다.
DeleteAsync_ WMI에서 개체를 비동기적으로 삭제합니다.
ExecMethod_ 메서드 공급자가 내보낸 메서드를 실행합니다.
ExecMethodAsync_ 메서드 공급자가 내보낸 메서드를 비동기적으로 실행합니다.
GetObjectText_ 개체의 텍스트 표현(MOF 구문)을 검색합니다.
Instances_ 개체(WMI 클래스여야 함)의 인스턴스 컬렉션을 반환합니다.
InstancesAsync_ 개체(WMI 클래스여야 함)의 인스턴스 컬렉션을 비동기적으로 반환합니다.
Put_ WMI에서 개체를 만들거나 업데이트합니다.
PutAsync_ WMI에서 개체를 비동기적으로 만들거나 업데이트합니다.
References_ 개체에 대한 참조를 반환합니다.
ReferencesAsync_ 개체에 대한 참조를 비동기적으로 반환합니다.
SpawnDerivedClass_ 현재 개체(WMI 클래스여야 함)에서 새 파생 클래스를 만듭니다.
SpawnInstance_ 현재 개체에서 새 인스턴스를 만듭니다.
Subclasses_ 개체(WMI 클래스여야 함)의 하위 클래스 컬렉션을 반환합니다.
SubclassesAsync_ 개체(WMI 클래스여야 함)의 하위 클래스 컬렉션을 비동기적으로 반환합니다.

속성

SWbemObject 개체에는 다음과 같은 속성이 있습니다.

속성 액세스 유형 설명
Derivation_
읽기 전용
클래스의 파생 계층 구조를 설명하는 문자열 배열을 포함합니다.
Methods_
읽기 전용
이 개체의 메서드 컬렉션인 SWbemMethodSet 개체입니다.
Path_
읽기 전용
현재 클래스 또는 인스턴스의 개체 경로를 나타내는 SWbemObjectPath 개체를 포함합니다.
Properties_
읽기 전용
이 개체의 속성 컬렉션인 SWbemPropertySet 개체입니다.
Qualifiers_
읽기 전용
이 개체의 한정자 컬렉션인 SWbemQualifierSet 개체입니다.
Security_
읽기 전용
보안 설정을 읽거나 변경하는 데 사용되는 SWbemSecurity 개체를 포함합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows Vista
지원되는 최소 서버
Windows Server 2008
헤더
Wbemdisp.h
유형 라이브러리
Wbemdisp.tlb
DLL
Wbemdisp.dll
CLSID
CLSID_SWbemObject
IID
IID_ISWbemObject

추가 정보

SWbemObjectEx

스크립팅 API 개체