msinfo32, wmic: Systeminformationen remote über WMI auslesen

Systeminformationen von einem Remote-PC mit msinfo32 auslesenWenn man die Hardware-Ausstattung eines entfernten PC oder die Konfigurationsdaten des Betriebssystems abfragen möchte, muss man sich längst nicht mehr an das betreffende Gerät begeben. Microsoft stellt zu diesem Zweck die Windows Management Instrumentation (WMI) zur Verfügung. Sie lässt sich von verschiedenen Programmen oder Scripts aus nutzen. Zum Lieferumfang von Windows gehören 2 Tools, die mittels WMI Systeminformationen erfragen können. Für einfachere Ansprüche reicht das grafische msinfo32, wenn es mehr sein soll, dann gibt es dafür das mächtige Kommandozeilen-Tool wmic.

WMI ist eine Verwaltungstechnologie, die weit mehr leistet als nur Systeminformationen auszulesen. Mit ihrer Hilfe können Prozesse auf einem Remote-Computer gestartet werden, lassen sich Tasks planen, die an bestimmten Tagen zu bestimmten Uhrzeiten ausgeführt werden sollen, Rechner Remote neu starten, die Ereignisprotokolle auslesen oder man kann damit herausfinden, welche Anwendungen auf einem lokalen oder entfernten Computer installiert sind.

WMI aktivieren

Die Verwendung von WMI setzt voraus, dass der dafür nötige Dienst gestartet ist. Das lässt sich mit dem Befehl

sc query winmgmt

herausfinden. Läuft er nicht, dann kann man das mit

sc start winmgmt

nachholen. Beim Zugriff auf Remote-PCs kann sich zudem die Firewall als Hindernis erweisen. Um herauszufinden, ob sie eingehende WMI-Anfragen durchlässt, hilft der Aufruf von

netsh advfirewall firewall show rule name="Windows-Verwaltungsinstrumentation (WMI eingehend)"

Ist die betreffende Regel nicht aktiv, hilft der Befehl

netsh advfirewall firewall set rule group="Windows-Verwaltungsinstrumentation (WMI)" new enable=yes

Systemabfrage mit msinfo32

Systeminformationen von einem Remote-PC mit msinfo32 auslesenDas Dienstprogramm msinfo32.exe gehört schon seit vielen Windows-Versionen zum Lieferumfang des Betriebssystems. In den meisten Fällen wird es benutzt, um die Konfiguration des lokalen Rechners zu erkunden. Unter dem Menüpunkt Ansicht gibt es aber den Befehl Remotecomputer, mit dem man sich zu anderen Rechnern verbinden kann. Er bietet aber keine Möglichkeit, zusätzlich einen Benutzernamen plus Passwort einzugeben. Daher muss man msinfo32 unter einer Benutzerkennung starten, die auf dem entfernten Rechner genügend Rechte hat.

Die von msinfo32 angezeigten Informationen sind vorgegeben, eine Erweiterung oder Einschränkung der Abfrage ist nicht möglich. Das Tool versammelt jedoch eine beachtliche Menge an Daten unter seiner Oberfläche, sie reichen von integrierten Systembausteinen über Peripheriegeräten bis zu wesentlichen Parametern der Windows-Konfiguration. In vielen Fällen dürfte msinfo32 ausreichen, um die gewünschten Informationen zu erhalten.

Informationen gezielt abfragen mit wmic

Das Kommandozeilen-Tool wmic überwältigt den Benutzer mit einer Unmenge von möglichen Parametern und Schaltern, die beim Aufruf mit der Option /? im Hilfetext angegeben werden. Möchte man jedoch nicht den ganzen WMI-Funktionsumfang ausreizen, sondern nur Systeminformationen abrufen, dann findet man sich jedoch relativ schnell zurecht.

Startet man wmic ohne Parameter, dann wechselt es in einen interaktiven Modus, den an einem eigenen Prompt zu erkennen ist. Von dort kann man mit dem Befehl

/node:[Computername]

die Verbindung zu einem Remote-PC aufbauen. Praktisch an diesem Befehl ist, dass man ihm eine durch Kommata getrennte Liste von Rechnern übergeben kann, die sich anschließend gleichzeitig abfragen lassen. Falls man auf dem Zielrechner unter einem anderen Konto tätig werden muss, ruft man

/node:[Computername] /user:[Benutzername] /password:[Kennwort]

auf.

