Freigeben über


Msvm_HeartbeatComponent-Klasse

Stellt den Zustand des Heartbeatdiensts dar, der für die Überwachung des Zustands eines virtuellen Computers verantwortlich ist, indem er in regelmäßigen Abständen einen Heartbeat meldet.

Die folgende Syntax ist vereinfachter MOF-Code (Managed Object Format) und enthält alle geerbten Eigenschaften.

Syntax

[Dynamic, Provider("VmmsWmiInstanceAndMethodProvider"), AMENDMENT]
class Msvm_HeartbeatComponent : CIM_LogicalDevice
{
  string   InstanceID;
  string   Caption = "Heartbeat";
  string   Description = "Microsoft Heartbeat Service";
  string   ElementName = "Heartbeat";
  datetime InstallDate;
  string   Name;
  uint16   OperationalStatus[];
  string   StatusDescriptions[];
  string   Status;
  uint16   HealthState = 5;
  uint16   CommunicationStatus;
  uint16   DetailedStatus;
  uint16   OperatingStatus;
  uint16   PrimaryStatus;
  uint16   EnabledState = 2;
  string   OtherEnabledState;
  uint16   RequestedState = 12;
  uint16   EnabledDefault = 7;
  datetime TimeOfLastStateChange;
  uint16   AvailableRequestedStates[];
  uint16   TransitioningToState;
  string   SystemCreationClassName = "Msvm_ComputerSystem";
  string   SystemName;
  string   CreationClassName = "Msvm_HeartbeatComponent";
  string   DeviceID = "Microsoft:VMGUID\GUID";
  boolean  PowerManagementSupported;
  uint16   PowerManagementCapabilities[];
  uint16   Availability;
  uint16   StatusInfo;
  uint32   LastErrorCode;
  string   ErrorDescription;
  boolean  ErrorCleared;
  string   OtherIdentifyingInfo[];
  uint64   PowerOnHours;
  uint64   TotalPowerOnHours;
  string   IdentifyingDescriptions[];
  uint16   AdditionalAvailability[] = 6;
  uint64   MaxQuiesceTime;
};

Member

Die Msvm_HeartbeatComponent-Klasse verfügt über die folgenden Membertypen:

Methoden

Die Msvm_HeartbeatComponent-Klasse verfügt über diese Methoden.

Methode BESCHREIBUNG
EnableDevice Diese Methode wird nicht unterstützt.
OnlineGeräte Diese Methode wird nicht unterstützt.
QuiesceDevice Diese Methode wird nicht unterstützt.
RequestStateChange Fordert eine Zustandsänderung an.
Zurücksetzen Setzt das virtuelle Gerät zurück.
RestoreProperties Diese Methode wird nicht unterstützt.
SaveProperties Diese Methode wird nicht unterstützt.
SetPowerState Diese Methode wird nicht unterstützt.

Eigenschaften

Die Msvm_HeartbeatComponent-Klasse verfügt über diese Eigenschaften.

ZusätzlicheVerfügbarkeit

Datentyp: uint16-Array

Zugriffstyp: Schreibgeschützt

Alle zusätzlichen Verfügbarkeiten und status des Geräts. Diese Eigenschaft wird von CIM_LogicalDevice geerbt und ist immer auf 6 (nicht zutreffend) festgelegt.

Verfügbarkeit

Datentyp: uint16

Zugriffstyp: Schreibgeschützt

Die primäre Verfügbarkeit und status des Geräts. Diese Eigenschaft wird von CIM_LogicalDevice geerbt, aber nicht verwendet.

AvailableRequestedStates

Datentyp: uint16-Array

Zugriffstyp: Schreibgeschützt

Gibt die möglichen Werte für den RequestedState-Parameter der RequestStateChange-Methode an, die zum Initiieren einer Zustandsänderung verwendet wird. Die aufgeführten Werte sind eine Teilmenge der Werte, die in der RequestedStatesSupported-Eigenschaft des zugeordneten instance von CIM_EnabledLogicalElementCapabilities enthalten sind, wobei die ausgewählten Werte eine Funktion des aktuellen Zustands des CIM_EnabledLogicalElement sind. Diese Eigenschaft kann nicht Null sein, wenn eine Implementierung den Satz möglicher Werte als Funktion des aktuellen Zustands ankündigen kann. Diese Eigenschaft ist NULL , wenn eine Implementierung nicht in der Lage ist, den Satz möglicher Werte als Funktion des aktuellen Zustands zu bestimmen.

