WMI und CIM
WMI oder Windows Management Instrumentation erlaubt es, Daten über Windows-Computer abzufragen aus einer Datenbankähnlichen Struktur abzufragen, die aus Klassen besteht. Die WMI-Klassen sind in Namensräume ähnlich der .NET-Klassen aufgeteilt, über die sich diverse Informationen über den Rechner abfragen lassen. Eine sehr einfache Möglichkeit, sich erst einmal einen Überblick über alle verfügbaren WMI-Klassen zu verschaffen, bietet der WMI-Explorer, den man kostenlos von Github herunterladen kann.

WMI-Daten können auch remote abgefragt werden. Geben Sie hierfür in (1) als erstes den Namen des Computers ein, den Sie abfragen wollen. Standardmäßig steht in diesem Feld ein Punkt, was auf den lokalen Computer verweist. Sobald Sie Connect wählen, wird der Punkt durch den Namen des lokalen Computers ersetzt, und im Feld Namespaces (2) werden alle verfügbaren "Unterordner" aufgelistet, die abgefragt werden können. Der für Windows-Systeme interessanteste Namensraum ist Root\CIMV2. CIM steht für Common Information Model und ist der ursprüngliche und inzwischen wieder aktuelle Name von WMI. Wenn Sie den Namensraum doppelt anklicken, listet Windows alle Klassen auf, die im Namensraum vorhanden sind. Wenn der WMI-Explorer scheinbar nichts tut, können Sie in (3) sehen, ob er noch arbeitet oder Sie nicht schnell genug geklickt haben.
Sobald alle Klassen aufgelistet sind, zeigt (4) alle im Namensraum verfügbaren Klassen an. Mit dem Quick-Filter (5) können festlegen, welche Klassen angezeigt werden sollen. Alle interessanten Klassen des Namensraums fangen mit Win32 an, so dass das als Ausgangsfilter eine gute Basis ist.
Die Klassen beinhalten keine Informationen, sondern bilden wieder nur die Vorlagen, die definieren, welche Daten Sie aus der Klasse erhalten können. Das Konzept der Namensbildung ist für die Klassen dabei ähnlich wie bei Powershell-Cmdlets: Sie tragen entsprechende Namen, so dass man auf den ersten Blick erkennen kann, welche Daten man aus einer Klasse beziehen kann.
Um die Klasse abzufragen, wählen Sie sie und anschließend in (6) die Instanz aus. Viele Klassen bieten Ihnen nur eine Instanz (also ein Objekt) an, aber wenn Sie z.B. mehrere Speichermodule haben und Sie Win32_MemoryDevice auswählen, wird Ihnen für jedes Speichermodul eine Instanz angezeigt. Wenn Sie die Instanz auswählen, sehen Sie in (7) die Eigenschaften der Instanz. Da es sich bei den Instanzen um Objekte handelt, stellt Ihnen WMI übrigens nicht nur Eigenschaften, sondern auch Methoden zur Verfügung, um den Computer zu steuern.