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