Diese Eigenschaft wird von CIM_EnabledLogicalElement geerbt.

Aktiviert (2)

Deaktiviert (3)

Herunterfahren (4)

Offline (6)

Test (7)

Zurückstellen (8)

Ruhe (9)

Neustart (10)

Zurücksetzen (11)

DMTF Reserved (.. )

Caption

Datentyp: Zeichenfolge

Zugriffstyp: Schreibgeschützt

Eine kurze Beschreibung des Objekts. Diese Eigenschaft wird von der CIM_ManagedElement-Klasse geerbt und ist immer auf "Heartbeat" festgelegt.

CommunicationStatus

Datentyp: uint16

Zugriffstyp: Schreibgeschützt

Gibt die Fähigkeit der Instrumentierung an, mit dem zugrunde liegenden verwalteten Element zu kommunizieren. Ein Null-Wert gibt an, dass diese Eigenschaft nicht implementiert ist. Diese Eigenschaft wird von CIM_ManagedSystemElement geerbt.

CreationClassName

Datentyp: Zeichenfolge

Zugriffstyp: Schreibgeschützt

Der Name der Erstellungsklasse des Bereichssystems. Diese Eigenschaft wird von CIM_LogicalDevice geerbt und ist immer auf "Msvm_HeartbeatComponent" festgelegt.

Beschreibung

Datentyp: Zeichenfolge

Zugriffstyp: Schreibgeschützt

Eine Beschreibung des -Objekts. Diese Eigenschaft wird von CIM_ManagedElement geerbt und ist immer auf "Microsoft Heartbeat Service" festgelegt.

DetailedStatus

Datentyp: uint16

Zugriffstyp: Schreibgeschützt

Ergänzt die PrimaryStatus-Eigenschaft mit zusätzlichen status Details. Ein Null-Wert gibt an, dass diese Eigenschaft nicht implementiert ist. Diese Eigenschaft wird von CIM_ManagedSystemElement geerbt.

DeviceID

Datentyp: Zeichenfolge

Zugriffstyp: Schreibgeschützt

Eine Adresse oder andere identifizierende Informationen, um das logische Gerät eindeutig zu benennen. Diese Eigenschaft wird von CIM_LogicalDevice geerbt und ist immer auf "Microsoft:VMGUID\GUID" festgelegt, wobei VMGUID die Name-Eigenschaft des diesem Gerät zugeordneten Msvm_ComputerSystem ist.

ElementName

Datentyp: Zeichenfolge

Zugriffstyp: Schreibgeschützt

Ein Anzeigename für das Objekt. Diese Eigenschaft wird von CIM_ManagedElement geerbt und ist immer auf "Heartbeat" festgelegt.

EnabledDefault

Datentyp: uint16

Zugriffstyp: Schreibgeschützt

Diese Eigenschaft wird von CIM_EnabledLogicalElement geerbt und ist immer auf 7 (kein Standard) festgelegt.

EnabledState

Datentyp: uint16

Zugriffstyp: Schreibgeschützt

Die aktivierten und deaktivierten Zustände eines Elements. Diese Eigenschaft wird von CIM_EnabledLogicalElement geerbt und ist einer der folgenden Werte.

Wert Bedeutung
Aktiviert
2
Das Element wird ausgeführt.
Disabled
3
Das Element ist deaktiviert.

ErrorCleared

Datentyp: Boolesch

Zugriffstyp: Schreibgeschützt

Gibt an, ob der in LastErrorCode gemeldete Fehler jetzt gelöscht wird. Diese Eigenschaft wird von CIM_LogicalDevice geerbt, aber nicht verwendet.

ErrorDescription

Datentyp: Zeichenfolge

Zugriffstyp: Schreibgeschützt

Eine Zeichenfolge, die weitere Informationen zu dem in LastErrorCode aufgezeichneten Fehler und Informationen zu möglichen Korrekturmaßnahmen bereitstellt. Diese Eigenschaft wird von CIM_LogicalDevice geerbt, aber nicht verwendet.