Ist die Verbindung hergestellt, kann man mit Hilfe der wmic-Aliase die Systeminformationen abfragen. Sie kapseln verschiedene WMI-Klassen und verleihen ihnen einen leichter zu merkenden Namen. Wenn man sich die lange Liste der verfügbaren Aliase anzeigen lassen will gibt man einfach /? ein. Hat man den Wert für die gesuchte Komponente gefunden, hangelt man sich mit dem Hilfe-Parameter zur Abfrage der Attribute dieses Objekts.

Nachdem für das Abrufen von Informationen die Methode get dient, fährt beispielsweise mit OS get /? fort, um herauszufinden, welche Informationen über Betriebssystem zur Verfügung stehen. Möchte man etwa wissen, wann das System das letzte Mal gebootet wurde, dann gibt man OS get LastBootUpTime ein.

Umfangreichere Ausgaben des Programms will man in der Regel nicht auf der unübersichtlichen Kommandozeile betrachten. Daher besteht die Möglichkeit, diese beispielsweise als HTML-Tabelle (/format:htable) oder im CSV-Format (/format:csv) ausgeben zu lassen und in einem Web-Browser oder in Excel zu betrachten:

dmachannel get /all /format:htable

Bei allen Parametern für die wmic-Befehle ist zu beachten, dass praktisch alle nicht-alphanumerischen Zeichen als Trenner betrachtet werden, so dass man etwa den Computernamen server-core in doppelte Anführungszeichen setzen muss.

wmic-Aliase für Systemkomponenten
AliasBeschreibung
BASEBOARD Hauptplatinenverwaltung (auch Motherboard oder Systemkarte genannt).
BIOS BIOS-Verwaltung.
BOOTCONFIG Startkonfigurationsverwaltung.
CDROM CD-Verwaltung.
COMPUTERSYSTEM Computersystemverwaltung.
CPU CPU-Verwaltung.
CSPRODUCT Computersystem-Produktinformationen von SMBIOS.
DATAFILE Datendatei-Verwaltung.
DCOMAPP DCOM-Anwendungsverwaltung.
DESKTOP Benutzerdesktopverwaltung.
DESKTOPMONITOR Desktopbildschirmverwaltung.
DEVICEMEMORYADDRESS Gerätespeicheradress-Verwaltung.
DISKDRIVE Verwaltung des physikalischen Laufwerks.
DISKQUOTA Datenträgerspeicherplatz-Nutzung für NTFS-Volumes.
DMACHANNEL DMA-Kanalverwaltung.
ENVIRONMENT Systemumgebungs-Einstellungsverwaltung.
FSDIR Dateisystem-Verzeichniseintragsverwaltung.
GROUP Gruppenkontenverwaltung.
IDECONTROLLER IDE-Controllerverwaltung.
IRQ IRQ-Verwaltung.
JOB Bietet Zugriff auf mit dem Zeitplandienst geplante Aufträge.
LOADORDER Verwaltung von Systemdiensten, die Ausführungsabhängigkeiten definieren.
LOGICALDISK Verwaltung des lokalen Speichergeräts.
LOGON Anmeldesitzungen.
MEMCACHE Cacheverwaltung.
MEMORYCHIP Speicherchipinformationen.
MEMPHYSICAL Verwaltung des physikalischen Speichers des Computers.
NETCLIENT Netzwerkclientverwaltung.
NETLOGIN Verwaltung der Netzwerkanmeldeinformationen (eines bestimmten Benutzers).
NETPROTOCOL Protokollverwaltung (und die Verwaltung der Protokollnetzwerkeigenschaften).
NETUSE Verwaltung der aktiven Netzwerkverbindung.
NIC NIC-Verwaltung.
NICCONFIG Netzwerkadapterverwaltung.
NTDOMAIN NT-Domänenverwaltung.
NTEVENT Enträge im NT-Ereignisprotokoll.
NTEVENTLOG NT-Ereignisprotokoll-Dateiverwaltung.
ONBOARDDEVICE Verwaltung der in der Hauptplatine eingebauten Standardadapter (Systemkarte).
OS Verwaltung der installierten Betriebssysteme.
PAGEFILE Verwaltung des virtuellen Speichers für den Dateiaustausch.
PAGEFILESET Auslagerungsdatei-Einstellungsverwaltung.
PARTITION Verwaltung von partitionierten Bereichen des physikalischen Datenträgers.
PORT E/A-Anschlussverwaltung.
PORTCONNECTOR Verwaltung von physikalischen Verbindungsanschlüssen.
PRINTER Druckerverwaltung.
PRINTERCONFIG Druckerkonfigurationsverwaltung.
PRINTJOB Druckauftragsverwaltung.
PROCESS Prozessverwaltung.
PRODUCT Installationspaket-Aufgabenverwaltung.
QFE QFE (Quick Fix Engineering).
QUOTASETTING Setzt Informationen für Datenträgerkontingente auf einem Volume.
RDACCOUNT Remotedesktopverbindungs-Berechtigungsverwaltung
RDNIC Remotedesktopverbindungs-Verwaltung auf einem bestimmten Netzwerkadapter
RDPERMISSIONS Berechtigungen für eine bestimmte Remotedesktopverbindung
RDTOGGLE Remotedesktoplistener wird remote ein und ausgeschaltet.
RECOVEROS Informationen, die aus dem Speicher beim Fehlschlagen des Betriebssystems zusammengestellt werden.
REGISTRY Computersystemregistrierungsverwaltung.
SCSICONTROLLER SCSI-Controllerverwaltung.
SERVER Serverinformationsverwaltung.
SERVICE Dienstanwendungsverwaltung.
SHADOWCOPY Schattenkopieverwaltung.
SHADOWSTORAGE Schattenkopiespeicherverwaltung.
SHARE Verwaltung von gemeinsam genutzten Ressourcen.
SOFTWAREELEMENT Verwaltung der auf dem System installierten Softwareproduktelemente.
SOFTWAREFEATURE Verwaltung von Softwareprodukten, die untergeordnete Sätze von SoftwareElement.
SOUNDDEV Audiogeräteverwaltung.
STARTUP Verwaltung von Befehlen, die automatisch bei der Benutzeranmeldung am System ausgeführt werden.
SYSACCOUNT Systemkontenverwaltung.
SYSDRIVER Verwaltung von einem Systemtreiber für einen Basisdienst.
SYSTEMENCLOSURE Systemgehäuseverwaltung.
SYSTEMSLOT Verwaltung von physikalischen Verbindungspunkten, einschließlich Anschlüssen, Steckplätzen und Peripheriegeräten, und proprietären Verbindungspunkten.
TAPEDRIVE Bandlaufwerkverwaltung.
TEMPERATURE Datenverwaltung eines Temperatursensors (elektronisches Thermometer).
TIMEZONE Zeitzonen-Datenverwaltung.
UPS Verwaltung der unterbrechungsfreien Stromversorgung (USV).
USERACCOUNT Benutzerkontenverwaltung.
VOLTAGE Spannungssensor-Datenverwaltung.
VOLUME Verwaltung des lokalen Speichervolumes.
VOLUMEQUOTASETTING Assoziiert die Datenträgerkontingentseinstellung auf ein bestimmtes Volume.
VOLUMEUSERQUOTA Verwaltung des Speichervolumekontingents je Benutzer.
WMISET Verwaltung für die optionalen WMI-Dienstparameter.

