在C#中设置新的来宾虚拟网络适配器?

时间:2016-03-17 22:57:26

标签: .net vmware

在PowerCLI中你基本上都是

$vm | New-NetworkAdapter -Portgroup $name -Type Vmxnet3 -StartConnected

完成。

但是,我试图在.Net中完成此任务。我能够连接到vsphere并查询获取VirtualMachine。我甚至可以使用

查询是否存在适配器
vm.Guest.Net.NotEmpty() && vm.Guest.Net.Where(nicInfo => nicInfo.Network == portgroupName).NotEmpty();

我只是不确定在我确定它不存在的情况下如何实际添加适配器。

有任何帮助吗?一个例子的链接会很好,我已经搜索了所有地方,我无法找到我正在寻找的东西。

1 个答案:

答案 0 :(得分:0)

您是否使用标准vSphere SDK或其上的某种包装器?我还没有在vSphere SDK中看到vm.Guest.Net语法。

假设您使用的是Web服务SDK,则可以通过ReconfigVM_Task API调用(http://pubs.vmware.com/vsphere-60/topic/com.vmware.wssdk.apiref.doc/vim.VirtualMachine.html?path=7_1_0_2_5_16_25#reconfigure)添加NIC。在较高级别,您需要创建一个VirtualMachineConfigSpec,其中deviceChange字段包含您要创建的NIC。由于您的PowerShell示例提到了VmxNet3,因此您需要一个VirtualVmxnet3类型的设备,其backing字段的类型为VirtualEthernetCardDistributedVirtualPortBackingInfo(如果您要连接到VDS)或{{1} (如果你要连接到VSS)。

将配置规范传递给VirtualEthernetCardNetworkBackingInfo API后,它应该更新VM并为您添加NIC。