WMI-Architektur

WMI stellt eine einheitliche Schnittstelle für alle lokalen oder Remoteanwendungen bzw. Skripts bereit, die Verwaltungsdaten von einem Computersystem, einem Netzwerk oder einem Unternehmen abrufen. Die einheitliche Schnittstelle ist so konzipiert, dass WMI-Clientanwendungen und -Skripts keine Vielzahl von Anwendungsprogrammierschnittstellen (Application Programming Interfaces, APIs) des Betriebssystems aufrufen müssen. Viele APIs können nicht von Automatisierungsclients wie Skripts oder Visual Basic-Anwendungen aufgerufen werden. Andere APIs führen keine Aufrufe an Remotecomputer aus.

Um Daten aus WMI abzurufen, schreiben Sie ein Clientskript oder eine Anwendung, das bzw. die auf WMI-Klassen zugreift, oder stellen Sie Daten für WMI bereit, indem Sie einen WMI-Anbieter schreiben. Weitere Informationen finden Sie unter Verwenden von WMI.

Objekte, Consumer und Infrastruktur von WMI

Das folgende Diagramm zeigt die Beziehung zwischen der WMI-Infrastruktur und den WMI-Anbietern und verwalteten Objekten sowie die Beziehung zwischen der WMI-Infrastruktur und den WMI-Consumern.

Beziehung zwischen WMI-Infrastruktur, WMI-Anbietern und verwalteten Objekten

WMI-Komponenten

In der folgenden Liste werden die wichtigsten WMI-Komponenten beschrieben:

  • Verwaltete Objekte und WMI-Anbieter

    Ein WMI-Anbieter ist ein COM-Objekt, das mindestens ein verwaltetes Objekt für WMI überwacht. Ein verwaltetes Objekt ist eine logische oder physische Unternehmenskomponente, z. B. Festplattenlaufwerk, Netzwerkadapter, Datenbanksystem, Betriebssystem, Prozess oder Dienst.

    Ähnlich wie bei einem Treiber stellt ein Anbieter WMI Daten aus einem verwalteten Objekt bereit und verarbeitet Nachrichten von WMI an das verwaltete Objekt. WMI-Anbieter bestehen aus einer DLL-Datei und einer MOF-Datei (Managed Object Format)), die die Klassen definiert, für die der Anbieter Daten zurückgibt und Vorgänge ausführt. Anbieter wie WMI-Anwendungen in C++ verwenden die COM-API für WMI. Weitere Informationen finden Sie unter Bereitstellen von Daten für WMI.

    Ein Beispiel für einen Anbieter ist der vorinstallierte Registrierungsanbieter, der auf Daten in der Systemregistrierung zugreift. Der Registrierungsanbieter verfügt über eine WMI-Klasse (StdRegProv) mit vielen Methoden, aber ohne Eigenschaften. Andere vorinstallierte Anbieter (z. B. der Win32-Anbieter) verfügen in der Regel über Klassen mit vielen Eigenschaften und wenigen Methoden (z. B. Win32_Process oder Win32_LogicalDisk). Die DLL-Datei des Registrierungsanbieters „Stdprov.dll“ enthält den Code, der dynamisch Daten zurückgibt, wenn sie von Clientskripts oder Anwendungen angefordert werden.

    WMI-MOF- und -DLL-Dateien befinden sich zusammen mit den WMI-Befehlszeilentools (z. B. Winmgmt.exe und Mofcomp.exe) im Verzeichnis „%WINDIR%\System32\Wbem“. Anbieterklassen wie Win32_LogicalDisk werden in MOF-Dateien definiert und beim Systemstart in das WMI-Repository kompiliert.

  • WMI-Infrastruktur

    Die WMI-Infrastruktur ist eine Komponente des Microsoft Windows-Betriebssystems, die als WMI-Dienst („winmgmt“) bezeichnet wird. Die WMI-Infrastruktur verfügt über zwei Komponenten: der WMI-Kern und das WMI-Repository.

    Das WMI-Repository ist nach WMI-Namespaces organisiert. Der WMI-Dienst erstellt einige Namespaces wie „root\default“, „root\cimv2“ und „root\subscription“ beim Systemstart und installiert einen Standardsatz von Klassendefinitionen. Dazu zählen u. a. die Win32-Klassen und die WMI-Systemklassen. Die übrigen Namespaces auf Ihrem System werden von Anbietern für andere Teile des Betriebssystems oder der Produkte erstellt. Weitere Informationen und eine Liste der WMI-Anbieter, die sich in den meisten Betriebssystemversionen befinden, finden Sie unter WMI-Anbieter.

    Der WMI-Dienst fungiert als Vermittler zwischen Anbietern, Verwaltungsanwendungen und WMI-Repository. Im Repository werden nur statische Daten zu Objekten (z. B. die von Anbietern definierten Klassen) gespeichert. WMI ruft die meisten Daten dynamisch vom Anbieter ab, wenn ein Client sie anfordert. Sie können auch Abonnements einrichten, um Ereignisbenachrichtigungen von einem Anbieter zu empfangen. Weitere Informationen finden Sie unter Überwachen von Ereignissen.

  • WMI-Consumer

    Ein WMI-Consumer ist eine Verwaltungsanwendung oder ein Skript, das mit der WMI-Infrastruktur interagiert. Eine Verwaltungsanwendung kann abfragen, Daten aufzählen, Anbietermethoden ausführen oder Ereignisse abonnieren, indem sie entweder die COM-API für WMI oder die Skript-API für WMI aufruft. Für ein verwaltetes Objekt (z. B. Datenträgerlaufwerk oder Dienst) sind nur die Daten oder Aktionen verfügbar, die von einem Anbieter bereitgestellt werden.

Verwenden von WMI

WMI-Anbieter

Erstellen einer WMI-Anwendung oder eines Skripts

WMI-Aufgaben für Skripts und Anwendungen

Bereitstellen von Daten für WMI

WMI-Klassen

Überwachen von Ereignissen

Aufrufen einer Methode