Freigeben über


System.Management-Namespace und System.Management.Instrumentation-Namespace

Der System.Management-Namespace ist das Objektmodell für Verwaltungselemente in .NET Framework. Der System.Management-Namespace integriert Verwaltungsdienste eng in die .NET Framework-Anwendungen und Entwicklungstools, um .NET Framework-Anwendungen besser verwaltbar zu machen. Dies erfolgt, indem den .NET Framework-Entwicklern Funktionen zur Überwachung der Fehlerfreiheit sowie zur Fehlerbehebung in Unternehmensumgebungen zur Verfügung gestellt werden. Anwendungen können außerdem durch die zahlreichen Verwaltungsanwendungen von Drittanbietern sowie durch benutzerdefinierte Konsolen verwaltet werden, die problemlos von IT-Unternehmen geschrieben werden können, die sich mit System.Management beschäftigen.

Die folgende Abbildung zeigt die drei WMI-Ebenen und veranschaulicht, wie System.Management auf WMI aufbaut: Microsoft Windows Forms (Windows Forms), Web Forms/ASP.NET und Verwaltungsanwendungen können sich wie Clients verhalten, die auf die WMI-Instrumentation zugreifen. Bei Verwaltungsprovidern kann es sich entweder um vorhandenen Code, um eine Anwendungsinstrumentation oder um Windows Forms und Web Forms-/ASP.NET-Seitenframeworkanwendungen handeln, die Verwaltungsinstrumentationen für sich selbst oder für andere Clients offen legen.

Die WMI-Architektur in .NET Framework

Der System.Management-Namespace stellt eine Reihe von Klassen mit verwaltetem Code bereit, über die es .NET Framework-Anwendungen möglich ist, auf Verwaltungsinformationen zuzugreifen bzw. Verwaltungsinformationen zu bearbeiten, die in einer beliebigen Quelle (z. B. Windows, systemeigene, mit WMI instrumentierte Anwendungen sowie mit System.Management.Instrumentation instrumentierter verwalteter Code) enthalten sind. Der Einfachheit halber werden die Klassen im System.Management-Namespace zeitweise auch als WMI-Client-API bezeichnet, aber dies ist keineswegs die einzige Möglichkeit für den Zugriff auf WMI. Entwickler können sich auch anderer Technologien für den Zugriff auf WMI bedienen, so z. B. systemeigener WMI-COM-Schnittstellen (so genannte IWbem-Schnittstellen) oder automatisierungskompatibler WMI-Objekte (so genannte SWbemScripting-Objekte). Wenn eine traditionelle oder eine auf Windows Forms oder Web Forms basierende Verwaltungsanwendung eine Netzwerkverbindung konfigurieren, den Status eines IIS-Servers überprüfen oder feststellen muss, über wie viel freien Speicher ein Computer verfügt, kann mit Hilfe einiger Codezeilen auf die relevanten Daten zugegriffen werden (siehe Abbildung). Dies gilt auch für viele andere Verwaltungsaufgaben.

Diese Funktionsweise wird von einer Reihe von WMI-Tools unterstützt, die in die Entwicklungsumgebung von Microsoft Visual Studio .NET integriert sind. So kann beispielsweise die Verwaltungserweiterung des Visual Studio .NET-Server-Explorers (downloadbar unter https://www.microsoft.com/downloads/release.asp?ReleaseID=31155) verwendet werden, um die Entwicklung von verwaltungsfähigen Anwendungen zu unterstützen.

In ähnlicher Weise ist auch die System.Management.Instrumentation nur eine von verschiedenen Möglichkeiten, Informationen über WMI zu übermitteln. Die zwei Namespaces sind in keiner Weise voneinander abhängig. Anders gesagt, wenn Sie Informationen mit System.Management.Instrumentation bereitstellen, wird dadurch die Sichtbarkeit der Instrumentation nicht auf die System.Management-Klassen beschränkt. Die Verwendung der System.Management-Klassen ermöglicht Ihnen nicht nur den Zugriff auf die Instrumentation, die mit Hilfe von System.Management.Instrumentation geschrieben wurde, sondern auf alle WMI-Informationen.

Derzeitige Einschränkungen

Die aktuelle Version von System.Management.Instrumentation unterstützt die folgenden WMI-Features nicht. Beachten Sie, dass diese Einschränkung nur für mit verwaltetem Code instrumentierte Objekte gilt. Objects exposed through native C++ WMI providers can still expose these features, which will be accessible from managed code through System.Management classes.

  • Instrumentierte Objekte können keine schreibbaren Eigenschaften oder Methoden offen legen.
  • Die Erstellung von Qualifizierern wird für instrumentierte Objekte nicht unterstützt.
  • Eigenschaften von instrumentierten Objekten können nicht als Schlüssel definiert werden.

Siehe auch

Zugreifen auf Verwaltungsdaten mit Hilfe von System.Management | Instrumentieren von .NET Framework-Anwendungen mit System.Management | Schemas | Abfragen | Verwaltungsereignisse