INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Windows WMI - So kommt man an viele interessante Systeminformationen!



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

05.04.2011, 09:26 (Dieser Beitrag wurde zuletzt bearbeitet: 05.04.2011 09:32 von Sascha_.)
Beitrag #1

Sascha_ Offline
Versierter Anfänger?
*


Beiträge: 22
Registriert seit: Aug 2010

2010
2007
DE

38xxx
Deutschland
Windows WMI - So kommt man an viele interessante Systeminformationen!
Hallo allerseits - ich wollte mal meine Entdeckungen und Entwicklungen bzgl. dem einlesen von Systeminformationen (im weitesten Sinne) bekannt machen. Es war Serendipität - ich suchte/suche eigentlich nach einer Möglichkeit die Temperatursensoren des Rechners auszulesen, dabei stieß ich auf diesen Post hier im Forum:
http://www.labviewforum.de/thread-2851.html
Das dort angehängte VI besitzt noch einige Bugs und den Wert den man von der 'WMI:MSAcpi_ThermalZoneTemperature'-Klasse bekommt hat nichts mit der aktuellen Temperatur der CPU zu tun, dieser Wert wird nur bei einem ThermalEvent aktualisiert (wie Systemstart, Übertemperatur)... Doch fiel mir beim weiteren stöbern, dem ansehen der Klassen und experimentellen auslesen der MOFs auf, dass sich in diesem WMI ('Windows Management Instrumentation') sehr interessante Informationen verstecken!
Alle erdenklichen Informationen/Parameter des Systems, des/der Prozessors/Prozessoren, der Datenträger, der Peripheriegeräte, Busse, ... alles hier dokumentiert: http://msdn.microsoft.com/en-us/library/...85%29.aspx

Wenn es in die tiefere Hardwareebene geht, sind aber (leider) viele der vorhandenen Klasse nicht mehr mit Daten gefüllt - wobei das natürlich von System zu System unterschiedliche sein kann - bei den von mir getesteten Rechnern sind leider solche, für die Systemüberwachung interessanten, Klassen wie 'CIMV2:Win32_VoltageProbe', 'CIMV2:Win32_TemperatureProbe', 'CIMV2:Win32_Fan', ... leer!

Angehängt sind nun folgende VIs:

2010 .vi  TestWMI.vi (Größe: 40,45 KB / Downloads: 575)

'TestWMI.vi' ist ein Test/Hilfs-Programm und nicht zur Verwendung als Sub-VI bestimmt (es basiert auf dem 'Temperatur_der_CPU.vi' aus oben verlinktem Post, welches wohl von NI stammt) - es ließt keine einzelnen Parameter, nur gesamte MOFs der eingetragenen Klassen aus. Man kann sich so die in den einzelnen Klassen steckenden Parameter anschauen - eben sofern sie existieren.
Das VI ansich ist sicher verbesserungswürdig - zur Zeit muss man die Klassen die einen interessieren vor dem ausführen in das Array eintragen, man kann das VI, einmal gestartet, nur ein einziges mal durchlaufen lassen, ... doch ist es durchaus nützlich um interessante Informationen zu finden, welche man sich dann direkt mit folgenden (Sub-)VIs in das eigene VI holen kann:


2010 .vi  WMI - Get Property from Class-Items.vi (Größe: 20,95 KB / Downloads: 461)
,
2010 .vi  WMI - Get Properties from Class-Items.vi (Größe: 23,57 KB / Downloads: 493)

'WMI - Get Property from Class-Items.vi' und 'WMI - Get Properties from Class-Items.vi' nehmen einen Klassennamen (z.B. 'root\CIMV2:Win32_DiskDrive') und einen einzelnen Parameternamen (z.B. 'Description') oder ein Array aus Parameternamen entgegen und liefern ein Array mit den angeforderten Parametern der gefundenen Items.
In der WMI scheinen unterschiedliche Datentypen unterzukommen, am einfachsten bekommt man sie allerdings heraus, wenn man alle pauschal als String anfordert, dh. arbeiten auch meine VIs ausschließlich mit Strings - der Anwender muss wissen von welchem Datentyp der angeforderte Parameter ist und die Ergebnisstring dementsprechend weiterverarbeiten.


Hier ein Bild von 'TestWMI.vi', es zeigt die MOF des ersten (Index 0) von sechs vorhandenen Items der Klasse 'CIMV2:\Win32_DiskDrive' - viele interessante Daten... Smile
   

Hier noch ein Bild von der Anwendung des 'WMI - Get Properties from Class-Items.vi'-VIs, mit dem Ergebnis (die Daten in der Tabelle wurden noch aufbereitet...) - das Prinzip sollte zu erkennen sein.
   


Soo... Langes Pamphlet - Ich hoffe dieses 'Projekt' ist auch anderen von Nutzen - für Kommentare Verbesserungsvorschläge bin ich ganz Ohr!

Grüße
Sascha
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
05.04.2011, 12:18
Beitrag #2

SeBa Offline
LVF-Guru
*****


Beiträge: 2.025
Registriert seit: Oct 2008

09SP1 & 10 FDS
2008
DE

65xxx
Deutschland
RE: Windows WMI - So kommt man an viele interessante Systeminformationen!
Lange Zeit ist's her, das ich das hier reingestellt hab Big Grin

Vielleicht für dich interessant, vielleicht auch nicht. Ob es gut/schlecht/unbrauchbar ist... k.A. xD

LVF-Link


Gruß SeBa

Dieser Beitrag soll weder nützlich, informativ noch lesbar sein.

Er erhebt lediglich den Anspruch dort wo er ungenau ist, wenigstens eindeutig ungenau zu sein.
In Fällen größerer Abweichungen ist es immer der Leser, der sich geirrt hat.

Rette einen Baum!
Diesen Beitrag nur ausdrucken, wenn unbedingt nötig!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.04.2011, 09:33
Beitrag #3

Sascha_ Offline
Versierter Anfänger?
*


Beiträge: 22
Registriert seit: Aug 2010

2010
2007
DE

38xxx
Deutschland
RE: Windows WMI - So kommt man an viele interessante Systeminformationen!
Hi SeBa,

danke für den Hinweis - habe ich das Rad mal wieder neu erfunden... Smile
Ich muss zugeben, dass ich gleich nach der Entdeckung des Ur-VIs fleißigst an's Werk ging, ohne vorher zu prüfen, ob jemand schon einmal etwas ähnliches/gleiches programmiert hat.

Ich finde es doch sehr interessant, wo die Unterschiede in unseren VIs liegen - ich baue gerade eine Chimäre, welche die Nachteile beider Versionen vereint Wink

Grüße
Sascha
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Gehe zu: