Das Framework für Verwaltungsinformationen und -aktivitäten auf Windows-basierten Betriebssystemen wird Windows Management Instrumentation (WMI) genannt.
WMI liefert auch Verwaltungsdaten für andere Komponenten des Betriebssystems und Produkte wie SCOM (System Center Operations Manager) oder Windows Remote Management.
Was ist die Windows-Verwaltungsinstrumentierung (WMI)?
WMI ist eine Plattform für die Verwaltung und Überwachung des Betriebssystems und anderer Microsoft-Anwendungen und -Dienste auf Personal Computern, Servern und anderen Netzwerkgeräten.
WMI bietet eine umfassende, skalierbare und einfach zu bedienende Programmierschnittstelle, die einen programmatischen Zugriff auf Informationen und Dienste auf von Microsoft verwalteten Computern und anderen Netzwerkgeräten ermöglicht.
Es wird verwendet, um das Betriebssystem, die Dienste und Anwendungen auf dem Computer sowie die Registrierungs- und Dateisystemdaten zu ermitteln und zu überwachen. Es wird auch zur Erstellung und Verwaltung von Skripten und Programmen verwendet, die die Verwaltung und Administration des Computers automatisieren.
Es verwendet die Programmiersprache WQL (Windows Query Language), um Informationen abzufragen und Operationen auf dem Betriebssystem, Computern und Geräten durchzuführen.
Es ermöglicht Ihnen auch den Zugriff auf PowerShell, eines der leistungsfähigsten und flexibelsten Verwaltungstools für Windows, mit dem Sie Automatisierungsskripte erstellen können.
Außerdem können Sie mit WMI benutzerdefinierte Anwendungen erstellen, die zusätzliche Funktionen für die Verwaltung und Administration von Windows-Systemen und -Anwendungen bieten.
Benutzer, die den Zustand ihrer Rechner überwachen, grundlegende Fehlerbehebungen durchführen und Leistungsdaten sammeln müssen, werden WMI sehr nützlich finden.
Was ist der Zweck von WMI?
WMI ist in einem Windows-Unternehmensnetzwerk nützlich, weil es den Betrieb und die Verwaltung von Unternehmensnetzwerkkomponenten vereinfacht, indem es Daten zur weiteren Verbesserung und Skalierbarkeit an andere Produkte weitergibt.
Der Zweck von WMI besteht darin, ein einheitliches Management-Framework für alle Aspekte eines Windows-Systems bereitzustellen, wie z.B.:
- Komponenten des Betriebssystems
- Prozesse und Threads
- Dienste
- Geräte
- Treiber
- Anwendungen
- Benutzerkonten
- Sicherheitseinstellungen
Der Zweck der WMI-Erfindung führt zu einer Reduzierung der Kosten und des Zeitaufwands bei Betrieb und Entwicklung von Windows-Systemen. WMI ermöglicht es Ihnen außerdem, Systemereignisse zu überwachen und Leistungsdaten zu sammeln. Diese Daten können zur Fehlerbehebung oder zur Verfolgung von Trends im Laufe der Zeit verwendet werden.
WMI wird am häufigsten verwendet, um administrative Aufgaben zu automatisieren und Zugriff auf Daten zu erhalten, ohne direkt mit dem Betriebssystem zu arbeiten. Daher ist WMI eine fantastische Alternative für Administratoren und Softwareentwickler, die zeitaufwändige Prozesse automatisieren müssen.
Von der Überwachung der Systemleistung bis hin zur Erfassung von Anwendungsdaten ist damit alles möglich. Es ermöglicht Entwicklern, intelligentere Anwendungen zu erstellen, und sorgt gleichzeitig dafür, dass IT-Administratoren ihre Aufgaben mit minimalem Aufwand erledigen können.
WMI bietet eine Referenzimplementierung für den Zugriff auf Systeminformationen und ist ein wichtiges Werkzeug für die Verwaltung und Überwachung von Windows-Systemen. Es ist der Grundstein für Azure Machine Learning und AzureML und wird für eine Vielzahl von Drittanbieterprodukten verwendet.
Verwendung von WMI
Windows Management Instrumentation (WMI) ist Microsofts Umsetzung von Web-Based Enterprise Management (WBEM), einer Brancheninitiative zur Entwicklung standardisierter Technologien für den Zugriff auf Informationen zur Unternehmensführung.
WMI repräsentiert Systeme, Anwendungen, Netzwerke, Geräte und andere verwaltete Komponenten unter Verwendung des Industriestandards Common Information Model (CIM). Die Distributed Management Task Force (DMTF) erstellt und pflegt CIM.
Das WMI-Design ist vielseitig und unterstützt eine breite Palette von Verwaltungs- und Managementaufgaben. Außerdem bietet es eine flexible und erweiterbare Architektur, die es Herstellern ermöglicht, neue WMI-Anbieter zu schreiben, um neue Geräte, Anwendungen und andere Weiterentwicklungen zu unterstützen.
Weitere Einsatzmöglichkeiten sind:
- Umfassende Verwaltung von Windows-Betriebssystemen und Microsoft-Netzwerkgeräten und -diensten.
- Es kann verwendet werden, um Remote-Computer für den Zugriff auf WMI-Daten zu verbinden
- Ermittelt Informationen über das System, z.B. welche Programme laufen und welche Dienste eingerichtet sind.
- Zum Abrufen von Informationen über Hardwarespezifikationen und zum Ausführen von Aktionen wie dem Herunterfahren oder Neustarten des Systems.
- Starten von Anwendungen, Starten, Anhalten, Konfigurieren von Diensten und Zugriff auf Daten.
- Entwickler von Verwaltungsanwendungen können diese API verwenden, um Skripts in Visual Basic oder Windows Scripting Host (WSH) zu erstellen.
WMI-Architektur
WMI (Windows Management Instrumentation) ist eine Microsoft-Technologie, die erstmals in Windows 2000 vorgestellt wurde. Sie ermöglicht es Programmierern, Verwaltungsprogramme zu erstellen, die mit jedem System arbeiten, das WMI unterstützt.
Schauen wir uns die Architektur und Terminologie von WMI an.
Der Ablauf der WMI-Architektur beginnt mit Objekten: Eine Komponente wie eine Festplatte, eine Netzwerkkarte, ein Betriebssystem oder ein Dienst ist ein verwaltetes Objekt (das über WMI verwaltet werden kann). Die WMI-Infrastruktur empfängt Daten von einem Objekt über einen Provider. Er liefert und empfängt Nachrichten von WMI und übergibt sie an das Objekt.
Ein WMI-Anbieter umfasst eine DLL und eine MOF-Datei (Managed Object Format), die Ereignisse und Daten von Objekten überwacht. WMI kategorisiert Provider nach der Funktionalität, die von der Schnittstelle des Providers bereitgestellt wird.
Es gibt zahlreiche integrierte WMI-Anbieter in Windows, darunter ein Active Directory-Anbieter, ein Boot Configuration Data (BCD) WMI-Anbieter, ein Distributed File System (DFS) Anbieter, ein Event Log-Anbieter, ein Hyper-V WMI-Anbieter, ein Win32-Anbieter, ein Registry-Anbieter und ein SNMP-Anbieter.
Die WMI-Infrastruktur ist eine Komponente des Microsoft Windows-Betriebssystems, die als WMI-Dienst (winmgmt) bekannt ist. Der WMI-Kern und das WMI-Repository sind die beiden Teile der WMI-Infrastruktur.
Das WMI Repository ist ein hierarchischer Datenspeicher, der nach WMI-Namensräumen organisiert ist und oft als Common Information Model (CIM) bezeichnet wird. Der WMI-Dienst richtet beim Systemstart eine Reihe von Namespaces ein, darunter root default, rootcimv2 und root subscription.
Darüber hinaus erzeugt der Dienst einen Standardsatz von Klassendefinitionen, der die Win32- und WMI-Systemklassen enthält. Weitere WMI-Namensräume können von zusätzlichen WMI-Anbietern erstellt werden, und jeder Namensraum enthält mehrere WMI-Objekte.
Der WMI-Dienst fungiert als Vermittler zwischen den Anbietern, den Verwaltungsanwendungen und dem WMI-Repository. Im Repository werden nur statische Daten über Objekte gespeichert, wie z.B. die von Providern definierten Klassen. WMI bezieht die meisten Daten dynamisch vom Anbieter, wenn ein Client sie anfordert.
Ein WMI-Konsument ist eine Verwaltungsanwendung oder ein Skript, das mit der WMI-Infrastruktur kommuniziert. Mit Hilfe der COM API für WMI oder der Scripting API für WMI kann ein Verwaltungsprogramm Daten abfragen, auflisten, Provider-Methoden ausführen und Ereignisse abonnieren.
WMI schafft eine standardisierte Schnittstelle für den Fernzugriff und den lokalen Abruf von Verwaltungsdaten. Die einheitliche Schnittstelle abstrahiert von den Anwendungsprogrammierschnittstellen (APIs) des Betriebssystems. Dadurch können Anwendungen und Skripte Verwaltungsdaten sammeln, ohne die API des Betriebssystems kennen zu müssen.
Wie führt man eine WMI-Abfrage aus?
Ein Merkmal der Vielseitigkeit der WMI-Plattform ist die Möglichkeit, ihr Repository abzufragen, um Details zu den Klassen-, Instanz- oder Schemadaten zu erhalten. Diese Metriken sind mit dem Inventar von lokalen und entfernten Systemen, Betriebssystemen, Software und anderen Verwaltungsaktivitäten verbunden.
Art der Abfragen
Im Großen und Ganzen gibt es zwei Arten von Abfragen, die zum Abrufen von Informationen aus dem WMI-Repository verwendet werden:
Synchrone Abfrage: Es handelt sich um eine Abfrage, bei der Sie während der gesamten Abfrage die Kontrolle über den Betrieb Ihrer Anwendung behalten. Sie ist einfacher als ein asynchroner Aufruf, da sie nur einen einzigen Schnittstellenaufruf erfordert. Bei umfangreichen Suchvorgängen oder netzwerkbasierten Abfragen kann es jedoch zum Einfrieren Ihrer Anwendung kommen.
Asynchrone Abfrage: Wenn die Geschwindigkeit eines Systems oder Netzwerks durch die Abfrage einer großen Gruppe von Daten beeinträchtigt wird, ist eine asynchrone Abfrage vorzuziehen.
WQL (WMI-Abfragesprache)
Eine der beliebtesten Methoden zur Abfrage von WMI ist die WMI-Abfragesprache.
SQL (Structured Query Language) wird in der Datenbankumgebung verwendet und WQL wird in WMI eingesetzt. Beide haben eine ähnliche Syntaxstruktur.
Select, From und Where sind die grundlegenden WQL-Anweisungen, die zum Starten der Abfrage verwendet werden.
Eine typische WMI-Abfrage beginnt mit der Auswahl aller Eigenschaften einer WMI-Klasse mithilfe des Befehls “Select”. Das Sternchen (“*”) wird verwendet, um jede Eigenschaft einer WMI-Klasse auszuwählen. Mit dem Schlüsselwort “From” können Sie die WMI-Klasse angeben, die nach der Auswahl der Eigenschaften abgefragt werden soll (eine oder mehrere Eigenschaften oder alle). Die genaue Syntax entnehmen Sie bitte dem SQL Cheatsheet.
WQL kann über den WMI Tester (wbemtest.exe) ausgeführt werden, der standardmäßig mit dem Windows-Betriebssystem installiert ist. WMI-Abfragen können auch über Windows PowerShell, VBScript und die Sprache C ausgeführt werden.
Art der WQL-Abfragen
Die WQL-Abfragen werden verwendet, um drei verschiedene Arten von Informationen zu erhalten.
Objekt-Abfragen: Mit diesen Abfragen lassen sich Informationen über Windows-Systemressourcen abrufen.
Ereignisabfragen: Diese Abfragen werden verwendet, um Änderungen in Ereignisprotokollen, die Initiierung von Prozessen, den Status von Diensten, die Verfügbarkeit von Computern oder die Menge an freiem Speicherplatz zu verfolgen, neben anderen Entitäten oder Ereignissen.
Schema-Abfragen: Diese Abfragen werden verwendet, um Details über die Struktur des WMI-Schemas zu erhalten.
Ausführen einer Abfrage
Schauen wir uns an, wie Sie eine Objektabfrage ausführen.
Die folgende Methode beschreibt, wie Sie WIN_32-Prozesse auf einem lokalen System überprüfen können.
Das Tool WMI Tester wird über die Befehlszeile ausgeführt, indem Sie wbemtest.exe eingeben.
Daraufhin wird das folgende Fenster angezeigt.
Um eine Verbindung zu dem WMI-Namensraum herzustellen, der die Klasse enthält, die Sie abfragen möchten(
in den meisten FällenRoot\Cimv2
): Klicken Sie auf die Registerkarte Verbinden.
Um die Abfrage auszuführen, klicken Sie auf die Registerkarte ‘Abfrage’, wie unten gezeigt:
Geben Sie dann die Abfrage ein, für die Sie die Informationen abrufen möchten. Lassen Sie uns zum Beispiel alle Prozesse abrufen, die auf dem lokalen System laufen, indem wir ausführen:
select * From Win32_process
Nachdem Sie auf die Registerkarte Anwenden geklickt haben, erhalten Sie die folgenden Ergebnisse
Die oben beschriebene GUI-basierte Ausführung kann auch an der Eingabeaufforderung über die PowerShell durchgeführt werden:
In der PowerShell-Plattform wird zum Abrufen der Liste aller win_32-Prozesse der folgende Code verwendet:
Get-WmiObject -Class Win32_Process
Um alle PowerShell-Abfrageparameter zu erhalten, besuchen Sie die Seite Microsoft PowerShell Management.
Um diese Abfrage in den Sprachen VBScript und C auszuführen, finden Sie auf der Microsoft-Dokumentationsseite vollständige Informationen.
Eine andere Methode zur Abfrage des WMI-Repositorys ist der WMIC-Befehl:
- Führen Sie CMD in einer Eingabeaufforderung aus
- Geben Sie WMIC ein und bestätigen Sie, um das Programm zu starten
- Die Eingabeaufforderung ändert sich dann in
wmic:root\cli>
Admins können von dieser Eingabeaufforderung aus WMI-Abfragen starten.
Um zum Beispiel CPU-Informationen eines lokalen Systems zu laden, lautet der Befehl:
wmic:root\cli> WMIC CPU
Die Ergebnisse/Informationen werden in der Befehlszeile angezeigt.
AddressWidth Architecture AssetTag Availability Caption Characteristics ConfigManagerErrorCode ConfigManagerUserConfig CpuStatus CreationClassName CurrentClockSpeed CurrentVoltage DataWidth Beschreibung DeviceID ErrorCleared ErrorDescription ExtClock Family InstallDate L2CacheSize L2CacheSpeed L3CacheSize L3CacheSpeed LastErrorCode Level LoadPercentage Manufacturer MaxClockSpeed Name NumberOfCores NumberOfEnabledCore NumberOfLogicalProcessors OtherFamilyDescription PartNumber PNPDeviceID PowerManagementCapabilities PowerManagementSupported ProcessorId ProcessorType Revision Role SecondLevelAddressTranslationExtensions SerialNumber SocketDesignation Status StatusInfo Stepping SystemCreationClassName SystemName ThreadCount UniqueId UpgradeMethod Version VirtualizationFirmwareEnabled VMMonitorModeExtensions VoltageCaps
64 9 Von O.E.M. zu befüllen 3 Intel64 Familie 6 Modell 142 Stepping 10 252 1 Win32_Processor 1801 7 64 Intel64 Familie 6 Modell 142 Stepping 10 CPU0 100 205 1024 6144 0 6 31 GenuineIntel 1801 Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz 4 4 8 Wird von O.E.M. ausgefüllt FALSE BFEBFBFF000806EA 3 CPU TRUE Wird von O.E.M. ausgefüllt U3E1 OK 3 Win32_ComputerSystem RENEE-HP 8 51 FALSE TRUE
Weitere Informationen über WMIC Alias und Verben finden Sie unter Microsoft wmic.
FAQs über WMI
Die verwendeten Ports sind 49152 und 65535. Das Distributed Component Object Model (DCOM), auf dem WMI basiert, verwendet standardmäßig einen zufällig gewählten TCP-Port für Verbindungen im Bereich von 49152 und 65535.
WMI wird weiterhin unterstützt. Ab Windows 10, Version 21H1 und der halbjährlichen Channel-Version 21H1 von Windows Server wird das WMI-Befehlszeilenprogramm (WMIC) nicht mehr unterstützt.
Es gibt viele Tools zur Überwachung von WMI. Eine Handvoll ist jedoch besonders beliebt:
SolarWinds WMI Monitor mit Server und Application Monitor
Paessler WMI Service Sensor mit PRTG
Nagios XI
Sapien WMI Explorer
Kostenlose Tools sind WMI Explorer, Adrem Free WMI Tools
Beim Versuch, in einer Anwendung oder einem Skript auf lokale oder entfernte WMI-Daten zuzugreifen, können Fehler auftreten, die von fehlenden Klassen bis zu Zugriffsverletzungen reichen. In der Microsoft WMI-Fehlerbehebungsanleitung finden Sie Lösungen für solche Fehler.
Fazit
Im Allgemeinen ist die Windows-Verwaltungsinstrumentation ein leistungsstarkes Tool, mit dem Sie eine Vielzahl verschiedener systembezogener Windows-Funktionen verwalten können. WMI kann für jeden, der mit Windows-Systemen zu tun hat, ein sehr hilfreiches Tool sein, auch wenn es zunächst einschüchternd wirken mag.