HealthState

Datentyp: uint16

Zugriffstyp: Schreibgeschützt

Die aktuelle Integrität des Elements. Diese Eigenschaft wird von CIM_ManagedSystemElement geerbt und ist immer auf 5 (OK) festgelegt.

IdentifyingDescriptions

Datentyp: Zeichenfolgenarray

Zugriffstyp: Schreibgeschützt

Ein Array von Freiformzeichenfolgen, die Erklärungen und Details hinter den Einträgen im OtherIdentifyingInfo-Eigenschaftsarray bereitstellen. Diese Eigenschaft wird von CIM_LogicalDevice geerbt, aber nicht verwendet.

InstallDate

Datentyp: datetime

Zugriffstyp: Schreibgeschützt

Datum und Uhrzeit der Installation des Integrationsdiensts auf dem virtuellen Computer. Diese Eigenschaft wird von CIM_ManagedSystemElement geerbt.

InstanceID

Datentyp: Zeichenfolge

Zugriffstyp: Schreibgeschützt

Qualifizierer: Schlüssel

Identifiziert eindeutig einen instance dieser Klasse. Diese Eigenschaft wird von CIM_ManagedElement geerbt.

LastErrorCode

Datentyp: uint32

Zugriffstyp: Schreibgeschützt

Der letzte Fehlercode, der vom logischen Gerät gemeldet wurde. Diese Eigenschaft wird von CIM_LogicalDevice geerbt, aber nicht verwendet.

MaxQuiesceTime

Datentyp: uint64

Zugriffstyp: Schreibgeschützt

Diese Eigenschaft ist veraltet. Diese Eigenschaft wird von CIM_LogicalDevice geerbt, aber nicht verwendet.

Name

Datentyp: Zeichenfolge

Zugriffstyp: Schreibgeschützt

Die Bezeichnung, unter der das Objekt bekannt ist. Diese Eigenschaft wird von CIM_ManagedSystemElement geerbt.

OperatingStatus

Datentyp: uint16

Zugriffstyp: Schreibgeschützt

Stellt aktuelle status Informationen für den Betriebszustand des Elements bereit und kann verwendet werden, um weitere Details in Bezug auf den Wert der EnabledState-Eigenschaft bereitzustellen. Ein Null-Wert gibt an, dass diese Eigenschaft nicht implementiert ist. Diese Eigenschaft wird von CIM_ManagedSystemElement geerbt.

OperationalStatus

Datentyp: uint16-Array

Zugriffstyp: Schreibgeschützt

Qualifizierer: Überschreiben ("OperationalStatus"), ArrayType ("Indexed")

Der aktuelle status des Elements. Diese Eigenschaft wird von CIM_ManagedSystemElement geerbt.

Im Folgenden sind die möglichen Werte für den Wert der OperationalStatus[0]-Eigenschaft aufgeführt.

OK (2)

Der Dienst funktioniert normal. Die Eigenschaftswerte OperationalStatus[1] und StatusDescriptions[1] enthalten möglicherweise weitere Informationen.

Beeinträchtigt (3)

Der Dienst funktioniert normal, aber der Gastdienst hat eine kompatible Kommunikationsprotokollversion ausgehandelt. Die Eigenschaftswerte OperationalStatus[1] und StatusDescriptions[1] enthalten möglicherweise weitere Informationen.

Nicht wiederherstellbarer Fehler (7)

Der Gast unterstützt keine kompatible Protokollversion. Die Eigenschaftswerte OperationalStatus[1] und StatusDescriptions[1] enthalten möglicherweise weitere Informationen.

Kein Kontakt (12)

Der Gastdienst ist nicht installiert oder wurde noch nicht kontaktiert.

Verlorene Kommunikation (13)

Der Gastdienst reagiert nicht mehr normal.

Angehalten (15)

Der virtuelle Computer wird angehalten.

Der OperationalStatus[1] -Eigenschaftswert gibt die zusammengefakteten Anwendungsstatuswerte an. Dies ist einer der folgenden Werte.

Hinweis

Der Zustand für eine Anwendung wird auf dem virtuellen Computer mit der SetApplicationState-Methode festgelegt.

OK (2)

