what is remote desktop protocol

How To Allow Multiple Remote Desktop Connections in Windows 10

Updated on:  

Can multiple users remote desktop at the same time? This article will uncover the answer.

For users operating Windows 10 Pro and Enterprise editions (Home edition is not compatible), they are able to set up the remote desktop connections in Windows 10 via the Remote Desktop Protocol (RDP) Services. However, multiple remote desktop connections aren’t possible meaning that only one remote session can run at a time.

If an additional user attempts to run a second RDP session, they’ll receive a pop-up warning telling to disconnect the first/previous user session to proceed.

See the exact message below:

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

Now we’ll cover the most critical limitations of Remote Desktop Service on Windows 10 (as well as any previous versions).

  1. Remote Desktop Protocol is only supported by specific Windows editions (Pro and Enterprise.) Alternatively, Windows Home users cannot receive incoming remote desktop connections (and this can only be solved via the RDP Wrapper Library).
  2. Only a single RDP session/connection is allowed at a time, and if a secondary user tries to run an additional session, they’ll either be prompted to cancel their connection or proceed and automatically close the other connection already in use.
  3. If users work on a local computer console, newly created RDP connections will terminate the console session (RDP sessions can also be forcibly ended if users attempt to log in locally).

In all actuality, the Windows 10 multiple remote desktop sessions limitations are restricted per license and have nothing to do with technical limitations.

Thus, the user volume restrictions don’t permit users to create terminal RDP servers based on a single workstation that could be used by multiple individuals.

Microsoft’s policy towards multiple remote desktop sessions is clear: if users want a Remote Desktop server, then they should purchase a Windows Server license, RDS CALs, and then install and configure the role of the Remote Desktop Session Host (RDSH).

From a technical perspective, any version of Windows running enough RAM can enable concurrent remote desktop sessions for multiple users. An average of 150-200 MB of memory is needed per user session (without accounting for any apps launched during the session).

Quite frankly, the only limitations surrounding remote desktop multiple users capabilities, in theory, are based entirely on computer resources.

Now it’s time to review two methods for Windows 10 to allow multiple remote desktop connections. This is done via the RDP Wrapper app, and by editing the “termsrv.dll” file.

Please Note. System modifications described in this article are considered a violation of the Microsoft License Agreement, and with all the consequences that come with it. Perform them at your own risk.


How To Set Up Multiple Remote Desktop Connections

RDP Wrapper: Enabling Multiple RDP Sessions on Windows 10

One option to enable remote desktop for multiple users on Windows 10 is by using the RDP Wrapper Library. The RDP Wrapper project permits users to support more than one simultaneous RDP session on Windows 10 (without replacing the termsrv.dll file).

RDP Wrapper acts as a layer between the Remote Desktop Service, and Service Control Manager (SCM). RDPWrap lets users enable support for multiple simultaneous RDP sessions, as well as enabling support of RDP Hosts on previously inaccessible Windows 10 versions, like Home.

This app doesn’t alter the termsrv.dll file, only loading the “termsrv” library with the altered parameters necessary for simultaneous connection. Meaning, RDPWrap will even work if the termsrv.dll file updates, meaning that users don’t have to dread Windows updates.

Please note: Prior to the installation of the RDP Wrapper library, users must ensure they’re using the original (unpatched) version of the “termsrv.dll” file. If they don’t use the unpatched file, the app may not function properly or won’t function at all.

Users can download RDP Wrapper from the GitHub Repository (v1.6.2 is the latest available version of RDP Wrapper Library).

According to the information on the developer page, all versions of Windows are supported (Windows 10 support is available up to the 1809 build).

Users will find the following files contained within the RDPWrap-v1.6.2.zip archive:

  • • RDPWinst.exe (RDP Wrapper Library installation/uninstallation program).
  • • RDPConf.exe (RDP Wrapper configuration utility).
  • • RDPCheck.exe (Local RDP Checker, RDP check utility).
  • • install.bat, uninstall.bat, update.bat (batch files for install, uninstall, and updates for RDP Wrapper).
rdpwrap contents

Run the install.bat with the Administrator privileges to install RDPWrap. The utility will access the GitHub site for the most recent versions of the “ini” file during the installation.

