Allow multi session Remote Desktop

In this article, we’ll look at potential issues and workarounds that will allow you to enable Remote Desktop sessions for multiple users on Windows 10 and Windows 8/8.1.

As with earlier versions of the Windows operating system, Windows 10 and 8 restrict the use of Microsoft’s Remote Desktop Protocol [RDP] to one remote connection, preventing users from making multiple RDP connections.

The issue with multiple Remote Desktop Sessions on Windows 10 and 8

Attempting to initiate a second Remote Desktop session will cause any users working locally on the machine or logged in through an existing RDP session to be kicked out. The issue is not a result of the technical capabilities of Windows 10 but rather with the license agreement.

Now that we’ve determined the obstacles we’re facing, let’s consider two popular options you can use to enable multiple Remote Desktop users on Windows 10 and 8: either by using the RDP Wrapper Library application or by editing the termsrv.dll file.

Enabling multiple RDP Sessions in Windows

Note: Before you begin, it’s important to remember that both of these processes are in violation of the Microsoft License Agreement.

RDP Wrapper Library

This is the easier, or at least less tedious, option. The problem that arises when you modify termsrv.dll, is that when installing a new Windows 10 build or simply some security updates, the termsrv.dll file can sometimes be updated automatically. As a result, you will have to modify termsrv.dll using HEX Editor after every update.

The RDP Wrapper Library, on the other hand, will simply be loading the file with changed parameters, so after any updates, it will continue to work without any issues.

Follow these steps to use the RDP Wrapper Library to enable multiple user RDP sessions:

  1. Start by downloading the RDP Wrapper Library here. The latest version is 1.6.2. According to the developer page, this will be supported for all versions of Windows. The RDP Wrapper Library serves as a layer between SCM [Service Control Manager] and Terminal Services, and it not only enables support for multiple simultaneous RDP sessions, it also enables RDP Host support on Windows 10.

Figure 1. Screen capture from github.com

  1. To use the RDP Wrapper, you’ll first need to install the RDP Wrapper Library by running install.bat with Administrator privileges.

  1. Once the installation is complete, run RDPConfig.exe and first check that all elements in the Diagnostics section are green.

  1. Test the ability to run multiple Remote Desktop connections by opening a second RDP session. You should be now able to successfully enable Remote Desktop connections for multiple users on Windows 10 or Windows 8.

Modifying termsrv.dll

The alternative to using the RDP Wrapper is to replace the original termsrv.dll file, which can be found in the C:WindowsSystem32 directory. Before editing or replacing anything, it is recommended that you manually create a backup of the file. You can do this through the command line prompt [cmd.exe] with the following command:

Copy c:WindowsSystem32termsrv.dll termsrv.dll_backup

Follow these steps to modify termsrv.dll:

  1. First, you will need to become the owner of the termsrv.dll file and assign the Administrators group full rights to the file. Head into the Properties after right-clicking on the file. Then go to the Security tab and click on Edit. In the access list, find the local administrators group and give it full control over this file and save the changes.

  1. Now you need to stop the Remote Desktop service [TermService] in either the services.msc console or from the command prompt with the following:

Net stop TermService

  1. Now open the termsrv.dll file using any HEX editor [such as the freeware HxD editor] and search for the following line:

39 81 3C 06 00 00 0F 84 73 42 02 00

Replace this line with:

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

Figure 2. Screen capture from mh-nexus.de

  1. Finally, save the termsrv.dll file and run TermService before attempting to run multiple Remote Desktop connections by opening a second RDP session.

Regardless of what method you chose, you should now be able to connect multiple user Remote Desktop sessions on Windows 10 and Windows 8. If you experience any issues enabling multiple RDP connections or have some helpful advice to contribute, please share with us in the comments section below.

If you’re interested in learning how to allow multiple RDP sessions for Windows Server 2012, 2016 or 2019, check out our next blog post in this series.

siva-8931 asked Oct 12, '21 | DSPatrick commented Oct 15, '21

Hi Team,

Kindly advice on Windows server 2016 Server need allow more than 2 Two RDP sessions, I have tried to enabled and allowed 9 users but that option was graid out.

Thanks

remote-desktop-services

Comment

hendriyu-7141 asked Jan 7, '21 | ElevenYu-MSFT commented Jan 21, '21

Dear Experts,

We have server running windows server 2012 R2 Standard that host our CRM applications.

Due to we have a training to be conducted, we would like to allow 4 person [different user id] to rdp into the server. Currently, the server is only allowing 2 concurrent sessions.

Since it is not a remote desktop server, is there any possible way to achieve this?

Thanks
H

remote-desktop-services

Comment

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.

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].

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.

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

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].

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.

Video liên quan

Chủ Đề