Mono .NET Framework и WMI - PullRequest
       9

Mono .NET Framework и WMI

7 голосов
/ 16 июня 2009

У нас есть проект .NET, который использует WMI и заинтересован в портировании его на платформу Mono.

Похоже, что Mono не поддерживает WMI.

Существуют ли библиотеки, которые могут добавить поддержку WMI?

По сути, мы хотели бы получить доступ к серверу Windows с помощью WMI из Linux / OS X box.

Ответы [ 3 ]

5 голосов
/ 17 июня 2009

Что касается WMI по HTTP, взгляните на WinRM , который представляется реализацией WS-Management для XP, Win2003, Win2008 и Vista. Это определяет способ доступа к информации Общая информационная модель (CIM) через HTTP (S) (SOAP). CIM определяется DMTF , а WMI является реализацией CIM от Microsoft.

Если я правильно прочитал алфавитный суп, вы сможете использовать SOAP из Linux для доступа к WinRM (WS-Management) на компьютере с Windows, таким образом предоставляя доступ к WMI (пока WinRM установлен, работает и не брандмауэры).

Будет ли IT / Security разрешено запускать такую ​​вещь в корпоративной сети - это совсем другое дело: любой открытый порт может представлять угрозу безопасности, а тот, который позволяет проектировать команды, управлять ими и конфигурировать их, может оказаться довольно дырой. Сертификаты, IPSec и правила брандмауэра - ваш друг!

Обратите внимание, что у меня нет опыта работы с WS-Management и WinRM, поэтому YMMV .

5 голосов
/ 16 июня 2009

Инструментарий управления Windows является реализацией Microsoft WBEM ( Управление предприятием через Интернет ).

Существуют реализации с открытым исходным кодом (например, openPegasus ), которые вы могли бы использовать клиент, но никто не говорит, что MS сделала с их версией. Если вы можете отправлять запросы CIM на сервер, вы можете получить хорошие результаты.

Обратите внимание, что Windows не выполняет WMI через http, только DCOM / DCE-RPC, поэтому некоторые клиенты просто не будут работать. Быстрый Google .. и OpenPegasus позволит вам получить доступ к Windows, используя WMI Mapper . Если нет, вы всегда можете запустить серверный компонент в Windows.

1 голос
/ 16 ноября 2009

Я знаю, что вы можете установить wmi-клиент в Linux (sudo apt-get install wmi-client). Вы должны быть в состоянии запросить любой объект wmi на коробке Windows из командной строки Linux, используя это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...