totoroliu
Enthusiast
Enthusiast

Now I'm using this hacky way to do it directly on ESX hypervisor host:

1. Get VMID

VMID=$(vim-cmd vmsvc/getallvms | sed -n "s:^([0-9])\s${VM_NAME}\s.$:\1:p")

2. Unregister VM

vim-cmd vmsvc/unregister "${VMID}"

3. Update .vmx file to add/define "Virtual Serial Port"

echo "

serial0.fileName = "telnet://:7003"

serial0.fileType = "network"

serial0.present = "TRUE"

serial0.yieldOnMsrRead = "TRUE"

" >> /vmfs/volumes/datastore1/${VM_NAME}/${VM_NAME}.vmx

4. Register VM

vim-cmd solo/registervm /vmfs/volumes/datastore1/${VM_NAME}/${VM_NAME}.vmx