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 |
|
DLL |
|