How to allow multiple Remote Desktop Connections in Windows 10 or Windows 11
Can multiple users remote desktop at the same time? This article will uncover the answer.
NOTE: Our original article targeted Windows 10 users who need to implement multiple remote desktop connections. Fortunately, the information we offer here will also work with Windows 11, the newest version of the popular operating system. Read on to learn how to get around the limitations of remote desktop on a Windows system.
Understanding Remote Desktop Connection Limitations on Windows 10/11
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).
- 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).
- 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.
- 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
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).
How to use RDP Wrapper to enabling multiple RDP Sessions in Windows 10
- Run the install.bat with the Administrator privileges to install RDPWrap. RDP Wrap will be installed in the C:\Program Files\RDP Wrapper directory.You should see the “RDP Library installation completed successfully” notification.
- Once installation is complete, users should run the RDPConfig.exe.Check that all elements in the Diagnostics pane are green. To double-check the installation process, launch the RDPCheck.exe. It should show the RDP status as [supported]. You’ll also see the maximum amount of allowed concurrent connections.
- In the “Diagnostics” section, ensure all elements are green (see below).
- Run the RDPCheck.exe, then attempt to start a secondary RDP session (or connect multiple RDP sessions from remote computers).
How to fix RDP Wrapper not working
Sometimes, you may see a notification saying that the app is running but not working. It’s a common situation, so there is no reason for panic. It means that you have an unsupported Windows version (ver. 10.0.19041.1320) or you didn’t correctly set up the RDPwrap correctly.
To resolve the issue, use this instruction:
- Check that you’ve downloaded the RDWrap version suitable for your Windows version.
- Ensure that your RDPWrap configuration file matches the version of termsv.dll in your Windows folder. If it’s not, download a suitable RDPWRAP.ini file.
- If you have recently updated your system and it changed the termsrv.dll file to a new one, you have two options. You can find online a termsrv.dll file that supports the current RDWrap version, or you can download the RDPWRAP.ini that matches your current system version.
- Restart your PC to implement those changes. Run the RDPconfig.exe to check if it helps. You should see the [fully supported] caption.
Those who’ve decided to install the most current version should look for the file on the GitHub or install the RDPWRAP.ini manually. You can copy the content of the file to C:\Program Files\RDP Wrapper\rdpwrap.ini. Or you can use the PowerShell cmdlet Invoke-WebRequest, but make sure to stop the Remote Desktop service first. Paste this command to the PowerShell, so your computer installs this file for you:
Stop-Service termservice -Force
"C:\Program Files\RDP Wrapper\rdpwrap.ini
Note: third-party remote software may interfere with the RDP Wrapper app, so you may see the error notification even when everything is OK with your hardware and system.
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
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.