Pregunta

Tenemos un proyecto .NET que usa WMI y estamos interesados ??en portarlo al marco Mono.

Parece que Mono no es compatible con WMI.

¿Hay alguna biblioteca que pueda agregar soporte WMI?

Básicamente, quisiéramos acceder a un servidor Windows usando WMI desde una caja de Linux / OS X.

¿Fue útil?

Solución

Windows Management Instrumentation es una implementación de Microsoft de WBEM ( Administración de empresas basada en la web ) .

Hay implementaciones de código abierto (p. ej. openPegasus ) que puede utilizar un cliente, pero No se sabe qué hizo MS con su versión. Si puede enviar consultas CIM al servidor, entonces puede obtener buenos resultados.

Tenga en cuenta que Windows no hace WMI a través de http, solo DCOM / DCE-RPC, por lo que algunos clientes simplemente no funcionarán. Un rápido google ... y OpenPegasus le permitirán acceder a Windows usando un WMI Mapper . Si no, siempre puede ejecutar el componente del servidor en Windows.

Otros consejos

Con respecto a WMI sobre HTTP, eche un vistazo a WinRM , que parece ser una implementación de WS-Management para XP, Win2003, Win2008 y Vista. Esto define una forma de acceder a Modelo de información común (CIM) a través de HTTP (S) (JABÓN). CIM se define mediante DMTF y WMI es la implementación de CIM de Microsoft.

Si leo la sopa de letras correctamente, debería poder usar SOAP de Linux para acceder a WinRM (WS-Management) en una máquina con Windows, proporcionando así acceso a WMI (siempre que WinRM esté instalado, ejecutándose y no cortafuegos).

Si TI / Seguridad permitirá ejecutar tal cosa en una red corporativa es otra cuestión: cualquier puerto abierto puede ser un riesgo de seguridad y uno que permita el comando, el control y la configuración por diseño puede ser un gran agujero. ¡Los certificados, IPSec y las reglas de firewall de ámbito son su amigo!

Tenga en cuenta que no tengo experiencia directa con WS-Management, ni WinRM, así que YMMV .

Sé que puedes instalar wmi-client en Linux (sudo apt-get install wmi-client). Debería poder consultar cualquier objeto wmi en un cuadro de Windows desde la línea de comandos de Linux usando esto.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top