다음을 통해 공유


Msvm_VirtualSystemManagementService 클래스의 GetSummaryInformation 메서드

가상 머신 요약 정보를 반환합니다.

구문

uint32 GetSummaryInformation(
  [in]  CIM_VirtualSystemSettingData REF SettingData[],
  [in]  uint32                           RequestedInformation[],
  [out] Msvm_SummaryInformationBase      SummaryInformation[]
);

매개 변수

설정데이타 [in]

형식: CIM_VirtualSystemSettingData[]

정보를 검색할 가상 머신 또는 스냅샷을 지정하는 CIM_VirtualSystemSettingData 인스턴스의 배열입니다. 이 매개 변수가 Null이면 모든 가상 머신에 대한 정보가 검색됩니다.

RequestedInformation [in]

형식: uint32[]

Msvm_SummaryInformation 클래스의 속성에 해당하는 열거형 값 배열로, SettingData 배열에 지정된 가상 머신 및 스냅샷에 대해 검색할 데이터를 지정합니다.

이름 (0)

이는 Msvm_SummaryInformation 클래스의 Name 속성에 해당합니다.

요소 이름 (1)

이는 Msvm_SummaryInformation 클래스의 ElementName 속성에 해당합니다.

생성 시간 (2)

이는 Msvm_SummaryInformation 클래스의 CreationTime 속성에 해당합니다.

참고 사항 (3)

이는 Msvm_SummaryInformation 클래스의 Notes 속성에 해당합니다.

프로세서 수 (4)

이는 Msvm_SummaryInformation 클래스의 NumberOfProcessors 속성에 해당합니다.

작은 축소판 그림 이미지(80x60) (5)

이는 Msvm_SummaryInformation 클래스의 ThumbnailImage 속성에 해당합니다. 크기가 80 60인 썸네일 이미지가 검색됩니다.

보통 축소판 그림 이미지(160x120) (6)

이는 Msvm_SummaryInformation 클래스의 ThumbnailImage 속성에 해당합니다. 크기가 160 120인 썸네일 이미지가 검색됩니다.

큰 축소판 그림 이미지(320x240) (7)

이는 Msvm_SummaryInformation 클래스의 ThumbnailImage 속성에 해당합니다. 크기가 320 240인 썸네일 이미지가 검색됩니다.

AllocatedGPU (8)

이는 Msvm_SummaryInformation 클래스의 AllocatedGPU 속성에 해당합니다.

VirtualSwitchNames (9)

버전 (10)

참고

Windows 10 및 Windows Server 2016 추가되었습니다.

보호됨 (11)

참고

Windows 10 버전 1703 및 Windows Server 2016 추가되었습니다.

EnabledState (100)

이는 Msvm_SummaryInformation 클래스의 EnabledState 속성에 해당합니다.

ProcessorLoad (101)

이는 Msvm_SummaryInformation 클래스의 ProcessorLoad 속성에 해당합니다.

ProcessorLoadHistory (102)

이는 Msvm_SummaryInformation 클래스의 ProcessorLoadHistory 속성에 해당합니다.

MemoryUsage (103)

이는 Msvm_SummaryInformation 클래스의 MemoryUsage 속성에 해당합니다.

하트비트 (104)

이는 Msvm_SummaryInformation 클래스의 Heartbeat 속성에 해당합니다.

가동 시간 (105)

이는 Msvm_SummaryInformation 클래스의 UpTime 속성에 해당합니다.

GuestOperatingSystem (106)

이는 Msvm_SummaryInformation 클래스의 GuestOperatingSystem 속성에 해당합니다.

스냅샷 (107)

이는 Msvm_SummaryInformation 클래스의 Snapshots 속성에 해당합니다.

비동기태스크 (108)

이는 Msvm_SummaryInformation 클래스의 AsynchronousTasks 속성에 해당합니다.

HealthState (109)

이는 Msvm_SummaryInformation 클래스의 HealthState 속성에 해당합니다.

OperationalStatus (110)

이는 Msvm_SummaryInformation 클래스의 OperationalStatus 속성에 해당합니다.

