WMI-Abfragen aus Gehen

Möchte ich ausführen WMI-Abfragen aus Gehen. Es gibt Möglichkeiten, Aufruf von DLL-Funktionen aus Gehen. Mein Verständnis ist, dass es irgendeine DLL irgendwo die, mit der richtigen nennen, werden wieder einige Daten kann ich analysieren und verwenden. Ich würde es vorziehen, um zu vermeiden, aufrufen, die in C oder C++, vor allem, da ich denke, das sind Wrapper über die Windows-API selbst.

Ich geprüft habe die Ausgabe von dumpbin.exe /exports c:\windows\system32\wmi.dll, und der folgende Eintrag sieht vielversprechend aus:

WmiQueryAllDataA (forwarded to wmiclnt.WmiQueryAllDataA)

Aber ich bin mir nicht sicher, was zu tun ist von hier. Welche Argumente hat diese Funktion nutzen? Was braucht es dafür? Suche für WmiQueryAllDataA ist nicht hilfreich. Und dieser name erscheint nur in einem Kommentar von c:\program files (x86)\windows kits\8.1\include\shared\wmistr.h ist, aber keine Funktion Unterschrift.

Gibt es bessere Methoden? Gibt es eine andere DLL? Bin ich etwas fehlt? Sollte ich nur mit einem C-wrapper?

Ausführen einer WMI-Abfrage in Linqpad mit .NET Reflector zeigt die Verwendung von WmiNetUtilsHelper:ExecQueryWmi (und ein _f version), aber weder über eine sichtbare Umsetzung.

Update: verwenden Sie die github.com/StackExchange/wmi - Paket setzt die Lösung in der akzeptierten Antwort.

InformationsquelleAutor mjibson | 2013-12-04
Schreibe einen Kommentar