Манипулировать Hyper-V из .NET.

Существуют ли какие-либо средства для приложения .NET для создания, удаления, запуска и остановки виртуальных машин Hyper-V?

Я хотел бы создать автоматическое средство запуска и остановки (создание и удаление бонусных) виртуальных машин из приложения С#. Я полагал, что (по крайней мере) было бы средство сделать это через P/Invoke, но я не могу найти ничего обсуждающего, как это сделать.

Любые ссылки на некоторые полезные пошаговые руководства или документацию были бы предпочтительнее.

Ответы

Ответ 1

Большая часть автоматизации Hyper-V осуществляется через WMI. WMI явно не является .NET API, но с .NET очень легко работать.

Документы API WMI Hyper-V находятся на http://msdn.microsoft.com/en-us/library/cc136992(VS.85).aspx

Ответ 3

Не забудьте принять во внимание, что в новейших версиях hyper-v пространства имен были перемещены в v2. Например, из root\virtualization в Hyper-V 2008, пространство имен было изменено на root\virtualization\v2 в 2012 году. (Windows Версия сервера) Чтобы узнать подробности, этот пост.

Это очень помогло мне в новейших версиях Hyper-V

Надеюсь, что это поможет.

Ответ 4

System Center Virtual Machine Manager поставляется с очень хорошим набором сборников .NET, которые вы можете свободно ссылаться в своем приложении. Он также имеет отличный интерфейс Powershell для легкого написания сценариев.

Однако, если вы работаете с необработанным Hyper-V, а не с SCVMM, то я не знаю. Посмотрите, можете ли вы получить своего босса до spring для SCVMM.

Ответ 5

Вы можете сделать это и многое другое с этим. http://archive.msdn.microsoft.com/ddc Он предназначен для хостеров, но может быть легко установлен в помещении.