about_WMI

Letzte Aktualisierung: Mai 2014

Betrifft: Windows PowerShell 2.0, Windows PowerShell 3.0, Windows PowerShell 4.0, Windows PowerShell 5.0

THEMA

about_WMI

KURZE BESCHREIBUNG

Windows Management Instrumentation (WMI) verwendet das Common Information Model (CIM) zur Darstellung der Systeme, Anwendungen, Netzwerke, Geräte und anderen verwaltbaren Komponenten heutiger Unternehmen.

LANGE BESCHREIBUNG

Windows Management Instrumentation (WMI) ist Microsofts Implementierung des Branchenstandards Web-Based Enterprise Management (WBEM).

Das klassische WMI verwendet für die Verwaltung von Remotesystemen DCOM zur Kommunikation mit Netzwerkgeräten. Windows PowerShell®3.0 führt ein CIM-Anbietermodell mit WinRM ein, durch das die Abhängigkeit von DCOM entfällt. Dieses CIM-Anbietermodell stellt darüber hinaus neue WMI-Anbieter-APIs bereit, mit denen Entwickler Windows PowerShell-Cmdlets in der systemeigenen Programmiersprache (C++) schreiben können.

Verwechseln Sie WMI-Anbieter nicht mit Windows PowerShell-Anbietern. Viele Windows-Funktionen verfügen über einen dedizierten WMI-Anbieter, über den die Managementfeatures dieser Funktionen bereitgestellt werden. Zum Abrufen der WMI-Anbieter führen Sie wie im folgenden Beispiel eine WMI-Abfrage aus, die die Instanzen der WMI-Klasse __Provider abruft:

        Get-WmiObject -Class __Provider

DREI WMI-KOMPONENTEN

Die folgenden drei Komponenten von WMI interagieren mit Windows PowerShell: Namespaces, Anbieter und Klassen.

WMI-Namespaces fassen WMI-Anbieter und WMI-Klassen zu Gruppen verwandter Komponenten zusammen. Sie sind in dieser Hinsicht .NET Framework-Namespaces ähnlich. Bei Namespaces handelt es sich weniger um physische Standorte, denn um logische Datenbanken. Alle WMI-Namespaces sind Instanzen der Systemklasse __Namespace. Der WMI-Standardnamespace ist Root/CIMV2 (seit Microsoft Windows 2000). Zum Abrufen der WMI-Namespaces der aktuellen Sitzung mit Windows PowerShell verwenden Sie einen Befehl mit folgendem Format.

        Get-WmiObject -Class __Namespace

Zum Abrufen der WMI-Namespaces aus anderen Namespaces ändern Sie den durchsuchten Ort mit dem Parameter Namespace. Der folgende Befehl sucht WMI-Namespaces im Namespace Root/Cimv2/Applications.

        Get-WmiObject -Class __Namespace -Namespace 
        root/CIMv2/applications

WMI-Namespaces sind hierarchisch aufgebaut. Zum Abrufen einer Liste aller Namespaces eines bestimmten Systems müssen Sie daher eine rekursive Abfrage beginnend beim Stamm-Namespace ausführen.

WMI-Anbieter stellen Informationen zu mit Windows verwaltbaren Objekten bereit. Ein Anbieter ruft Daten aus einer Komponente ab und übergibt diese Daten über WMI an eine Verwaltungsanwendung wie Windows PowerShell. Bei den meisten WMI-Anbietern handelt es sich um dynamische Anbieter, d. h., sie erhalten ihre Daten dynamisch auf Anforderung durch die Verwaltungsanwendung.

SUCHEN VON WMI-KLASSEN

In einer Standardinstallation von Windows 8 enthält der Namespace Root/Cimv2 mehr als 1.100 WMI-Klassen. Die Herausforderung bei einem solchen Angebot an WMI-Klassen besteht darin, diejenige Klasse zu finden, die sich für eine bestimmte Aufgabe am besten eignet. Windows PowerShell 3.0 bietet zwei Möglichkeiten für die Ermittlung von WMI-Klassen für ein bestimmtes Thema.

Um zum Beispiel die WMI-Klassen im Namespace root\CIMV2 WMI zu ermitteln, die mit Datenträgern zu tun haben, können Sie eine Abfrage wie die folgende verwenden.

        Get-WmiObject -List *disk*

Um WMI-Klassen zu finden, die sich auf den Arbeitsspeicher beziehen, können Sie folgende Abfrage verwenden.

        Get-WmiObject -List *memory*

Auch die CIM-Cmdlets bieten Features zur Ermittlung von WMI-Klassen. Sie verwenden hierzu das Cmdlet Get-CIMClass. Der nachfolgend gezeigte Befehl listet die WMI-Klassen für Video auf.

        Get-CimClass *video*

Die Erweiterung der Anzeige mittels der Tabulatortaste funktioniert auch bei der Änderung von WMI-Namespaces, weshalb auch nachgelagerte WMI-Namespaces leicht zu finden sind. Im folgenden Beispiel listet das Cmdlet Get-CimClass die WMI-Klassen zu den Energieoptionen auf. Den betreffenden Namespace finden Sie, indem Sie den WMI-Namespace root/CIMV2/ eingeben und danach mehrmals die Tabulatortaste drücken, bis der Namespace Power angezeigt wird. Hier sehen Sie den Befehl:

        Get-CimClass *power* -Namespace root/cimv2/power