Allowing Multiple RDP Sessions In Windows 10 Using The RDP Wrapper Library

masterjosh
by
masterjosh
Apr 05, 2019
Allowing Multiple RDP Sessions In Windows 10 Using The RDP Wrapper Library

If you have ever attempted making multiple remote desktop connections simultaneously to your Windows 10 machine, you must have observed that by default, Windows 10 doesn’t allow multiple RDP sessions. Only one user can be connected at any time.

Even if you have the Pro or Enterprise versions, trying to open a second RDP session results in the following message:

Another user is signed in. If you continue, they’ll be disconnected. Do you want to sign in anyway?

Looks like this:

"Allowing Multiple RDP Sessions In Windows Using The RDP Wrapper Library"

This article will show how to allow multiple RDP sessions in Windows DESPITE the default single user restriction. We will do this using the RDP Wrapper Library.

Before I proceed, here’s a summary of the basic restrictions associated with Windows RDP.

  1. RDP is only supported in Windows Professional and above. The feature is completely disabled in all Home editions.
  2. By default, only one remote RDP connection is possible at any time. Trying to create a second one prompts you to close the first one.
  3. If a user is working on the console of the local PC and you start a remote RDP session, the console session will get terminated automatically. Also if a user tries to login to the system console when there is an active RDP connection, the remote RDP connection will be forcibly terminated.
  4. On Windows 10 Home PCs, incoming RDP connections are completely forbidden. However, with the same RDP Wrapper Library discussed here, that problem can be solved as well.

Interestingly, from a purely technical perspective, Windows 10 can indeed support multiple remote desktop connections right out of the box. In fact, any Windows version has the built in capability to support dozens (or even hundreds) of simultaneous users connected via RDP at the same time – as long as the machine has enough memory of course (about 150-200 MB of RAM is needed per RDP session on average).

The single RDP user limitation is related to licensing and nothing else. It has nothing to do with the actual technical capabilities of the Windows operating system. The only technical limitation in this regard would be memory availability.

 

In the light of the above, please note this disclaimer…

Important Note (Disclaimer): System modifications described in this article may be treated as a violation of the Microsoft license agreement with all the consequences that come with it. This article is created mainly for educational purposes. Please do your own due diligence to understand the licensing implications of the RDP Wrapper Library if you intend to use it on a live system.

What Is The RDP Wrapper Library?

The RDP Wrapper Library is a utility that acts as a layer between the Service Control Manager (SCM) and Terminal Services to allow multiple RDP connections run concurrently. It also enables the remote RDP connection feature on PCs running Windows 10 Home (as mentioned above, this feature is disabled by default on all versions of Windows lower than Pro).

To get this library, download the zip file of the latest release of the RDP Wrapper Library from its Github page. As of this writing (April 4, 2019), the latest realease is v1.6.2.

Since this library is completely open source, you can also build it from source yourself. The full source code is available here: https://github.com/stascorp/rdpwrap

For our purpose, we will work with the pre-built release contained in the zip file.

 

Note: You may need to temporarily turn off your anti-virus software to allow the download.

Your downloaded archive will contain the following files:

  • RDPWinst.exe — the install/uninstall program (generally launched by the installer and uninstaller batch files below)
  • RDPConf.exe — a configuration utility
  • RDPCheck.exe — a local RDP checker (utility)
  • install.batupdate.bat, and uninstall.bat — batch files for installing, updating, or uninstalling the program

"RDP Wrapper Library Release Files"

Installing And Using The RDP Wrapper Library

Before installing RDP Wrapper, it is important to use the original (unpatched) version of the termsrv.dll file. If not, the RDP Wrapper Library may be unstable, or it may not even start at all. I point this out here because, some older methods of “hacking” Windows RDP to allow multiple simultaneous sessions involved patching the termsrv.dll file.

To install the RDP Wrapper Library, run install.bat as an administrator. While installing the program, it attempts to access GitHub to get the latest version of the .ini file. If you want to disable this (you don’t really need to), just take off the -o flag in the install.batfile.

The program will be installed to the C:\Program Files\RDP Wrapper directory.

When you’re done with the installation, run RDPConfig.exe and make sure that all the items under the Diagnostics section are green.

If you removed the -o flag from the install.bat file during installation, or if you performed your installation without an Internet connection, you may notice that the Listener state is marked [not supported].

To fix this, download the rdpwrap.ini file from the its Github page and put it in the RDP Wrapper installation folder (C:\Program Files\RDP Wrapper). Restart RDP Wrapper and confirm that the previously [not supported] flag changes to [fully supported].

The RDP Wrapper Library has some cool features:

  • An option to Hide users on logon screen – You may not want the list of logged in users to be visible on the welcome screen. This option lets you hide them.
  • Single session per user – If disabled, allows multiple concurrent RDP sessions under the same account.
  • …and quite a few other features

Once, you have finished setting up the RDP Wrapper, go ahead and open an RDP session. While the session is still running, open another. If you carefully followed the instructions here, both sessions should run concurrently.




Add Comment