我们有一个使用WMI的.NET项目,并且有兴趣将它移植到Mono框架。

Mono似乎不支持WMI。

是否有可以添加WMI支持的库?

基本上我们想要从Linux / OS X盒中使用WMI访问Windows服务器。

有帮助吗?

解决方案

Windows Management Instrumentation是Microsoft的WBEM实现(基于Web的企业管理

您可以使用客户端进行开源实施(例如 openPegasus ),但是没有人知道MS对他们的版本做了什么。如果您可以将CIM查询发送到服务器,那么您可能会获得良好的结果。

请注意,Windows不会通过http执行WMI,只执行DCOM / DCE-RPC,因此某些客户端将无法运行。快速google ..和OpenPegasus将允许您使用 WMI Mapper访问Windows 。如果没有,您可以随时在Windows上运行服务器组件。

其他提示

关于HTTP上的WMI,请查看 WinRM ,似乎是针对XP,Win2003的 WS-Management 的实现, Win2008和Vista。这定义了一种通过HTTP(S)访问公共信息模型(CIM)信息的方法(肥皂)。 CIM由 DMTF 定义,WMI是Microsoft对CIM的实现。

如果我正确阅读了字母汤,您应该能够使用Linux中的SOAP访问Windows机器上的WinRM(WS-Management),从而提供对WMI的访问(只要WinRM已安装,运行,而不是防火墙)。

IT /安全是否允许在公司网络上运行这样的事情是另一个问题:任何开放端口都可能存在安全风险,并且允许命令,控制和配置设计可能是一个很大的漏洞。证书,IPSec和范围防火墙规则是您的朋友!

请注意,我没有使用WS-Management和WinRM的直接经验,因此 YMMV

我知道你可以在Linux上安装wmi-client(sudo apt-get install wmi-client)。您应该能够使用此命令从Linux命令行查询Windows框中的任何wmi对象。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top