Метод GetSummaryInformation класса Msvm_VirtualSystemManagementService
Возвращает сводные сведения о виртуальной машине.
Синтаксис
uint32 GetSummaryInformation(
[in] CIM_VirtualSystemSettingData REF SettingData[],
[in] uint32 RequestedInformation[],
[out] Msvm_SummaryInformationBase SummaryInformation[]
);
Параметры
-
SettingData [in]
-
Тип: CIM_VirtualSystemSettingData[]
Массив CIM_VirtualSystemSettingData экземпляров, определяющих виртуальные машины или моментальные снимки, для которых требуется получить сведения. Если этот параметр имеет значение Null, извлекаются сведения для всех виртуальных машин.
-
RequestedInformation [in]
-
Тип: uint32[]
Массив значений перечисления, соответствующих свойствам класса Msvm_SummaryInformation , которые указывают данные для получения для виртуальных машин и моментальных снимков, указанных в массиве SettingData .
-
Имя (0)
-
Соответствует свойству Name класса Msvm_SummaryInformation .
-
Имя элемента (1)
-
Соответствует свойству ElementName класса Msvm_SummaryInformation .
-
Время создания (2)
-
Это соответствует свойству CreationTime класса Msvm_SummaryInformation .
-
Примечания (3)
-
Соответствует свойству Notes класса Msvm_SummaryInformation .
-
Число процессоров (4)
-
Это соответствует свойству NumberOfProcessors класса Msvm_SummaryInformation .
-
Маленький эскиз (80x60) (5)
-
Соответствует свойству ThumbnailImage класса Msvm_SummaryInformation . Будет извлечен эскиз с размерами 80 60.
-
Среднее эскизное изображение (160x120) (6)
-
Соответствует свойству ThumbnailImage класса Msvm_SummaryInformation . Будет извлечен эскиз с размерами 160 120.
-
Изображение большого эскиза (320x240) (7)
-
Соответствует свойству ThumbnailImage класса Msvm_SummaryInformation . Будет извлечен эскиз с размерами 320 240.
-
AllocatedGPU (8)
-
Это соответствует свойству AllocatedGPU класса Msvm_SummaryInformation .
-
VirtualSwitchNames (9)
-
Версия (10)
-
Примечание
Добавлено в Windows 10 и Windows Server 2016.
-
Экранированные (11)
-
Примечание
Добавлено в Windows 10 версии 1703 и Windows Server 2016.
-
EnabledState (100)
-
Соответствует свойству EnabledState класса Msvm_SummaryInformation .
-
ProcessorLoad (101)
-
Соответствует свойству ProcessorLoad класса Msvm_SummaryInformation .
-
ProcessorLoadHistory (102)
-
Это соответствует свойству ProcessorLoadHistory класса Msvm_SummaryInformation .
-
MemoryUsage (103)
-
Соответствует свойству MemoryUsage класса Msvm_SummaryInformation .
-
Пульс (104)
-
Соответствует свойству Heartbeat класса Msvm_SummaryInformation .
-
Время доступности (105)
-
Это соответствует свойству UpTime класса Msvm_SummaryInformation .
-
GuestOperatingSystem (106)
-
Это соответствует свойству GuestOperatingSystem класса Msvm_SummaryInformation .
-
Моментальные снимки (107)
-
Соответствует свойству Snapshots класса Msvm_SummaryInformation .
-
Асинхронные задачи (108)
-
Соответствует свойству AsynchronousTasks класса Msvm_SummaryInformation .
-
HealthState (109)
-
Соответствует свойству HealthState класса Msvm_SummaryInformation .
-
OperationalStatus (110)
-
Соответствует свойству OperationalStatusкласса Msvm_SummaryInformation .
-
StatusDescriptions (111)
-
Соответствует свойству StatusDescriptions класса Msvm_SummaryInformation .
-
MemoryAvailable (112)
-
Соответствует свойству MemoryAvailable класса Msvm_SummaryInformation .
-
AvailableMemoryBuffer (113)
-
Соответствует свойству AvailableMemoryBuffer класса Msvm_SummaryInformation .
-
Режим репликации (114)
-
Это соответствует свойству ReplicationMode класса Msvm_SummaryInformation .
-
Состояние репликации (115)
-
Соответствует свойству ReplicationState класса Msvm_SummaryInformation .
-
Репликация HealthTest Replica System (116)
-
Это соответствует свойству ReplicationHealth класса Msvm_SummaryInformation .
-
Работоспособности приложения (117)
-
ReplicationStateEx (118)
-
Соответствует свойству ReplicationState класса Msvm_ReplicationRelationship . Это массив для всех значений состояния репликации в основной и расширенной связи. Значение индекса 0 всегда используется для основной связи, и если расширенная репликация включена, она возвращается в индексе 1.
-
ReplicationHealthEx (119)
-
Это соответствует свойству ReplicationHealth класса Msvm_ReplicationRelationship . Это массив для всех значений работоспособности репликации в основной и расширенной связи. Значение индекса 0 всегда используется для основной связи, и если расширенная репликация включена, она возвращается в индексе 1.
-
SwapFilesInUse (120)
-
Соответствует свойству SwapFilesInUse класса Msvm_SummaryInformation .
-
IntegrationServicesVersionState (121)
-
ReplicationProviderId (122)
-
Соответствует свойству Name класса Msvm_ReplicationProvider .
-
MemorySpansPhysicalNumaNodes (123)
-
IntegrationServicesVersionState (132)
-
Соответствует свойству IntegrationServicesVersionState класса Msvm_SummaryInformation .
-
OtherEnabledState (132)
-
Соответствует свойству OtherEnabledState класса Msvm_SummaryInformation .
-
(133)
SummaryInformation [out]
Тип: Msvm_SummaryInformationBase[]
Массив экземпляров Msvm_SummaryInformationBase , содержащий запрошенные сведения для виртуальных машин и (или) моментальных снимков, указанных в массиве SettingData . Этот массив будет содержать то же количество элементов, что и массив SettingData . Каждая из этих записей будет содержать свойство Name , даже если это свойство не было запрошено. Если виртуальная машина или snapshot не найдена или недоступна, свойство Name соответствующей сводной записи будет пустым.
Свойства, не указанные в параметре RequestedInformation , будут иметь значение NULL .
Примечание
Тип данных обновлен в Windows 10 версии 1703 из Msvm_SummaryInformation.
Возвращаемое значение
Тип: uint32
Этот метод возвращает одно из следующих значений.
-
Завершено без ошибок (0)
-
Проверенные параметры метода — задание запущено (4096)
-
Сбой (32768)
-
Доступ запрещен (32769)
-
Не поддерживается (32770)
-
Состояние неизвестно (32771)
-
Время ожидания (32772)
-
Недопустимый параметр (32773)
-
Система используется (32774)
-
Недопустимое состояние для этой операции (32775)
-
Неправильный тип данных (32776)
-
Система недоступна (32777)
-
Нехватка памяти (32778)
Комментарии
Доступ к классу Msvm_VirtualSystemManagementService может быть ограничен фильтрацией UAC. Дополнительные сведения см. в разделе Контроль учетных записей пользователей и WMI.
Примеры
В следующем примере C# отображаются сводные сведения. Эти служебные программы можно найти в разделе Общие служебные программы для примеров виртуализации (версия 2).
Важно!
Для правильной работы следующий код должен выполняться на сервере узла виртуальной машины и выполняться с правами администратора.
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 |
|