是否有任何方法可以让.NET应用程序创建,删除,启动和停止Hyper-V虚拟机?
我想创建一种从C#应用程序启动和停止(创建和删除是奖励)虚拟机的自动方法。我认为(至少)有一种方法可以通过P / Invoke这样做,但我找不到任何讨论如何做到这一点。
任何指向一些好的演练或文档的链接都是可取的。
答案 0 :(得分:12)
Hyper-V的大部分自动化都是通过WMI实现的。 WMI不是一个明确的.NET API,但它很容易使用.NET。
Hyper-V WMI API文档位于http://msdn.microsoft.com/en-us/library/cc136992(VS.85).aspx
答案 1 :(得分:4)
适用于Hyper-V的C#中的WMI包装器可在http://hypervlib.codeplex.com
获得答案 2 :(得分:3)
请不要忘记考虑到在最新版本的hyper-v中,命名空间已移至v2。例如,从Hyper-V 2008中的root \ virtualization,名称空间在2012年已更改为root \ virtualization \ v2。(Windows 服务器版) 查看this post了解详情。
这对我最新版本的Hyper-V有很大帮助
希望它有所帮助。
答案 3 :(得分:1)
System Center Virtual Machine Manager附带了一组非常好的.NET程序集,您可以在应用程序中自由引用它们。它还具有出色的Powershell界面,可轻松编写脚本。
但是,如果您使用的是原始Hyper-V而不是SCVMM,那么我不知道。看看你是否可以让你的老板参加SCVMM。
答案 4 :(得分:1)
你可以做到这一点以及更多。 http://archive.msdn.microsoft.com/ddc 它适用于托管商,但可以在内部轻松安装。