When it comes to troubleshooting virtual desktops, one of the best ways to support users is to look over their shoulder and see what they're actually doing to figure out what's going wrong. Since that's not always possible, there are other methods and tools for desktop remote control.
In small businesses, user support means that staff members walk the floor and see the problem for themselves. In larger organizations, that approach is very expensive, and just getting to where the user has a problem can take a while. If the organization has multiple locations or lots of small branches, it may take days for a support engineer to get to the site. So, most enterprises use some kind of desktop shadowing to enable the support team to see the user's desktop without physically being there.
Session shadowing in RDS and XenApp
Microsoft Remote Desktop Services (RDS) and Citrix XenApp both have built-in session shadowing that provides an easy and central way for support teams to access user desktops. Usually, the biggest challenge is identifying which RDS server holds a user's sessions. This is often addressed using BGInfo to overlay the RDS server host name on the user's desktop wallpaper. If you're not using BGInfo, you should; it allows a lot of support information to be presented in an accessible form right on the user's desktop.
You might expect that Citrix and Microsoft VDI would offer the same session shadowing that is present in the server desktop products, but they do not directly compare. Since VDI products use desktop editions of Windows, the shadowing functionality is not present. On the positive side, since the OS is a standard Windows desktop and the desktop is dedicated to the user, it isn't so hard to use any remote control application that works with Windows.
Windows Remote Assistance
Built into Windows is the Remote Assistance feature, which was designed for allowing a support engineer to take control of a user's PC while they talk on the phone to resolve a problem or even train the user.
More on remote control
Apperian offers iPad remote control
Remote access services for mobile workers
Session shadowing returns to Windows Server 2012 R2 RDS
For a VDI deployment, Remote Assistance should be controlled using Windows Group Policy. This can remove the need for the user to send a request for help and allows the support team to initiate taking control of the user's desktop. VDI is a great place for Group Policy because virtual desktops are on the same fast network as the Windows Domain Controllers, eliminating one of the causes of failure with Group Policy Objects (GPOs). Also, virtual desktops are much more consistently configured than physical PCs, making GPO management simpler.
Having the support team use the same VDI environment as the user does also mean that the Remote Assistance session will be responsive for both the user and the support engineer, since the shadowing will be over the data center network. Remote Assistance works so well with VDI that Citrix has built a launch button for it into the XenDesktop management console.
That's something that VMware could learn from with Horizon View, which has no built-in support for any session shadowing.
Other options for desktop remote control
Of course, you may use another desktop remote support tool, particularly if you also have to support physical PCs or have a configuration and application management system. Tools such as the Symantec Deployment Solution and System Center Configuration Manager have a remote control function built into their agent, and other organizations have deployed DameWare or VNC as part of their standard build. Using the same tool for VDI session remote control and physical PCs can be very beneficial for administrators.
One factor to be aware of is the CPU, RAM and disk load placed on the virtual desktop by the agent for these tools, particularly when the user is not actively using their desktop. Where the agent is installed on a physical PC, there are usually ample spare resources. However, in a VDI environment, these resources need to be budgeted into the virtualization host specification. If the virtualization hosts are already resource-constrained, it may be better to use the built-in remote support rather than have an additional agent. This is particularly true for nondedicated desktops where the configuration and software management parts of the agent will not be used and the VDI platform controls installed applications and settings.
Remote control of a user's desktop is a crucial part of a support engineer's toolkit, particularly for supporting users who are far away. Fortunately, you can even control a virtual desktop using some of the same tools that are used to control any other Windows desktop.