在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();
我只是不确定在我确定它不存在的情况下如何实际添加适配器。
有任何帮助吗?一个例子的链接会很好,我已经搜索了所有地方,我无法找到我正在寻找的东西。
答案 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。