Eine kurze Anleitung zur Windows-Verwaltungsinstrumentation (WMI)

Das Framework für Verwaltungsinformationen und -aktivitäten auf Windows-basierten Betriebssystemen heißt Windows Management Instrumentation (WMI).

WMI stellt auch Verwaltungsdaten für andere Komponenten des Betriebssystems und Produkte bereit, z. B. SCOM (System Center Operations Manager) oder Windows-Remoteverwaltung.

Was ist Windows Management Instrumentation (WMI)?

WMI ist eine Plattform zum Verwalten und Überwachen des Betriebssystems und anderer Microsoft-Anwendungen und -Dienste auf PCs, Servern und anderen Netzwerkgeräten.

WMI bietet eine umfassende, skalierbare und benutzerfreundliche Programmierschnittstelle, die programmgesteuerten Zugriff auf Informationen und Dienste auf von Microsoft verwalteten Computern und anderen Netzwerkgeräten bietet.

Es wird verwendet, um das Betriebssystem, Dienste und Anwendungen auf dem Computer sowie Registrierungs- und Dateisystemdaten zu erkennen und zu überwachen. Es wird auch verwendet, um Skripte und Programme zu erstellen und zu verwalten, 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.

Außerdem erhalten Sie Zugriff auf PowerShell, eines der leistungsstärksten und flexibelsten Verwaltungstools für Windows, mit dem Sie Automatisierungsskripts erstellen können.

Darüber hinaus können Sie mit WMI benutzerdefinierte Anwendungen erstellen, die zusätzliche Funktionen für die Verwaltung und Verwaltung von Windows-Systemen und -Anwendungen bereitstellen.

Benutzer, die den Zustand ihrer Maschinen überwachen, grundlegende Fehler beheben und Leistungsdaten sammeln müssen, werden WMI als praktisch empfinden.

Was ist der Zweck von WMI?

WMI ist in einem Windows-Unternehmensnetzwerk nützlich, da es den Betrieb und die Verwaltung von Unternehmensnetzwerkkomponenten vereinfacht, indem Daten zur weiteren Verbesserung und Skalierbarkeit an andere Produkte übermittelt werden.

Der gesamte Zweck von WMI besteht darin, ein einheitliches Management-Framework für alle Aspekte eines Windows-Systems bereitzustellen, z. B.:

  • Betriebssystemkomponenten
  • Prozesse und Threads
  • Dienstleistungen
  • Geräte
  • Treiber
  • Anwendungen
  • Benutzerkonten
  • Sicherheitseinstellungen

Der Zweck der WMI-Erfindung führt zu reduzierten Kosten und reduzierter Zeit im Betrieb und in der Entwicklung in Bezug auf Windows-Systeme. WMI ermöglicht Ihnen auch, Systemereignisse zu überwachen und Leistungsdaten zu sammeln. Diese Daten können verwendet werden, um Probleme zu beheben oder Trends im Laufe der Zeit zu verfolgen.

WMI wird am häufigsten verwendet, um Verwaltungsaufgaben zu automatisieren und Zugriff auf Daten zu erhalten, ohne direkt mit dem Betriebssystem zu tun zu haben. Daher ist WMI eine fantastische Alternative für Administratoren und Softwareentwickler, die zeitaufwändige Prozesse automatisieren müssen.

Von der Überwachung der Systemleistung bis zur Erfassung von Anwendungsdaten ist damit alles möglich. Es ermöglicht Entwicklern, intelligentere, intelligentere Anwendungen zu erstellen und stellt gleichzeitig sicher, 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 Tool für die Verwaltung und Überwachung von Windows-Systemen. Es ist der Eckpfeiler für Azure Machine Learning und AzureML und wird verwendet, um eine breite Palette von Produkten von Drittanbietern zu betreiben.

Verwendung von WMI

Windows Management Instrumentation (WMI) ist Microsofts Bereitstellung von Web-Based Enterprise Management (WBEM), einer Brancheninitiative zur Entwicklung standardisierter Technologien für den Zugriff auf Corporate-Governance-Informationen.

