2016-03-17 3 views
0

В PowerCLI вы в основном делаютНастройка нового гостевого виртуального сетевого адаптера в C#?

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

и сделать.

Однако я пытаюсь выполнить это в .Net. Я могу подключиться к vsphere и запросить захват VirtualMachine. Я даже в состоянии запросить, существует ли адаптер с помощью

vm.Guest.Net.NotEmpty() && vm.Guest.Net.Where(nicInfo => nicInfo.Network == portgroupName).NotEmpty(); 

Я просто не знаю, как на самом деле добавить адаптер, как только я определил, что он не существует.

Любая помощь? Ссылка на пример будет приятной, я googled повсюду, и я не вижу, чтобы найти то, что я ищу.

ответ

0

Вы используете стандартный SDK vSphere или какую-то оболочку поверх нее? Я не видел синтаксис vm.Guest.Net в SDK vSphere.

Предполагая, что вы используете SDK веб-сервисов, вы можете добавить сетевой адаптер с помощью вызова API ReconfigVM_Task (http://pubs.vmware.com/vsphere-60/topic/com.vmware.wssdk.apiref.doc/vim.VirtualMachine.html?path=7_1_0_2_5_16_25#reconfigure). На высоком уровне вам необходимо создать VirtualMachineConfigSpec с полем deviceChange, содержащим сетевой адаптер, который вы хотите создать. Поскольку в вашем примере PowerShell упоминается VmxNet3, вам понадобится устройство типа VirtualVmxnet3, чье поле backing имеет тип VirtualEthernetCardDistributedVirtualPortBackingInfo (если вы подключаетесь к VDS) или VirtualEthernetCardNetworkBackingInfo (если вы подключаетесь к VSS).

После того как вы передадите этот конфигурационный код API ReconfigVM_Task, он должен обновить виртуальную машину и добавить сетевой адаптер для вас.

Смежные вопросы