VMware {code} Community
OnurSimsek
Contributor
Contributor

AcquireTicket and vmware-vmrc.exe

Hi all,

We let users open remote consoles, and we used to call AcquireMksTicket and pass the ticket to vmware-vmrc to paypass the credential

With Vi SDK 4.1, AcquireMksTicket is replaced with AcquireTicket and also it seems vmware-vmrc distributed with the vSphere also changed and now it requires the ticket returned by AcquireCloneTicket rather than AcquireTicket.

We dont want to use AcquireCloneTicket, because the ticket returned by that API can be used to connect to any VM. We want more control over how that ticket is used. According to SDK documentation, AcquireTicket can still be used to connect to the VM. When we pass the ticket returned by AcquireTicket, vmrc fails to connect to the VM with "invalid ticket" error. What is the correct way to use the AcquireTicket to connect to VM console?

Thanks in advance

Onur

0 Kudos
4 Replies
OnurSimsek
Contributor
Contributor

We couldn't find a way to use AcquireTicket, and switched to using AcquireCloneTicket

0 Kudos
dab04
Contributor
Contributor

I got a ticket (mksticket or clone ticket doesn't matter), but how can I pass this ticket to  vmware-vmrc.exe as a parameter?

How can I use vmware-vmrc.exe from within my c#--Application without specifying userid and password but the ticket as credentials?

I tried vmware-vmrc.exe -u <ticket> -p <ticket> but this doesn't work.

0 Kudos
dab04
Contributor
Contributor

I found it!Smiley Happy

vmware-vmrc.exe -h <Server>:443 -p <ticket> -M "<machine objectid>", where ticket is the ticket get from sessionmanager via AcquireCloneTicket.

0 Kudos
Coldblooded
Contributor
Contributor

This is not Answered. The Original post indicated that AcquireCloneTicket is not secure enough, because that ticket allows anyone to access any vm. The more appropriate "AquireTicket" should be used, But it appears that the Ticket Generated from that does not work. Recommendation is to start a support ticket with vmware.

0 Kudos