Like in previous client versions of Microsoft operation systems, users of Windows 10 Pro and Enterprise (but not Home) editions can connect their computers remotely using Remote Desktop Connection (RDP) service. However, there is a restriction on the number of simultaneous RDP sessions: only one remote user can work at a time. When you try to open a second RDP session, the session of the first user is prompted to be closed.
The fact is that the desktop editions of Microsoft operating systems have the following basic limitations when using the Remote Desktop service:
- Support for RDP access is available only in higher Windows editions (Professional and above). In Home editions this functionality is completely disabled.
- Only one simultaneous remote RDP connection is possible. When you try to open a second RDP session, you are prompted to close the existing connection.
- If there is a user who works on the console of the computer (locally), when you try to create a new remote RDP connection, the console session will be terminated. A remote RDP session will be also forcibly terminated if the user will try to log in to the system console.
Actually, the number of simultaneous RDP connections is limited rather by the license, which does not allow to create an RDP server based on the workstation for use by multiple users, than by any technical aspect. From a technical point of view, any Windows version, if there is enough memory, can support simultaneous operation of several dozens of remote users if there is enough memory (on average, 150-200 MB of memory is required for one session, without taking into account the launched apps). Those the maximum number of simultaneous RDP sessions in theory is limited only by computer resources.
Let’s consider two ways on how to eliminate the restriction of simultaneous RDP connections to Windows 10:
RDP Wrapper Library
The alternative to termsrv.dll file modification is to use RDP Wrapper Library project. This software serves as a layer between SCM (Service Control Manager) and Terminal Services and allows not only to enable the support of several simultaneous RDP sessions, but also to enable the support of RDP Host on Windows 10 Home editions. RDP Wrapper does not make any changes to termsrv.dll file, it just loads termsrv library with the changed parameters.
Thus, this solution will work even in case of termsrv.dll file update. It allows not to be afraid of Windows updates.
RDP Wrapper can be downloaded from GitHub repository: https://github.com/binarymaster/rdpwrap/releases the latest available version of RDP Wrapper Library v1.6.2 was released relatively recently – December 28, 2017). Based on the information on the developer page, all versions of Windows are supported. Windows 10 is supported right up to the version of Insider Preview build 10.0.17063.1000 (from December 13, 2017).
RDPWrap-v1.6.2.zip archive contains some files:
- RDPWinst.exe — an RDP Wrapper Library install/uninstall program
- RDPConf.exe — an RDP Wrapper configuration utility
- RDPCheck.exe — Local RDP Checker — an RDP check utility
- install.bat, uninstall.bat, update.bat — batch files for installation, uninstallation and update of RDP Wrapper
To install the utility, run install.bat with the Administrator privileges. During the installation process, the utility accessing the GitHub site for the latest version of the ini file. To undo this, remove the -o flag in the install.bat file. The program will be installed in the C:\Program Files\RDP Wrapper directory.
When the installation is over, run RDPConfig.exe. Make sure that all elements in Diagnostics section are green.
Several interesting features of the new version of RDP Wrapper:
- Options Hide users on logon screen – allows you to hide the list of users on the welcome screen.
- If you disable the Single session per user option, multiple simultaneous RDP sessions will be allowed under the same account (the registry parameter fSingleSessionPerUser = 0 is set in the key HKLM\SYSTEM\ CurrentControlSet\Control\Terminal Server\fSingleSessionPerUser).
In the event that after updating the Windows version, RDP Wrapper does not work, check that the Listener state: Not listening is listed in the Diagnostics section.
Try to update the ini file using the update.bat script (or manually) and reinstall the service:
Try to open the second RDP session (make sure that RDP access is enabled in the system settings). It worked out well! Now, our Windows 10 allows two users to start RDP sessions simultaneously.
The Modification of termsrv.dll
The restriction on the number of RDP connections can be eliminated using termsrv.dll file (a library file used by Remote Desktop Services) modification. The file is located in C:\Windows\System32) directory.
Before termsrv.dll file modification, create its backup (if necessary, you can use the original version of the file):
copy c:\Windows\System32\termsrv.dll termsrv.dll_backup
Before termsrv.dll file editing, you have to become its owner and give the Administrators group the full rights to it (all steps are similar to those that described in the article “Enable Multiple Concurrent RDP Sessions in Windows 8”). After that, stop Remote Desktop service (TermService) in services.msc console or from the command prompt:
Net stop TermService
For Windows 10 x64 RTM edition (termsrv.dll file version is 10.0.10240.16384):
Open termsrv.dll file using any HEX editor (for example, Tiny Hexer)
Find the line:
39 81 3C 06 00 00 0F 84 73 42 02 00
Replace it with:
B8 00 01 00 00 89 81 38 06 00 00 90
Save the file and run TermService.
The ready patched termsrv.dll file for Windows 10 Pro x64 can be downloaded here: termsrv_for_windows_10_x64_10240.zip