The VMM Administrator Console's VirtualMachineViewer.exe and the VMM Self-Service Portal (SSP) both use a same codebase for connecting to Hyper-V virtual machines. With the enhancements made to Win2k8 and VistaSP1, we are able to leverage MSTSCAX to connect to virtual machines through the host. What this means is that instead of directly connecting to the Virtual Machine using RDP, we instead RDP to the host and specify the VM to connect to. This allows VMM to connect to virtual machines with no network connectivity and to be able to view the virtual machine while booting (both of these features would not have been possible with regular RDP). One caveat of this implementation is that if you don't have the Integration Services installed inside of the guest operating system, then mouse support is not enabled when you launch either VirtualMachineViewer or the SSP within a terminal services connection. Basically, trying to RDP inside an RDP connection makes the mouse not behave correctly, so we disabled mouse support for this scenario. VMConnect.exe from Hyper-V has the same limitation.

 

Because this is only possible with Vista SP1 and Win2k8, if neither of these operating systems are  installed on the client machine (and in this case, a client machine is the machine either running the  internet explorer in the SSP case, or the machine running the Administrator Console), then VMM tries to  connect to the Virtual Machine using standard RDP. Connecting via regular RDP has a few requirements of its own as well.

-The Integration Services need to be installed in the virtual machine. When the integration services are installed, VMM is able to get the fully qualified computer/domain name of the operating system installed in the guest operating system. We use this computer name to connect to the VM via RDP.

-There has to be a network connection from the client machine to the Virtual Machine (meaning we need network connectivity as well as the RDP port being open in any firewalls)

 

For connecting to VMware virtual machines, we use their QuickMKS ActiveX control that is available from their web service. As always, for Virtual Server we use the VMRC protocol for connecting to the virtual machines.