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 |
헤더 |
|
유형 라이브러리 |
|
DLL |
|
CLSID |
CLSID_SWbemObject |
IID |
IID_ISWbemObject |