WMI stellt Systeme, Anwendungen, Netzwerke, Geräte und andere verwaltete Komponenten dar, die den Industriestandard Common Information Model (CIM) verwenden. Die Distributed Management Task Force (DMTF) erstellt und verwaltet CIM.

  5 beste Spiele-Booster-Software für Windows 10

Das WMI-Design ist vielseitig, unterstützt eine Vielzahl von Verwaltungs- und Verwaltungsaufgaben und bietet eine flexible und erweiterbare Architektur, die es Herstellern ermöglicht, neue WMI-Anbieter zu schreiben, um neue Geräte, Anwendungen und andere Fortschritte zu unterstützen.

Andere Verwendungen sind:

  • Umfassende Verwaltung des Windows-Betriebssystems und von Microsoft-Netzwerkgeräten und -diensten.
  • Es kann verwendet werden, um die Remotecomputer zu verbinden, um auf WMI-Daten zuzugreifen
  • Ermittelt Informationen über das System, z. B. welche Programme ausgeführt werden und welche Dienste eingerichtet sind.
  • Zum Abrufen von Informationen zu Hardwarespezifikationen und zum Ausführen von Aktionen wie Herunterfahren oder Neustarten des Systems.
  • Starten von Anwendungen, Starten, Anhalten, Konfigurieren von Diensten und Zugreifen 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 Programmierern, Verwaltungsprogramme zu erstellen, die mit jedem System funktionieren, das WMI unterstützt.

Sehen wir uns die Architektur und Terminologie von WMI an.

Der Fluss 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 Anbieter. Es stellt 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 Anbieter gemäß der Funktionalität, die von der Schnittstelle des Anbieters bereitgestellt wird.

Es gibt zahlreiche integrierte WMI-Anbieter in Windows, einschließlich eines Active Directory-Anbieters, eines BCD-Anbieters (Boot Configuration Data), eines DFS-Anbieters (Distributed File System), eines Ereignisprotokollanbieters, eines Hyper-V-WMI-Anbieters, eines Win32-Anbieters, eines Registrierungsanbieters, und 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-Namespaces organisiert ist, die oft als Common Information Model (CIM) bezeichnet werden. Der WMI-Dienst richtet beim Systemstart eine Reihe von Namespaces ein, einschließlich Root-Standard, Rootcimv2 und Root-Abonnement.

Darüber hinaus erstellt der Dienst einen Standardsatz von Klassendefinitionen, der die Systemklassen Win32 und WMI enthält. Andere WMI-Namespaces können von zusätzlichen WMI-Anbietern erstellt werden, und jeder Namespace enthält mehrere WMI-Objekte.

Der WMI-Dienst fungiert als Vermittler zwischen den Anbietern, Verwaltungsanwendungen und dem WMI-Repository. Im Repository werden nur statische Daten zu Objekten gespeichert, z. B. die von Anbietern definierten Klassen. WMI erhält die meisten Daten dynamisch vom Anbieter, wenn ein Client sie anfordert.

Ein WMI-Consumer ist eine Verwaltungsanwendung oder ein Skript, das mit der WMI-Infrastruktur kommuniziert. Unter Verwendung der COM-API für WMI oder der Skript-API für WMI kann ein Verwaltungsprogramm Daten abfragen, auflisten, Anbietermethoden ausführen und Ereignisse abonnieren.

WMI erstellt eine standardisierte Schnittstelle zum Remote- und lokalen Abrufen von Verwaltungsdaten. Die einheitliche Schnittstelle abstrahiert von den Anwendungsprogrammierschnittstellen (APIs) des Betriebssystems. Dadurch können Apps und Skripts Verwaltungsdaten sammeln, ohne die Betriebssystem-API kennen zu müssen.

  So überprüfen Sie die RAM-Frequenz unter Windows 10