StatusDescriptions (111)

이는 Msvm_SummaryInformation 클래스의 StatusDescriptions 속성에 해당합니다.

MemoryAvailable (112)

이는 Msvm_SummaryInformation 클래스의 MemoryAvailable 속성에 해당합니다.

AvailableMemoryBuffer (113)

이는 Msvm_SummaryInformation 클래스의 AvailableMemoryBuffer 속성에 해당합니다.

복제 모드 (114)

이는 Msvm_SummaryInformation 클래스의 ReplicationMode 속성에 해당합니다.

복제 상태 (115)

이는 Msvm_SummaryInformation 클래스의 ReplicationState 속성에 해당합니다.

Replication HealthTest Replica System (116)

이는 Msvm_SummaryInformation 클래스의 ReplicationHealth 속성에 해당합니다.

Application Health (117)

ReplicationStateEx (118)

이는 Msvm_ReplicationRelationship 클래스의 ReplicationState 속성에 해당합니다. 기본 및 확장 관계 전체의 모든 복제 상태 값에 대한 배열입니다. 0 인덱스 값은 항상 기본 관계에 사용되며 확장 복제를 사용하도록 설정하면 인덱스 1에 반환됩니다.

ReplicationHealthEx (119)

이는 Msvm_ReplicationRelationship 클래스의 ReplicationHealth 속성에 해당합니다. 이는 기본 및 확장 관계 전체의 모든 복제 상태 값에 대한 배열입니다. 0 인덱스 값은 항상 기본 관계에 사용되며 확장 복제를 사용하도록 설정하면 인덱스 1에 반환됩니다.

SwapFilesInUse (120)

이는 Msvm_SummaryInformation 클래스의 SwapFilesInUse 속성에 해당합니다.

IntegrationServicesVersionState (121)

ReplicationProviderId (122)

이는 Msvm_ReplicationProvider 클래스의 Name 속성에 해당합니다.

MemorySpansPhysicalNumaNodes (123)

IntegrationServicesVersionState (132)

이는 Msvm_SummaryInformation 클래스의 IntegrationServicesVersionState 속성에 해당합니다.

OtherEnabledState (132)

이는 Msvm_SummaryInformation 클래스의 OtherEnabledState 속성에 해당합니다.

(133)

SummaryInformation [out]

형식: Msvm_SummaryInformationBase[]

SettingData 배열에 지정된 가상 머신 및/또는 스냅샷에 대해 요청된 정보를 포함하는 Msvm_SummaryInformationBase 인스턴스의 배열입니다. 이 배열은 SettingData 배열과 동일한 수의 요소를 갖습니다. 이러한 각 항목에는 이 속성이 요청되지 않은 경우에도 Name 속성이 포함됩니다. 가상 머신 또는 스냅샷 찾을 수 없거나 사용할 수 없는 경우 해당 요약 정보 항목의 Name 속성은 비어 있습니다.

RequestedInformation 매개 변수에 지정되지 않은 속성에는 Null 값이 있습니다.

참고

데이터 형식은 Msvm_SummaryInformation Windows 10 버전 1703에서 업데이트되었습니다.

반환 값

형식: uint32

이 메서드는 다음 값 중 하나를 반환합니다.

오류 없이 완료됨 (0)

메서드 매개 변수 확인 - 작업 시작 (4096)

실패( 32768)

액세스 거부됨 (32769)

지원되지 않음 (32770)

상태를 알 수 없음 (32771)

시간 제한 (32772)

잘못된 매개 변수 (32773)

시스템이 사용 중( 32774)

이 작업에 대한 잘못된 상태 (32775)

잘못된 데이터 형식 (32776)

시스템을 사용할 수 없음 (32777)

메모리 부족 (32778)

설명

Msvm_VirtualSystemManagementService 클래스에 대한 액세스는 UAC 필터링에 의해 제한될 수 있습니다. 자세한 내용은 사용자 계정 컨트롤 및 WMI를 참조하세요.

예제

