Troubleshooting Shadowing With SuperShadow
In some cases, you may see a black screen or white screen when attempting to use SuperShadow in our Remote Desktop Commander client software to remotely monitor or assist users in their RemoteApp or RDS sessions. This article will help you troubleshoot your issues.
Prerequisites Required to Shadow With SuperShadow:
Remote Desktop Commander must be installed on a network segment that has direct “line of sight” to your terminal servers / RDS servers. When the shadowing process is initiated by Remote Desktop Commander, the target RDS server dynamically chooses a TCP port and sends that port to Remote Desktop Commander, which it attempts to connect to in order to start shadowing. Any firewalls in between the system running Remote Desktop Commander and the Terminal Server hosting user sessions will prevent SuperShadow from working. Consider placing Remote Desktop Commander on one of your RDS session hosts (e.g. jumpbox configuration) or as a published RemoteApp on one or more of your RDS session hosts to avoid firewall problems. Similarly, make sure that BOTH of following Windows Firewall exceptions are open on all of your RDS session hosts: Remote Desktop – Shadow (TCP-In) AND Remote Desktop Services – Shadow (TCP-In). Depending on your operating system level, one or both of those shadowing exceptions may be available, and if more than one is shown, enable BOTH or shadowing may not work!
By default, only Windows administrators can shadow users. If you wish for non-admin / help desk staff to be able to manage and shadow sessions on your RDS session hosts, please use this full guided resource to learn how to delegate rights to your help desk staff with Remote Desktop Commander. Then, reboot your session host servers during a maintenance window to apply the delegated permissions.
The client system running Remote Desktop Commander must have an OS level of Windows 8, Windows 10, Windows 11, Server 2012 R2, Server 2016, Server 2019, or Server 2022. The target RDS server must be running Windows Server 2012 R2 or later. Windows 7, Windows 2012 (without R2), and Windows Server 2008 operating systems are NOT supported.
Other Things That Can Impact the SuperShadow Feature:
When shadowing RemoteApp sessions, the SuperShadow window may show a black screen until the RemoteApp begins to redraw its window. You can accelerate this process by asking the user whose session you are shadowing to “move” the RemoteApp slightly on their screen to force the screen redraw.
Similarly, if the user’s session is not disconnected, but they have minimized the RDS client to the Taskbar area, you may only see a black screen until they re-maximize the RDS client window and begin working again. You can use Remote Desktop Commander to check the idle time of their session if you expect this is an issue.
If SuperShadow repeatedly shows a white screen, close and reopen Remote Desktop Commander to reinitialize the client side shadowing libraries it uses.
If you continue to see a white screen, check the resources on the RDS session host server hosting the user sessions you are trying to shadow. If that session host server is “running close to red line,” meaning that its CPU or memory is at 80% or greater, this can impact the server’s ability to initialize server side processes required to shadow a user session. Each user session being shadowed can use between 80 to 200MBs of RAM, AND can use between 3 and 15% of CPU, depending on the user session’s screen resolution. Consider adding resources to your terminal server VMs if they are CPU or memory constrained.
Disconnected user sessions cannot be shadowed. You will see a black screen with a Pause button displayed (e.g. | | ).
Finally, If Shadowing Issues Persist:
Open the Microsoft Windows Event Viewer (Eventvwr.exe) on the RDS session host server whose user sessions you cannot shadow.
Under Applications and Services Logs, navigate to Microsoft->Windows->TerminalServices-RemoteConnectionManager/Operational
Review the logs to look for errors or warnings around the time you attempted to initiate a SuperShadow session.
If errors are logged, you can send those errors to the RDPSoft support team by starting a support ticket here.