Как использовать Vestris API для включения виртуальных машин ESX Server, используя только имя виртуальной машины?

Я использую API Vestris.VMWareLib для удаленного управления своими виртуальными машинами на сервере ESX 5.0. Я использую метод VMWareVirtualMachine.Open для включения своих виртуальных образов. Мой код написан на C#. Проблема в том, что вам нужно знать путь к хранилищу данных, прежде чем вы сможете включить образ, что немного неудобно. Есть ли способ включить образы, используя только имя виртуальной машины? Спасибо, Джон


person bearaman    schedule 17.09.2013    source источник


Ответы (1)


Я использую ту же технологию для включения виртуальных машин, и у нас есть база данных с именами виртуальных машин. И у нас есть соглашение об именах, имя виртуальной машины должно быть уникальным (не должно содержать никаких других имен сервера! Например: abc и abcd не разрешены).

И внутри кода я использую следующий linq для поиска фактической виртуальной машины по имени:

List<VMWareVirtualMachine> vitualMachines = virtualHost.RegisteredVirtualMachines.ToList();
VMWareVirtualMachine serverTofind = vitualMachines.Where(vm => vm.PathName.Contains("Your server name")).First();

надеюсь поможет!

person kameny    schedule 09.10.2013
comment
Фантастика, отлично работает. Спасибо за короткое, но полезное решение. - person bearaman; 10.10.2013
comment
На самом деле, после просмотра, это не то, что мне нужно. Ваш код находит нужную машину, если имя указано в пути, но что, если это не так? Судя по всем параметрам, метод GetProperty может быть лучшим способом получить имя виртуальной машины, но я не знаю, как его использовать. Есть идеи? - person bearaman; 17.10.2013