SWbemObjectSet 개체

SWbemObjectSet 개체는 SWbemObject 개체의 컬렉션입니다. 자세한 내용은 컬렉션 액세스를 참조하세요. 이 개체는 VBScript CreateObject 호출로 만들 수 없습니다.

다음 메서드 또는 해당 비동기 항목을 호출하여 SWbemObjectSet 개체를 가져올 수 있습니다.

참고

SWbemObjectSet 개체는 선택적 AddRemove 컬렉션 메서드를 지원하지 않습니다.

참고

싱크에 대한 콜백은 클라이언트에서 요구하는 것과 동일한 인증 수준으로 반환되지 않을 수 있으므로 비동기 통신 대신 반동기 통신을 사용하는 것이 좋습니다. 자세한 내용은 메서드 호출을 참조하세요.

멤버

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
헤더
Wbemdisp.h
유형 라이브러리
Wbemdisp.tlb
DLL
Wbemdisp.dll
CLSID
CLSID_SWbemObjectSet
IID
IID_ISWbemObjectSet

추가 정보

스크립팅 API 개체