Манипулировать Hyper-V из .NET - PullRequest
15 голосов
/ 15 ноября 2009

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

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

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

Ответы [ 5 ]

12 голосов
/ 15 ноября 2009

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

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

4 голосов
/ 01 июля 2010

Оболочка WMI в C # для Hyper-V доступна по адресу http://hypervlib.codeplex.com

3 голосов
/ 05 мая 2015

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

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

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

1 голос
/ 10 октября 2011

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

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

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

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

...