SWbemObjectSet 개체
SWbemObjectSet 개체는 SWbemObject 개체의 컬렉션입니다. 자세한 내용은 컬렉션 액세스를 참조하세요. 이 개체는 VBScript CreateObject 호출로 만들 수 없습니다.
다음 메서드 또는 해당 비동기 항목을 호출하여 SWbemObjectSet 개체를 가져올 수 있습니다.
- SWbemObject.Associators_
- SWbemObject.Instances_
- SWbemObject.References_
- SWbemObject.Subclasses_
- SWbemServices.AssociatorsOf
- SWbemServices.ExecQuery
- SWbemServices.InstancesOf
- SWbemServices.ReferencesTo
- SWbemServices.SubclassesOf
참고
SWbemObjectSet 개체는 선택적 Add 및 Remove 컬렉션 메서드를 지원하지 않습니다.
참고
싱크에 대한 콜백은 클라이언트에서 요구하는 것과 동일한 인증 수준으로 반환되지 않을 수 있으므로 비동기 통신 대신 반동기 통신을 사용하는 것이 좋습니다. 자세한 내용은 메서드 호출을 참조하세요.
멤버
SWbemObjectSet 개체에는 다음과 같은 형식의 멤버가 있습니다.
메서드
SWbemObjectSet 개체에는 다음과 같은 메서드가 있습니다.
메서드 | 설명 |
---|---|
항목 | 컬렉션에서 SWbemObject 개체를 검색합니다. 개체의 기본 메서드입니다. |
Itemindex | 컬렉션에 지정된 인덱스와 연결된 SWbemObject 개체를 검색합니다. |
속성
SWbemObjectSet 개체에는 다음과 같은 속성이 있습니다.
속성 | 액세스 유형 | 설명 |
---|---|---|
개수 |
읽기 전용 |
컬렉션의 항목 수입니다. |
Security_ |
읽기 전용 |
보안 설정을 읽거나 변경하는 데 사용됩니다. |
설명
SWbemObjectSet는 0개 이상의 SWbemObject 개체 컬렉션입니다. SWbemObjectSet의 각 SWbemObject는 다음 두 가지 중 하나를 나타낼 수 있습니다.
- WMI 관리 리소스의 인스턴스입니다.
- 클래스 정의의 인스턴스입니다.
WMI에서 이 클래스의 가장 일반적인 용도는 다음 코드 샘플에 설명된 대로 ExecQuery 또는 InstancesOf 호출의 반환 값입니다.
strComputer = "."
Set objSWbemServices = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colServices = objSWbemServices.ExecQuery("SELECT State FROM Win32_Service")
For Each objService In colServices
Wscript.Echo objService.Name, objService.State
Next
대부분의 경우 SWbemObjectSet로 수행할 유일한 작업은 컬렉션 자체에 포함된 모든 개체를 열거하는 것입니다. 그러나 SWbemObjectSet에는 시스템 관리 스크립팅에 유용할 수 있는 Count 속성이 포함되어 있습니다. 이름에서 알 수 있듯이 Count는 컬렉션에 있는 항목 수를 알려줍니다. 예를 들어 이 스크립트는 컴퓨터에 설치된 모든 서비스의 컬렉션을 검색한 다음 찾은 총 서비스 수를 에코합니다.
이 클래스를 사용하는 방법에 대한 자세한 내용은 WMI 열거를 참조하세요.
예제
다음 VBScript 코드 샘플에서는 SWbemObjectSet 컬렉션이 조작되는 방법을 보여줍니다.
On Error Resume Next
Set Disks = GetObject("winmgmts:").InstancesOf ("CIM_LogicalDisk")
WScript.Echo "There are", Disks.Count, " Disks"
Set Disk = Disks("Win32_LogicalDisk.DeviceID=""C:""")
WScript.Echo Disk.Path_.Path
if Err <> 0 Then
WScript.Echo Err.Description
Err.Clear
End if
다음 Perl 코드 샘플에서는 SWbemObjectSet 컬렉션이 조작되는 방법을 보여줍니다.
use strict;
use Win32::OLE;
my ($disks,$disk);
eval { $disks = Win32::OLE->GetObject("winmgmts:{impersonationLevel=impersonate}!\\\\.\\root\\cimv2")->
InstancesOf("CIM_LogicalDisk"); };
unless($@)
{
print "\nThere are ", $disks->{Count}, " Disks \n";
eval { $disk = $disks->Item("Win32_LogicalDisk.DeviceID=\"C:\""); };
unless($@)
{
print $disk->{Path_}->{Path}, "\n";
}
else
{
print STDERR Win32::OLE->LastError, "\n";
}
}
else
{
print STDERR Win32::OLE->LastError, "\n";
}
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 |
Windows Vista |
지원되는 최소 서버 |
Windows Server 2008 |
헤더 |
|
유형 라이브러리 |
|
DLL |
|
CLSID |
CLSID_SWbemObjectSet |
IID |
IID_ISWbemObjectSet |