I have written an app that opens the vmware remote console (vmware-vmrc.exe) by passing it the VirtualMachineTicket value from the AcquireTicket method (see vSphere API for more details).
The problem I am having is that when I pass the ticket value to the vmware-vmrc.exe application I receive a vim.fault.invalidticket. Here is what the command looks like:
vmware-vmrc.exe -h 192.168.1.10:443 -p VCT-52d576c5-b292-681a-40f8-f06cf9d7b926 -M "vm-18273"
I was able to determine this was the format VMware was using by running process explorer while logging into the vSphere Web Interface. The process explorer shows exactly what the command looks like at the time it is called. So the 192.168.1.10 address is the vCenter server in this case, the password is the ticket value preceded by a "VCT-" prefix (perhaps standing for VMware Console Ticket), and finally the ManagedObject ID of the virtual machine I am trying to connect to.
So after passing the ticket value to the vmware-vmrc application, the error is generated... but if I do this from the web interface directly, there is no invalidticket exception. The only way I can get the vmware-vmrc to work is to exclude the VCT-Ticket info and call the vmware-vmrc application with the vCenter host address and the MOID value for the virtual machine. Then the console opens up, asks for the username and password, and then allows access to the vm console.
Of course the idea is to bypass having to login by supplying the ticket information on behalf of the user that is already authenticated.
Does anyone have experience with this? There is almost nothing on google about how to handle VirtualMachineTicket information with regards to the vmware-vmrc console application.