There are many differences between Windows 10 Home and Professional. The Remote Desktop feature is one of them. Unlike the professional version, if you ever try to use the Remote Desktop feature. Aug 19, 2020 Tip: Like any desktop Windows program, Remote Desktop is for Windows 10 / 8.1 releases. The key to its successful connection via the RDP protocol is the availability of an account, correct login and password for each user.
Method 1:
Method 2:
Remote users can connect to their Windows 10 computers through the Remote Desktop Services (RDP) running on the Pro and Enterprise editions (but not on Home/Single Language). But there is a restriction on the number of simultaneous RDP sessions – only one remote user can work at a time. If you try to open a second RDP session, a warning appears asking you to disconnect the first user session.Another user is signed in. If you continue, they’ll be disconnected. Do you want to sign in anyway?
Let’s consider the main restrictions of the Remote Desktop Service usage on Windows 10 (and all previous desktop Windows versions):
- RDP access feature supported only in higher Windows editions (Professional and Enterprise). In Windows 10 Home editions, the incoming remote desktop connections are forbidden at all (you can solve this only using the RDP Wrapper Library).
- Only one simultaneous RDP connection is supported. When you try to open a second RDP session, the user is prompted to close the existing connection.
- If there is a user who works on the console of the computer (locally), then 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 locally.
Actually, the number of simultaneous RDP connections is limited rather by the license (then by any technical aspect). Therefore, this restriction does not allow to create a terminal RDP server based on the workstation that can be used by multiple users. Microsoft’s logic is simple: if you need a Remote Desktop server – buy a Windows Server license, RDS CALs, install and configure the Remote Desktop Session Host (RDSH) role.
From a technical point of view, any Windows version with a sufficient amount of RAM can support simultaneous operation of several dozens of remote users. On average, 150-200 MB of memory is required for one user 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 allow simultaneous RDP connections on Windows 10: using the RDP Wrapper application and by editing the termsrv.dll file.Contents:
Important. Initially, in the very first version of this post, the main working option that allows you to remove the limit on the number of simultaneous RDP user connections was the way to modify and replace the termsrv.dll file in the %SystemRoot%System32 folder. However, when you install a new Windows 10 build or some security updates, this file can be updated.
As a result, you have to edit this file using Hex editor each time, which is quite tedious. Therefore, you can use the RDP Wrapper Library tool as the main way to deploy a free RDS server on Windows 10.Note. System modifications described in the article are considered as a violation of Microsoft License Agreement with all the consequences that come with it and you may perform them at your own risk.
RDP Wrapper: Enable Multiple RDP Sessions on Windows 10
The RDP Wrapper Library project allows you to support multiple RDP sessions on Windows 10 without replacing the termsrv.dll file. This software serves as a layer between SCM (Service Control Manager) and the Remote Desktop Services. RDPWrap allows you to enable not only support for multiple simultaneous RDP connections, but also to enable the support of RDP Host on Windows 10 Home editions. RDP Wrapper does not make any changes to the termsrv.dll file, it’s just loading termsrv library with the changed parameters.
Thus, the RDPWrap will work even in case of termsrv.dll file update. It allows not to be afraid of Windows updates.Important. Before installing RDP Wrapper it is important to make sure that you use the original (unpatched) version of the termsrv.dll file. Otherwise, RDP Wrapper may not work stably, or it cannot be started at all.
You can download RDP Wrapper from the GitHub repository: https://github.com/binarymaster/rdpwrap/releases (the latest available version of RDP Wrapper Library – v1.6.2). Based on the information on the developer page, all versions of Windows are supported. Windows 10 is supported up to the 1809 build (although , everything also works fine in Windows 110 1909, see the solution below).
The 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 RDPWrap, run the 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 FilesRDP Wrapper directory.
When the installation is over, run the RDPConfig.exe. Make sure that all elements on the Diagnostics section are green.
Run the RDPCheck.exe and try to open a second RDP session (or connect several RDP sessions from remote computers). It worked out well! Now your Windows 10 allows two (and more) users to use different RDP sessions simultaneously.
Windows 10 Download
The RDPWrap utility supports all Windows editions: Windows 7, Windows 8.1, and Windows 10. Thus, you can build your own terminal (RDS) server on any desktop instance of Windows.
Also interesting features of the RDP Wrapper are:
- The option Hide users on logon screen allows you to hide the list of users from the Windows Logon Screen;
- If you disable the Single session per user option, multiple simultaneous RDP sessions will be allowed under the same user account (the registry parameter fSingleSessionPerUser = 0 is set under the key HKLMSYSTEM CurrentControlSetControlTerminal ServerfSingleSessionPerUser);
- RDP Port — you can change the Remote Desktop port number from 3389 to any other;
- In the Session Shadowing Mode section you can change the remote control (shadow) connection permissions to the Windows 10 RDP sessions.
RDP Wrapper not Working on Windows 10
Let’s consider what to do if you cannot use several RDP connections in Windows 10 even with the installed RDP Wrapper tool.
In my case, since there is no direct Internet access on the computer, the RDPWrap could not get the new version of the rdpwrap.ini file from GitHub with the settings for the latest Windows versions. Therefore, the RDConfig utility showed the status [not supported].
Download the rdpwrap.ini file from the developer’s page and place it in the installation folder (C:Program FilesRDP Wrapperrdpwrap.ini). Restart the TermService and make sure that the state [not supported] is changed to [fully supported].
If the RDP Wrapper utility doesn’t work properly after updating the rdpwrap.ini file, the problem can occur because of a new build of Windows 10 you are using. Try to download the new rdpwrap.ini for your Windows 10 version build from here https://github.com/fre4kyC0de/rdpwrap.You can get the rdpwrap.ini for the Windows 10 1909 10.0.18363.476 with the following link rdpwrap_10.0.18363.476_1909.zip.
Also, if you have problems with RDPWrap, you can open the issue at https://github.com/stascorp/rdpwrap/issues. Here you can find the actual rdpwrap.ini file before updating it in the official repository.
To replace the rdpwrap.ini file:
- Stop the termservice:
get-service termservice | stop-service
- Replace the rdpwrap.ini file in the directory C:Program FilesRDP Wrapper;
- Restart your computer;
- Run the RDPConf.exe and make sure all statuses turn green.
If after installing security updates or upgrading the Windows 10 build, RDP Wrapper does not work correctly, check if the “Listener state: Not listening” is displayed in the Diagnostics section.
Try to update the C:Program FilesRDP Wrapperrdpwrap.ini file using the update.bat script (or manually) and reinstall the service:
rdpwinst.exe -u
rdpwinst.exe -i
It happens that when you try to establish a second RDP connection under a different user account, you see a warning:The number of connections to this computer is limited and all connections are in use right now. Try connecting later or contact your system administrator.
In this case, you can use the Local Group Policy Editor (gpedit.msc) to enable the policy “Limit number of connections” under Computer Configuration -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Connections section. Change its value to 999999.
Restart your computer to apply new policy settings.
Modifying Termsrv.dll File to Allow Multiple RDP Session
To remove the restriction on the number of concurrent RDP user connections in Windows 10 without using rdpwraper, you can replace the original termsrv.dll file. This is the library file used by the Remote Desktop Service. The file is located in C:WindowsSystem32 directory.
Before you edit or replace the termsrv.dll file, it is advisable to create its backup copy. If necessary, this will help you to return to the original file version:
copy c:WindowsSystem32termsrv.dll termsrv.dll_backup
Before you edit the termsrv.dll file, you have to become its owner and give the Administrators group the full permissions to it. The easiest way to do this is from the command prompt. To change the file owner from TrustedInstaller to a local administrators group use the command:
takeown /F c:WindowsSystem32termsrv.dll /A
Now grant the local administrators group Full Control permission on the termsrv.dll file:
icacls c:WindowsSystem32termsrv.dll /grant Administrators:F
After that, stop the Remote Desktop service (TermService) from the services.msc console or from the command prompt:
Net stop TermService
Before moving on, you need to get your version (build number) of Windows 10. Open the PowerShell console and run the command:
Get-ComputerInfo | select WindowsProductName, WindowsVersion
I have Windows 10 build 1909 installed on my computer.
Then open the termsrv.dll file using any HEX editor (for example, Tiny Hexer). Depending on your Windows 10 build, you need to find and replace the code according to the table below:
For example, for Windows 10 x64 RTM (10240) with the termsrv.dll file version 10.0.10240.16384, you need to find the line:
39 81 3C 06 00 00 0F 84 73 42 02 00
and replace it with:
B8 00 01 00 00 89 81 38 06 00 00 90
Save the file and run the TermService.
Allow Rdp To Windows 10 Home
Already patched termsrv.dll file for Windows 10 Pro x64 can be downloaded here: termsrv_for_windows_10_x64_10240.zip
If something went wrong and you experience some problems with the Remote Desktop service, stop the service and replace the modified termsrv.dll file with the original version:
copy termsrv.dll_backup c:WindowsSystem32termsrv.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).