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[]

SettingData 配列で指定された仮想マシンとスナップショットに対して取得するデータを指定する、Msvm_SummaryInformation クラスのプロパティに対応する列挙値の配列。

名前 (0)

これは、Msvm_SummaryInformation クラスの Name プロパティに対応します。

要素名 (1)

これは、Msvm_SummaryInformation クラスの ElementName プロパティに対応します。

作成時間 (2)

これは、Msvm_SummaryInformation クラスの CreationTime プロパティに対応します。

メモ (3)

これは、Msvm_SummaryInformation クラスの Notes プロパティに対応します。

プロセッサの数 (4)

これは、Msvm_SummaryInformation クラスの NumberOfProcessors プロパティに対応します。

小さいサムネイル画像 (80 x 60) (5)

これは、Msvm_SummaryInformation クラスの ThumbnailImage プロパティに対応します。 サイズが 80 60 のサムネイル画像が取得されます。

中サムネイル画像 (160x120) (6)

これは、Msvm_SummaryInformation クラスの ThumbnailImage プロパティに対応します。 寸法が 160 120 のサムネイル画像が取得されます。

大きなサムネイル画像 (320 x 240) (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 プロパティに対応します。

AsyncTasks (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 プロパティに対応します。

レプリケーション正常性テスト レプリカ システム (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からバージョン 1703 Windows 10 から更新されたデータ型。

戻り値

型: 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