Msvm_VirtualSystemManagementService 類別的 GetSummaryInformation 方法
傳回虛擬機器摘要資訊。
語法
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)
-
這會對應至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類別的活動訊號屬性。
-
運行 時間 (105)
-
這會對應至Msvm_SummaryInformation類別的UpTime屬性。
-
GuestOperatingSystem (106)
-
這會對應至Msvm_SummaryInformation類別的GuestOperatingSystem屬性。
-
快照 集 (107)
-
這會對應至Msvm_SummaryInformation類別的Snapshots屬性。
-
AsynchronousTasks (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屬性。
-
複寫 HealthTest 複本系統 (116)
-
這會對應至Msvm_SummaryInformation類別的ReplicationHealth屬性。
-
應用程式健康 情況 (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[]
Msvm_SummaryInformationBase實例的陣列,其中包含SettingData陣列中所指定之虛擬機器和/或快照集的要求資訊。 此陣列的元素數目會與 SettingData 陣列相同。 這些專案都會包含 Name 屬性,即使未要求這個屬性也一樣。 如果找不到或無法使用虛擬機器或快照集,對應摘要資訊專案的 Name 屬性將會是空的。
RequestedInformation參數中未指定的屬性會有Null值。
注意
從 Windows 10 1703 版從Msvm_SummaryInformation更新的資料類型。
傳回值
類型: uint32
這個方法會傳回下列其中一個值。
-
已完成,沒有錯誤 (0)
-
已檢查方法參數 - 作業啟動 (4096)
-
失敗 (32768)
-
拒絕存取 (32769)
-
不支援 (32770)
-
狀態未知 , (32771)
-
逾 時 (32772)
-
不正確參數 (32773)
-
系統正在使用 中 (32774)
-
此作業的狀態無效 , (32775)
-
不正確的資料類型 (32776)
-
( 32777) 無法使用系統
-
記憶體不足 (32778)
備註
UAC 篩選可能會限制 對Msvm_VirtualSystemManagementService 類別的存取。 如需詳細資訊,請參閱 使用者帳戶控制和 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 |
|