RDP Wrap will be installed in the C:\Program Files\RDP Wrapper directory.

install rdp wrapper

Once installation is complete, users should run the RDPConfig.exe.

In the “Diagnostics” section, ensure all elements are green (see below).

rdp wrapper configuration

Run the RDPCheck.exe, then attempt to start a secondary RDP session (or connect multiple RDP sessions from remote computers).

That’s it! Now the Windows 10 machine should permit multiple users to access different RDP sessions simultaneously.

All Windows editions (Windows 7, Windows 8.1, and Windows 10) are supported by the RDPWrap utility. Meaning that users can establish a terminal (RDS) server on any desktop instance of Windows.

Additional noteworthy RDP Wrapper features:

  • • The “Hide users on logon screen” option allows administrators to conceal user lists from the Windows Logon Screen.
  • • If users disable the “Single session per user” option, more than one simultaneous RDP session will work under the same user account (the registry parameter “fSingleSessionPerUser = 0” is set under the key “HKLM\SYSTEM\ CurrentControlSet\Control\Terminal Server\fSingleSessionPerUser”).
  • • Users can edit the Remote Desktop port number from 3389 to a different number of their choosing.
  • • The “Session Shadowing Mode” section lets users reconfigure the remote control (shadow) connection permissions to Windows 10 RDP sessions.

Modifying Termsrv.dll File to Allow Multiple RDP Session

To disable restrictions on the number of concurrent RDP user connections in Windows 10 without RDP Wrapper, users can replace the original “termsrv.dll” file (this is the library file utilized by Remote Desktop Service).

The “termsrv.dll” file can be found in the C:\Windows\System32 directory.

Please note: Prior to editing or replacing the “termsrv.dll” file, we recommend creating a backup copy as a precaution. That way, if anything doesn’t work out how you planned, it will be easy to revert back to the original file configuration.

copy c:\Windows\System32\termsrv.dll termsrv.dll_backup

Before a user can alter the “termsrv.dll” file, they must become its owner, and give the Administrators group permission to it.

Using the Command Prompt is the simplest way to achieve this. Change the file owner from “TrustedInstaller” to a local administrators group using the command shown below:

takeown /F c:\Windows\System32\termsrv.dll /A

Users should now grant the local administrators group “Full Control” permission on the “termsrv.dll” file:

icacls c:\Windows\System32\termsrv.dll /grant Administrators:F

From there, end the Remote Desktop Service (TermService) via the services.msc console (as shown below) or from the Command Prompt:

Net stop TermService

remote desktop services

Open the “termsrv.dll” file using any HEX editor. Dending on the Windows 10 build installed on the machine, users will need to locate and replace the line

39 81 3C 06 00 00 0F 84 XX XX XX XX

and replace it with

B8 00 01 00 00 89 81 38 06 00 00 90

The final 4 pairs are unique to each version of Windows, so remember to replace the entire 12 pairs with the whole string.

Run TermService after saving the edited file.

If anything went wrong, and/or users encounter issues with Remote Desktop service, end the service and replace the modified “termsrv.dll” file with the original version of the file:

copy termsrv.dll_backup c:\Windows\System32\termsrv.dll

The advantage of the method of enabling multiple RDP sessions in Windows 10 by replacing the termsrv.dll file is that antiviruses do not respond on it (unlike the RDPWrap, which is detected by many antiviruses as a Malware/HackTool/Trojan).

The main drawback is that you will have to manually edit the termsrv.dll file each time you upgrade the Windows 10 build (or when updating the version of the termsrv.dll file during the installation of monthly cumulative updates).


Final thoughts on both methods for enabling multiple remote desktop sessions

The advantage of enabling multiple RDP sessions in Windows 10 by replacing the “termsrv.dll” file is that antiviruses don’t respond to it (whereas RDPWrap is treated like a Malware/HackTool/Trojan by many antivirus software).

The most notable disadvantage when using the “termsrv.dll” file method, is that users must manually edit the “termsrv.dll” file each and every time they upgrade their Windows 10 build.

They also need to re-edit the file when updating the version of the termsrv.dll file during monthly cumulative update installations.