Domanda

Abbiamo un progetto .NET che utilizza WMI e siamo interessati a portarlo nel framework Mono.

Sembra che Mono non supporti WMI.

Esistono librerie che possono aggiungere il supporto WMI?

Fondamentalmente vorremmo accedere a un server Windows usando WMI da un box Linux / OS X.

È stato utile?

Soluzione

Strumentazione gestione Windows è un'implementazione Microsoft di WBEM ( Gestione aziendale basata sul web ) .

Esistono implementazioni open source (ad esempio openPegasus ) che potresti essere in grado di utilizzare un client, ma non si può dire cosa ha fatto MS con la sua versione. Se è possibile inviare query CIM al server, è possibile ottenere buoni risultati.

Nota che Windows non esegue WMI su http, ma solo DCOM / DCE-RPC, quindi alcuni client semplicemente non funzioneranno. Un rapido google .. e OpenPegasus ti permetteranno di accedere a Windows usando un WMI Mapper . In caso contrario, puoi sempre eseguire il componente server su Windows.

Altri suggerimenti

Per quanto riguarda WMI su HTTP, dai un'occhiata a WinRM , che sembra essere un'implementazione di WS-Management per XP, Win2003, Win2008 e Vista. Questo definisce un modo per accedere alle Common Information Model (CIM) su HTTP (S) (SAPONE). Il CIM è definito dal DMTF e WMI è l'implementazione Microsoft del CIM.

Se leggo correttamente l'alfabeto alfabetico, dovresti essere in grado di utilizzare SOAP da Linux per accedere a WinRM (WS-Management) su un computer Windows, fornendo così accesso a WMI (purché WinRM sia installato, in esecuzione e non firewalled).

Se IT / Security possa autorizzare l'esecuzione di una cosa del genere su una rete aziendale è un'altra cosa: qualsiasi porta aperta può costituire un rischio per la sicurezza e quella che consente il comando, il controllo e la configurazione in base alla progettazione può essere piuttosto un buco. Certificati, IPSec e regole del firewall con ambito sono i tuoi amici!

Nota che non ho esperienza diretta con WS-Management, né WinRM, quindi YMMV .

So che puoi installare wmi-client su Linux (sudo apt-get install wmi-client). Dovresti essere in grado di interrogare qualsiasi oggetto wmi su una finestra di Windows dalla riga di comando di Linux usando questo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top