Teilen über


Allgemeines Informationsmodell

Das Common Information Model (CIM) ist ein erweiterbares, objektorientiertes Datenmodell, das Informationen zu verschiedenen Teilen eines Unternehmens enthält. Die CIM ist ein plattformübergreifender Standard, der von der Distributed Management Task Force verwaltet wird (DMTF). Über WMI kann ein Entwickler die CIM verwenden, um Klassen zu erstellen, die Festplatten, Anwendungen, Netzwerkrouter oder sogar benutzerdefinierte Technologien darstellen, z. B. eine vernetzte Klimaanlage. Durch Anzeigen und Vornehmen von Änderungen an einer CIM-Klasse kann ein Manager verschiedene Aspekte des Unternehmens steuern. Beispielsweise könnte ein Manager eine CIM-Klasseninstanz abfragen, die eine Desktoparbeitsstation darstellt. Der Manager kann dann ein Skript ausführen, um die CIM-Arbeitsstationsinstanz zu ändern. WMI würde jede Änderung der CIM-Klasseninstanz der Arbeitsstation in eine Änderung an der tatsächlichen Arbeitsstation übersetzen.

Das CIM ist ein sprachunabhängiges Programmiermodell, das objektorientierte Techniken verwendet, um ein Unternehmen zu beschreiben. Mit drei Ebenen der Vererbung von übergeordneten/untergeordneten Elementen kann das CIM sowohl allgemeine als auch spezifische Aspekte eines Unternehmens beschreiben. Die CIM verwendet auch eine Technik namens "Zuordnung", um verschiedene Teile des Unternehmensmodells miteinander zu verknüpfen, und verwendet Schemas, um unterschiedliche Verwaltungsumgebungen zu unterscheiden.

Das CIM ist darauf ausgelegt, eine einheitliche Sicht auf logische und physische Objekte in einer Verwaltungsumgebung darzustellen. Das CIM stellt verwaltete Objekte mithilfe eines objektorientierten Konstrukts dar, das als "Klasse" bezeichnet wird. Wie eine C++- oder COM-Klasse kann eine CIM-Klasse Eigenschaften enthalten, um Daten und Methoden zur Beschreibung des Verhaltens zu beschreiben. Wie eine Reihe von COM-Klassen ist die CIM nicht an eine Plattform gebunden. WMI enthält jedoch eine Erweiterung des CIM, die die Microsoft Windows-Betriebssystemplattformen beschreibt.

Das CIM definiert drei Klassenebenen:

  • Kern

    Kernklassen stellen verwaltete Objekte dar, die für alle Verwaltungsbereiche gelten. Diese Klassen bieten ein grundlegendes Vokabular zum Analysieren und Beschreiben verwalteter Systeme. Die klassen __Parameters und __SystemSecurity sind Beispiele für Kernklassen.

  • Gemeinsam

    Allgemeine Klassen stellen verwaltete Objekte dar, die für bestimmte Verwaltungsbereiche gelten. Allgemeine Klassen sind jedoch unabhängig von einer bestimmten Implementierung oder Technologie. Allgemeine Klassen sind eine Erweiterung der Kernklassen. Die CIM_UnitaryComputerSystem-Klasse ist ein Beispiel für eine allgemeine Klasse.

  • Ausgedehnt

    Erweiterte Klassen stellen verwaltete Objekte dar, die technologiespezifische Ergänzungen der allgemeinen Klassen sind. Eine erweiterte Klasse gilt in der Regel für eine bestimmte Plattform, z. B. UNIX oder die Microsoft Win32-Umgebung. Die Win32_ComputerSystem-Klasse ist ein Beispiel für eine erweiterte Klasse.

Ein Entwickler kann eine Klasse von einer anderen Klasse ableiten. Eine abgeleitete Klasse stellt einen Sonderfall der übergeordneten Klasse dar und erbt alle Eigenschaften und Methoden des übergeordneten Elements. Beispielsweise erbt Win32_ComputerSystem von CIM_UnitaryComputerSystem. Vererbungsbeziehungen können mithilfe der Systemeigenschaften __Derivation, __Dynastyund __SuperClassbestimmt werden. Die __Derivation Systemeigenschaft ist ein Array von Zeichenfolgen, die die gesamte Vererbungskette bis einschließlich der Stammklasse auflisten, die auch in __Dynastyenthalten ist. Die __SuperClass Systemeigenschaft zeigt das direkte übergeordnete Element der aktuellen Klasse an.

WMI unterstützt auch Zuordnungen. Eine Zuordnung ist eine Beziehung zwischen zwei oder mehr verschiedenen WMI-Klassen. Beispielsweise verfügt eine ausgeführte Arbeitsstation in der Regel über einen Prozessor. Die WMI-Zuordnungsklasse Win32_ComputerSystemProcessor ordnet die Arbeitsstationsklasse Win32_ComputerSystem der Prozessorklasse Win32_Processorzu. Eine Zuordnungsklasse muss jedoch nicht zwei abhängige Klassen miteinander verknüpfen. Tatsächlich besteht der Hauptzweck einer Zuordnungsklasse darin, Beziehungen zwischen Klassen anzuzeigen, die nicht unbedingt voneinander abhängig sind. Weitere Informationen finden Sie unter Deklarieren einer Zuordnungsklasse.

Schließlich unterstützt WMI das Konzept von Schemas. Im Kontext von WMI ist ein Schema eine Gruppe von Klassen, die eine bestimmte Verwaltungsumgebung beschreiben. Das Microsoft Windows Software Development Kit (SDK) verwendet zwei Schemas: das CIM-Schema und das Win32-Schema. Die CIM-Schemaklassennamen beginnen mit CIM_, und die Win32-Schemaklassennamen beginnen mit Win32_. Das CIM-Schema enthält die Definitionen für die Kern- und allgemeinen Klassen, während das Win32-Schema die Definitionen für die erweiterten Klassen enthält, die für die Win32-Umgebung gemeinsam sind. Ein Drittanbieter kann jedoch eigene Schemas erstellen, um anbieterspezifische Anforderungen zu beschreiben. Da Schemas so konzipiert sind, dass sie unbegrenzt erweiterbar sind, kann ein Entwickler immer neue Klassen hinzufügen, um neue verwaltete Objekte in einer vorhandenen Umgebung zu beschreiben. Aus Gründen der Einfachheit entscheiden sich die meisten Anbieter jedoch dafür, Schemas zu erstellen, die Eigenschaften von den CIM- oder Win32-Schemas erben.