如何以编程方式将NIC添加到Hyper-V VM?

时间:2014-04-18 15:12:52

标签: wmi hyper-v wmic

我有大量的虚拟化服务器。对于他们每个人,我想添加一个额外的虚拟NIC。任何人都可以提供一些如何编写脚本的指针吗?我看过Programmatically attaching a VHD to a remote Hyper-V VM,但我不熟悉C#。

另外,我可以在不必停止VM的情况下执行此操作吗?我意识到客户操作系统可能需要重新启动以使用新的NIC,但我还没有担心。我只想"热插拔"新的NIC。

1 个答案:

答案 0 :(得分:0)

如果您不需要在C#中执行此操作,则可以使用Hyper-V PowerShell cmdlet: Add-VMNetworkAdapter

有关cmdlet的基本文档,请参阅:

  

http://technet.microsoft.com/en-us/library/hh848564.aspx

使用示例:

  

Add-VMNetworkAdapter -VMName YourVMNameHere -SwitchName YourVirtualSwitchNameHere

如果您确实需要在C#中执行此操作,则可以只添加PowerShell Hyper-V库的参考引用。

如果您不想要PowerShell,则需要使用Hyper-V WMI提供程序。请注意这一点,因为V1和V2之间存在显着差异。 V1基本上是2008和2012年和2012 R2的V2。这需要更多的努力。

对于添加网卡的V2 WMI Api示例,请参阅:

  

http://blogs.msdn.com/b/taylorb/archive/2013/07/15/adding-a-network-adapter-to-a-vm-using-the-hyper-v-wmi-v2-namespace.aspx

最后一个,虽然用PowerShell编写,但可以向后移植到纯C#WMI代码。对象将是相同的。