4 Kommentare

Bild von leo
leo (Besucher) sagt:

schade, dass die Tips fast alle nicht funktionieren.

netsh advfirewall firewall show rule name="Windows-Verwaltungsinstrumentation (WMI eingehend)"

führt bei mir nur zu "Befehl advfirewall" unbekannt.

/node:[Computername] ich gehe davon aus, dass hier statt "Computername" der gewünschte Ziel-PC eingetragen werden soll. Das geht aber nicht.

Bild von Wolfgang Sommergut

Alle funktionieren, Voraussetzung ist jedoch ein halbwegs aktuelles Windows (mind. Vista).

Bild von Dave Hörmann
Dave Hörmann (Besucher) sagt:

Alle oben aufgeführten Funktionen funktionieren einwandfrei.
Danke das Sie sich die Arbeit gemacht haben, dies zu dokumentieren.

Bild von Sinisa
Sinisa (Besucher) sagt:

Funktioniert wmic auch Domänenübergreifend? Ich habe es versucht, kann mich an den Server in der anderen Domäne verbinden mit /node:Servername.Domain.de aber bei der Verwendung von Befehlen, bekomme ich immer "Zugriff verweigert".
Mein String sieht dann so aus:
wmic:root\cli>/node:SRV01234.Domain.de /user:abc01234 /password:*******
Bei dem User habe ich es auch mit Angabe des UPN versucht, hat aber auch nicht geklappt.

Kommentar hinzufügen

Der Inhalt dieses Feldes wird nicht angezeigt. Wenn mit Ihrer angegebenen Mail-Adresse ein Gravatar verknüpft ist, dann wird dieser neben Ihrem Kommentar eingeblendet.
  • Internet- und E-Mail-Adressen werden automatisch umgewandelt.
  • Zulässige HTML-Tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Zeilen und Absätze werden automatisch erzeugt.
  • Mail-Adressen werden im Seitenquelltext unkenntlich gemacht, um sie vor dem automatischen Erfassen durch Spammer zu schützen.

Weitere Informationen über Formatierungsoptionen