Имя хоста виртуальной машины VMware Vsphere, заданное клиентом с помощью мастера развертывания шаблона OVF

#vmware #vsphere

Вопрос:

Мы используем интерфейс командной строки для создания шаблона OVF в формате OVA путем клонирования существующей виртуальной машины с помощью

 New-VM -VM $vmobj -Name $CloneName -Datastore $dsObj -VMHost $esxObj
 

добавьте несколько сценариев в клон, а затем экспортируйте ova с помощью ovftool

 ovftool --noSSLVerify vi://$SERVER/$DC/vm/$CLONENAME 
 

Тем не менее, когда мы развертываем новую виртуальную машину с использованием вышеприведенных OVA, мы хотели бы, чтобы у новой виртуальной машины было то же имя хоста, что и у имени виртуальной машины, заданного во время развертывания (в мастере развертывания, как показано ниже):

smkammy_0-1629485822896.png

Однако заданное имя хоста-это имя клонированной виртуальной машины. Я попытался настроить и использовать спецификацию настройки виртуальной машины, как показано на скриншоте ниже:

smkammy_1-1629485962396.png

И используйте эту спецификацию со следующей командой PowerCLI

 $spec = Get-OSCustomizationSpec -Name "test"
New-VM -VM $vmobj -Name $CloneName -Datastore $dsObj -VMHost $esxObj -OSCustomizationSpec $spec
 

Но он возвращает следующую ошибку:

 PS /root> $vm = New-VM -VM $vmobj -Name "test-clone" -Datastore $dsObj -VMHost $esxObj -OSCustomizationSpec $spec
New-VM: 8/20/2021 4:08:34 PM    New-VM      
Required property hostName is missing from data object of type CustomizationLinuxPrep
while parsing serialized DataObject of type vim.vm.customization.LinuxPrep
at line 1, column 570
while parsing property "identity" of static type CustomizationIdentitySettings
while parsing serialized DataObject of type vim.vm.customization.Specification
at line 1, column 508
while parsing property "customization" of static type CustomizationSpec
while parsing serialized DataObject of type vim.vm.CloneSpec
at line 1, column 312
while parsing call information for method CloneVM_Task
at line 1, column 171
while parsing SOAP body
at line 1, column 64
while parsing SOAP envelope
at line 1, column 0
while parsing HTTP request for method clone
on object of type vim.VirtualMachine
at line 1, column 0
 
 

Can anyone help me fix this or suggest me a better way to do this? Goal is to have hostname be set based on what admin enters during deploying an OVF template.