다음 C# 샘플에서는 요약 정보를 표시합니다. 참조된 유틸리티는 V2(가상화 샘플)에 대한 공통 유틸리티에서 찾을 수 있습니다.

중요

올바르게 작동하려면 다음 코드를 가상 머신 호스트 서버에서 실행해야 하며 관리자 권한으로 실행해야 합니다.

public class GetSummaryInformationClassV2
{
    public static void GetSummaryInformation(string[] vmNames)
    {
        ManagementScope scope = new ManagementScope(@"root\virtualization\v2", null);
        ManagementObject virtualSystemService = Utility.GetServiceObject(scope, "Msvm_VirtualSystemManagementService");
        ManagementBaseObject inParams = virtualSystemService.GetMethodParameters("GetSummaryInformation");

        ManagementObject[] virtualSystemSettings = new ManagementObject[vmNames.Length];

        for (int i = 0; i < vmNames.Length; i++)
        {
            virtualSystemSettings[i] = GetVirtualSystemSetting(vmNames[i], scope);
        }

        UInt32[] requestedInformation = new UInt32[4];
        requestedInformation[0] = 1;    // ElementName
        requestedInformation[2] = 103;  // MemoryUsage
        requestedInformation[3] = 112;  // MemoryAvailable

        inParams["SettingData"] = virtualSystemSettings;
        inParams["RequestedInformation"] = requestedInformation;

        ManagementBaseObject outParams = virtualSystemService.InvokeMethod("GetSummaryInformation", inParams, null);

        if ((UInt32)outParams["ReturnValue"] == ReturnCode.Completed)
        {
            Console.WriteLine("Summary information was retrieved successfully.");

            ManagementBaseObject[] summaryInformationArray = 
                (ManagementBaseObject[])outParams["SummaryInformation"];

            foreach (ManagementBaseObject summaryInformation in summaryInformationArray)
            {
                Console.WriteLine("\nVirtual System Summary Information:");
                if ((null == summaryInformation["Name"]) || 
                    (summaryInformation["Name"].ToString().Length == 0))
                {
                    Console.WriteLine("\tThe VM or snapshot could not be found.");
                }
                else
                {
                    Console.WriteLine("\tName: {0}", summaryInformation["Name"].ToString());
                    foreach (UInt32 requested in requestedInformation)
                    {
                        switch (requested)
                        {
                            case 1:
                                Console.WriteLine("\tElementName: {0}", summaryInformation["ElementName"].ToString());
                                break;

                            case 103:
                                Console.WriteLine("\tMemoryUsage: {0}", summaryInformation["MemoryUsage"].ToString());
                                break;

                            case 112:
                                Console.WriteLine("\tMemoryAvailable: {0}", summaryInformation["MemoryAvailable"].ToString());
                                break;
                        }
                    }
                }
            }
        }
        else
        {
            Console.WriteLine("Failed to retrieve virtual system summary information");
        }

        inParams.Dispose();
        outParams.Dispose();
        virtualSystemService.Dispose();
    }

    public static ManagementObject GetVirtualSystemSetting(string vmName, ManagementScope scope)
    {
        ManagementObject virtualSystem = Utility.GetTargetComputer(vmName, scope);

        ManagementObjectCollection virtualSystemSettings = virtualSystem.GetRelated
         (
             "Msvm_VirtualSystemSettingData",
             "Msvm_SettingsDefineState",
             null,
             null,
             "SettingData",
             "ManagedElement",
             false,
             null
         );

        ManagementObject virtualSystemSetting = null;

        foreach (ManagementObject instance in virtualSystemSettings)
        {
            virtualSystemSetting = instance;
            break;
        }

        return virtualSystemSetting;

    }
}

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows 8 [데스크톱 앱만 해당]
지원되는 최소 서버
Windows Server 2012 [데스크톱 앱만 해당]
네임스페이스
Root\Virtualization\V2
MOF
WindowsVirtualization.V2.mof
DLL
Vmms.exe

추가 정보

Msvm_VirtualSystemManagementService

CIM_VirtualSystemSettingData

Msvm_SummaryInformation