Die Anwendungen, die auf dem virtuellen Computer ausgeführt werden, funktionieren normal.

Protokollkonflikt (32775)

Die Gast- und hostkomponenten führen unterschiedliche Protokollversionen aus.

Anwendungskritischer Zustand (32782)

Mindestens eine der Anwendungen innerhalb des virtuellen Computers befindet sich in einem kritischen Zustand.

Kommunikationstimeout (32783)

Timeout beim Warten auf eine Antwort von der Gastkomponente.

Kommunikationsfehler (32784)

Fehler bei der Kommunikation mit der Gastkomponente.

OtherEnabledState

Datentyp: string

Zugriffstyp: Schreibgeschützt

Eine Zeichenfolge, die den aktivierten oder deaktivierten Zustand des Elements beschreibt, wenn die EnabledState-Eigenschaft auf 1 (Sonstige) festgelegt ist. Diese Eigenschaft muss auf NULL festgelegt werden, wenn die EnabledState-Eigenschaft einen anderen Wert als 1 aufweist. Diese Eigenschaft wird von CIM_EnabledLogicalElement geerbt und immer auf Null festgelegt.

OtherIdentifyingInfo

Datentyp: Zeichenfolgenarray

Zugriffstyp: Schreibgeschützt

Alle zusätzlichen Daten, die über Geräte-ID-Informationen hinaus verwendet werden können, um ein logisches Gerät zu identifizieren. Diese Eigenschaft wird von CIM_LogicalDevice geerbt und immer auf Null festgelegt.

PowerManagementCapabilities

Datentyp: uint16-Array

Zugriffstyp: Schreibgeschützt

Die Energieverwaltungsfunktionen des Geräts. Diese Eigenschaft wird von CIM_LogicalDevice geerbt, aber nicht verwendet.

PowerManagementSupported

Datentyp: boolean

Zugriffstyp: Schreibgeschützt

Gibt an, ob das Gerät energieverwaltet werden kann. Diese Eigenschaft wird von CIM_LogicalDevice geerbt, aber nicht verwendet.

PowerOnHours

Datentyp: uint64

Zugriffstyp: Schreibgeschützt

Die Anzahl der aufeinanderfolgenden Stunden, die dieses Gerät seit dem letzten Einschalten eingeschaltet wurde. Diese Eigenschaft wird von CIM_LogicalDevice geerbt, aber nicht verwendet.

PrimaryStatus

Datentyp: uint16

Zugriffstyp: Schreibgeschützt

Stellt allgemeine status Informationen bereit. Diese Eigenschaft sollte in Verbindung mit der DetailedStatus-Eigenschaft verwendet werden, um allgemeine und detaillierte Integrität status Informationen für das Element und seine Unterkomponenten bereitzustellen. Ein Null-Wert gibt an, dass diese Eigenschaft nicht implementiert ist. Diese Eigenschaft wird von CIM_ManagedSystemElement geerbt.

RequestedState

Datentyp: uint16

Zugriffstyp: Schreibgeschützt

Der letzte angeforderte oder gewünschte Zustand für das Element. Diese Eigenschaft wird von CIM_EnabledLogicalElement geerbt und immer auf 12 (Nicht zutreffend) festgelegt.

Status

Datentyp: string

Zugriffstyp: Schreibgeschützt

Die aktuelle status des -Objekts. Diese Eigenschaft wird von CIM_ManagedSystemElement geerbt, aber nicht verwendet.

StatusBeschreibungen

Datentyp: Zeichenfolgenarray

Zugriffstyp: Schreibgeschützt

Zeichenfolgen, die die verschiedenen OperationalStatus-Arraywerte beschreiben. Diese Eigenschaft wird von CIM_ManagedSystemElement geerbt.

StatusInfo

Datentyp: uint16

Zugriffstyp: Schreibgeschützt

Der aktuelle Zustand des logischen Geräts. Diese Eigenschaft wird von CIM_LogicalDevice geerbt, aber nicht verwendet.

SystemCreationClassName

Datentyp: string

Zugriffstyp: Schreibgeschützt

Der Name der Erstellungsklasse des Bereichssystems. Diese Eigenschaft wird von CIM_LogicalDevice geerbt und ist immer auf "Msvm_ComputerSystem" festgelegt.