Wie führe ich eine WMI-Abfrage aus?

Ein Merkmal der Vielseitigkeit der WMI-Plattform ist die Fähigkeit, ihr Repository abzufragen, um Details über die Klassen-, Instanz- oder Schemadaten zu erhalten. Diese Metriken sind mit dem Inventar lokaler und entfernter Systeme, Betriebssysteme, Software und anderer Verwaltungsaktivitäten verbunden.

Art der Abfragen

Im Großen und Ganzen gibt es zwei Arten von Abfragen, die verwendet werden, um Informationen aus dem WMI-Repository abzurufen:

Synchrone Abfrage: Dies ist eine Abfrage, die während der gesamten Abfrage die Kontrolle über den Betrieb Ihrer Anwendung behält. Es ist einfacher als ein asynchroner Aufruf, da nur ein Schnittstellenaufruf erforderlich ist. Bei großen Suchen oder netzwerkbasierten Anfragen kann es jedoch dazu kommen, dass Ihre Anwendung einfriert.

Asynchrone Abfrage: Wenn die Geschwindigkeit eines Systems oder Netzwerks durch die Abfrage einer großen Datengruppe beeinträchtigt wird, ist eine asynchrone Abfrage die bevorzugte Art.

WQL (WMI-Abfragesprache)

Eine der beliebtesten Methoden zum Abfragen von WMI ist die WMI-Abfragesprache.

In der Datenbankumgebung wird SQL (Structured Query Language) und in WMI WQL verwendet. 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 damit, dass alle Eigenschaften einer WMI-Klasse mit dem Befehl „Auswählen“ ausgewählt werden. Das Sternchen („*“) wird verwendet, um jede Eigenschaft aus einer WMI-Klasse auszuwählen. Man kann das Schlüsselwort „From“ verwenden, um die abzufragende WMI-Klasse anzugeben, nachdem man die Eigenschaften (eine oder mehrere Eigenschaften oder alle) ausgewählt hat. Sie können das SQL-Cheatsheet für die genaue Syntax überprüfen.

WQL kann über WMI Tester (wbemtest.exe) ausgeführt werden, das standardmäßig mit dem Windows-Betriebssystem installiert wird. WMI-Abfragen können auch über Windows PowerShell, VBScript und die C-Sprache ausgeführt werden.

Art der WQL-Abfragen

Die WQL-Abfragen werden verwendet, um drei verschiedene Arten von Informationen zu erhalten.

Objektabfragen: Mit diesen Abfragen können Informationen zu Windows-Systemressourcen abgerufen werden.

Ereignisabfragen: Diese Abfragen werden verwendet, um unter anderem Änderungen an Ereignisprotokollen, die Initiierung von Prozessen, den Status von Diensten, die Verfügbarkeit von Computern oder die Menge an freiem Speicherplatz zu verfolgen.

Schemaabfragen: Diese Abfragen werden verwendet, um Details über die Struktur des WMI-Schemas zu erhalten.

Ausführen einer Abfrage

Sehen wir uns an, wie eine Objektabfrage ausgeführt wird.

Die folgende Methode gibt an, wie WIN_32-Prozesse auf einem lokalen System überprüft werden.

Das Tool WMI Tester wird über die Kommandozeile durch Eingabe von wbemtest.exe ausgeführt.

Das folgende Fenster wird angezeigt.

So stellen Sie eine Verbindung mit dem WMI-Namespace her, der die Klasse enthält, die Sie abfragen möchten (in den meisten Fällen RootCimv2): Klicken Sie auf die Registerkarte „Verbinden“.

Um die Abfrage auszuführen, klicken Sie wie unten gezeigt auf die Registerkarte „Abfrage“:

Geben Sie dann die Abfrage ein, für die Sie die Informationen abrufen möchten. Lassen Sie uns beispielsweise alle Prozesse abrufen, die auf dem lokalen System ausgeführt werden, indem Sie Folgendes ausführen:

select * From Win32_process

