Question

Nous avons un projet .NET qui utilise WMI et nous souhaitons le porter sur le framework Mono.

Il semble que Mono ne prend pas en charge WMI.

Existe-t-il des bibliothèques pouvant ajouter le support WMI?

En gros, nous souhaitons accéder à un serveur Windows à l'aide de WMI à partir d'une machine Linux / OS X.

Était-ce utile?

La solution

Windows Management Instrumentation est une implémentation de WBEM par Microsoft ( gestion d'entreprise basée sur le Web ). .

Il existe des implémentations Open Source (par exemple, openPegasus ) que vous pourriez utiliser, mais on ne sait pas ce que MS a fait avec sa version. Si vous pouvez envoyer des requêtes CIM au serveur, vous obtiendrez de bons résultats.

Notez que Windows ne fait pas WMI sur http, mais seulement DCOM / DCE-RPC. Certains clients ne fonctionneront donc pas. Un rapide google .. et OpenPegasus vous permettront d'accéder à Windows en utilisant un mappeur WMI. . Sinon, vous pouvez toujours exécuter le composant serveur sous Windows.

Autres conseils

En ce qui concerne WMI sur HTTP, consultez WinRM , qui semble être une implémentation de WS-Management pour XP, Win2003, Win2008 et Vista. Cela définit un moyen d'accéder aux informations du modèle commun d'informations (CIM) via HTTP (S) (SAVON). CIM est défini par la DMTF et WMI est la mise en œuvre de CIM par Microsoft.

Si je lis correctement la soupe à l'alphabet, vous devriez pouvoir utiliser SOAP sous Linux pour accéder à WinRM (WS-Management) sur une machine Windows, offrant ainsi un accès à WMI (tant que WinRM est installé, en cours d'exécution et non pare-feu).

Qu'il soit autorisé par IT / Sécurité d'exécuter une telle chose sur un réseau d'entreprise, tout est une autre affaire: tout port ouvert peut être un risque pour la sécurité et celui qui permet de commander, de contrôler et de configurer à dessein peut être un véritable trou. Les certificats, IPSec et les règles de pare-feu sont votre ami!

Notez que je n'ai aucune expérience directe de l'utilisation de WS-Management ni de WinRM. YMMV .

Je sais que vous pouvez installer wmi-client sur Linux (sudo apt-get install wmi-client). Vous devriez pouvoir interroger n'importe quel objet wmi sur une machine Windows depuis la ligne de commande Linux en utilisant ceci.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top