7 Stimmen

Der Mono .NET Framework und WMI

Wir haben ein .NET-Projekt, das WMI verwendet, und sind daran interessiert, es auf das Mono-Framework zu portieren.

Es scheint, dass Mono WMI nicht unterstützt.

Gibt es Bibliotheken, die WMI-Unterstützung hinzufügen können?

Im Grunde genommen möchten wir von einem Linux/OS X-Rechner aus auf einen Windows-Server mit WMI zugreifen.

5voto

gbjbaanb Punkte 50303

Windows Management Instrumentation ist eine Microsoft-Implementierung von WBEM (Web-Based Enterprise Management).

Es gibt Open-Source-Implementierungen (zum Beispiel openPegasus), die du als Client verwenden könntest, aber es ist nicht abzusehen, was MS mit ihrer Version gemacht hat. Wenn du CIM-Abfragen an den Server senden kannst, erhältst du möglicherweise gute Ergebnisse.

Beachte, dass Windows keine WMI über http durchführt, sondern nur DCOM/DCE-RPC, daher funktionieren einige Clients einfach nicht. Eine schnelle Suche mit Google.. und OpenPegasus wird es dir ermöglichen, auf Windows mit einem WMI Mapper zuzugreifen. Andernfalls könntest du immer die Server-Komponente auf Windows ausführen.

5voto

James Hugard Punkte 3222

In Bezug auf WMI über HTTP werfen Sie einen Blick auf WinRM, das eine Implementierung von WS-Management für XP, Win2003, Win2008 und Vista zu sein scheint. Dies definiert einen Weg, um auf Common Information Model (CIM) Informationen über HTTP(S) (SOAP) zuzugreifen. CIM wird von der DMTF definiert und WMI ist Microsofts Implementierung von CIM.

Wenn ich das Alphabetensuppe richtig lese, sollten Sie in der Lage sein, SOAP von Linux aus zu verwenden, um auf WinRM (WS-Management) auf einem Windows-Computer zuzugreifen, was den Zugriff auf WMI ermöglicht (solange WinRM installiert, ausgeführt und nicht durch eine Firewall blockiert ist).

Ob die Ausführung einer solchen Anwendung im Unternehmensnetzwerk von der IT/Sicherheit erlaubt wird, ist eine andere Frage: Jeder offene Port kann ein Sicherheitsrisiko darstellen, und einer, der das Befehls-, Steuerungs- und Konfigurationsdesign zulässt, kann ziemlich riskant sein. Zertifikate, IPSec und eingeschränkte Firewall-Regeln sind Ihre Freunde!

Beachten Sie, dass ich keine direkte Erfahrung mit der Verwendung von WS-Management oder WinRM habe, daher kann YMMV.

1voto

Ameer Deen Punkte 668

Ich weiß, dass Sie wmi-client auf Linux installieren können (sudo apt-get install wmi-client). Sie sollten in der Lage sein, über die Linux-Befehlszeile jedes wmi-Objekt auf einem Windows-Computer abzufragen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X