Nachdem Sie auf die Registerkarte Anwenden geklickt haben, erhalten Sie die folgenden Ergebnisse

  Beheben Sie, dass die Skype-Kamera unter Windows 10 nicht funktioniert

Die obige GUI-basierte Ausführung kann auch an der Eingabeaufforderung über PowerShell ausgefü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 abzurufen, besuchen Sie die Microsoft PowerShell-Verwaltung Seite.

Um diese Abfrage in VBScript und der C-Sprache auszuführen, muss die Microsoft-Dokumentationsseite vollständige Einblicke geben würde.

Eine andere Methode zum Abfragen des WMI-Repositorys ist der WMIC-Befehl:

  • Führen Sie CMD an einer Eingabeaufforderung aus
  • Geben Sie WMIC ein und geben Sie die Eingabetaste ein, um das Programm zu starten
  • Dann ändert sich die Eingabeaufforderung zu wmic:rootcli>

Administratoren können von dieser Eingabeaufforderung aus WMI-Abfragen ausführen.

Um beispielsweise CPU-Informationen eines lokalen Systems zu laden, lautet der Befehl:

wmic:rootcli> WMIC CPU

Die Ergebnisse/Informationen werden in der Eingabeaufforderung angezeigt.

AddressWidth  Architecture  AssetTag                Availability  Caption                                 Characteristics  ConfigManagerErrorCode  ConfigManagerUserConfig  CpuStatus  CreationClassName  CurrentClockSpeed  CurrentVoltage  DataWidth  Description                             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             To Be Filled By O.E.M.  3             Intel64 Family 6 Model 142 Stepping 10  252                                                               1          Win32_Processor    1801               7               64         Intel64 Family 6 Model 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                                                  To Be Filled By O.E.M.                                            FALSE                     BFEBFBFF000806EA  3                        CPU   TRUE                                     To Be Filled By O.E.M.  U3E1               OK      3                     Win32_ComputerSystem     RENEE-HP     8                      51                      FALSE                          TRUE

Weitere Informationen zu WMIC-Aliasnamen und -Verben finden Sie unter Microsoft wmic.

Häufig gestellte Fragen zu WMI

Welche Ports werden in WMI verwendet?

Die verwendeten Ports sind 49152 und 65535. Das Distributed Component Object Model (DCOM), auf dem WMI basiert, verwendet standardmäßig einen zufällig ausgewählten TCP-Port für Verbindungen zwischen 49152 und 65535.

Ist WMI veraltet?

WMI wird weiterhin unterstützt. Ab Windows 10, Version 21H1, und der halbjährlichen Kanalversion 21H1 von Windows Server wird das WMI-Befehlszeilenprogramm (WMIC) nicht mehr unterstützt.

Was sind WMI-Überwachungstools?

Es gibt viele Tools zur Überwachung von WMI. Eine Handvoll ist jedoch besonders beliebt:
SolarWinds WMI Monitor mit Server- und Anwendungsmonitor
Paessler WMI Service Sensor mit PRTG
Nagios XI
Sapien WMI-Explorer
Kostenlose Tools sind WMI Explorer, Adrem Free WMI Tools

So beheben Sie WMI-Probleme

Möglicherweise sehen Sie Fehler, die von fehlenden Klassen bis hin zu Zugriffsverletzungen reichen, wenn Sie versuchen, auf lokale oder Remote-WMI-Daten in einer Anwendung oder einem Skript zuzugreifen. Überprüf den Microsoft WMI-Leitfaden zur Fehlerbehebung um Lösungen für solche Fehler zu erhalten.

Fazit

Im Allgemeinen ist die Windows-Verwaltungsinstrumentation ein starkes Tool, das verwendet werden kann, um eine breite Palette verschiedener systembezogener Windows-Funktionen zu handhaben. WMI kann ein sehr hilfreiches Tool für jeden sein, der mit Windows-Systemen zu tun hat, obwohl es zunächst einschüchternd erscheinen mag.