Systemname

Datentyp: string

Zugriffstyp: Schreibgeschützt

Der Name des Bereichssystems. Diese Eigenschaft wird von CIM_LogicalDevice geerbt und ist der Name der Msvm_ComputerSystem , die diesem Heartbeatdienst zugeordnet ist.

TimeOfLastStateChange

Datentyp: datetime

Zugriffstyp: Schreibgeschützt

Das Datum oder die Uhrzeit der letzten Änderung des aktivierten Zustands des Elements. Diese Eigenschaft wird von CIM_EnabledLogicalElement geerbt und immer auf Null festgelegt.

TotalPowerOnHours

Datentyp: uint64

Zugriffstyp: Schreibgeschützt

Die Gesamtzahl der Stunden, in denen dieses Gerät eingeschaltet wurde. Diese Eigenschaft wird von CIM_LogicalDevice geerbt, aber nicht verwendet.

TransitioningToState

Datentyp: uint16

Zugriffstyp: Schreibgeschützt

Gibt den Zielzustand an, in den die instance übergehen. Diese Eigenschaft wird von CIM_EnabledLogicalElement geerbt, aber nicht verwendet.

Bemerkungen

Der Zugriff auf die Msvm_HeartbeatComponent-Klasse kann durch UAC-Filterung eingeschränkt werden. Weitere Informationen finden Sie unter Benutzerkontensteuerung und WMI.

Beispiele

Im folgenden C#-Beispiel wird die Anwendungsintegrität status eines virtuellen Computers abgerufen. Die referenzierten Hilfsprogramme finden Sie unter Allgemeine Hilfsprogramme für die Virtualisierungsbeispiele (V2).

Wichtig

Um ordnungsgemäß zu funktionieren, muss der folgende Code mit Administratorrechten ausgeführt werden.

private UInt16 OperationalStatusOk = 2;
private UInt16 OperationalStatusApplicationCriticalState = 32782;

/// <summary>
/// Gets the applications status in the VM.
/// </summary>
/// <param name="hostMachine">The hostname of the machine on which
/// the VM is running.</param>
/// <param name="vmName">The VM name.</param>
public
void
GetAppHealthStatus(
    string hostMachine,
    string vmName
    )
{
    ManagementScope scope = new ManagementScope(
        @"\\" + hostMachine + @"\root\virtualization\v2", null);

    ManagementObject heartBeatComponent = null;

    // Get the VM object and its heart beat component.
    using (ManagementObject vm = WmiUtilities.GetVirtualMachine(vmName, scope))
    using (ManagementObjectCollection heartBeatCollection =
        vm.GetRelated("Msvm_HeartbeatComponent", "Msvm_SystemDevice",
            null, null, null, null, false, null))
    {
        foreach (ManagementObject element in heartBeatCollection)
        {
            heartBeatComponent = element;
            break;
        }
    }

    if (heartBeatComponent == null)
    {
        Console.WriteLine("The VM is not running.");
        return;
    }

    using (heartBeatComponent)
    {
        UInt16[] operationalStatus = (UInt16[])heartBeatComponent["OperationalStatus"];
        UInt16 vmStatus = operationalStatus[0];

        if (vmStatus != OperationalStatusOk)
        {
            Console.WriteLine("The VM heartbeat status is not OK");
            return;
        }

        if (operationalStatus.Length != 2)
        {
            Console.WriteLine("The required Integration Components are not running " +
                "or not installed.");
            return;
        }

        UInt16 appStatus = operationalStatus[1];
        if (appStatus == OperationalStatusOk)
        {
            Console.WriteLine("The VM applications health status: OK");
        }
        else if (appStatus == OperationalStatusApplicationCriticalState)
        {
            Console.WriteLine("The VM applications health status: Critical");
        }
        else
        {
            throw new ManagementException("Unknown application health status");
        }
    }
}

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows 8 [nur Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows Server 2012 [nur Desktop-Apps]
Namespace
Root\Virtualization\V2
MOF
WindowsVirtualization.V2.mof
DLL
Vmms.exe

Siehe auch

CIM_LogicalDevice

CIM_LogicalDevice

Msvm_HeartbeatComponent