categories
Updated on in

Enabling Multiple Remote Desktop Sessions on Windows 10/11

Author: Helga York
Helga York Article author
NOTE:  Originally designed for Windows 10 users needing multiple remote desktop connections, our guide also applies to Windows 11.

Windows 10/11 Pro and Enterprise editions allow users to establish remote desktop connections using Remote Desktop Protocol (RDP) Services. However, these versions support only one remote session at a time, meaning simultaneous multiple connections are not possible.

Attempting to initiate a second RDP session prompts a message, advising that continuing will disconnect the currently active user:

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

Is there a feasible workaround? In this article, we’ll explore two methods to enable multiple remote desktop connections on Windows 10/11: using the RDP Wrapper open-source project or by editing the “termsrv.dll” file.

Warning:   Modifying your system as described in this article may breach the Microsoft License Agreement. Proceed at your own risk.

Enable multiple RDP sessions with RDP Wrapper

The first option to enable the remote desktop for multiple users on Windows 10/11 is by using the RDP Wrapper Library. The RDP Wrapper open-source project permits users to support more than one simultaneous RDP session (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/11 Home.

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

Note:  Before 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

Using RDP Wrapper to enable multiple RDP Sessions

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

    install rdp wrapper
  2. 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.

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

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

How to fix the 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 RDP Wrapper.

To resolve the issue, use this instruction:

  1. Check that you’ve downloaded the RDWrap version suitable for your Windows version.

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

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

  4. 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 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
Invoke-WebRequest
https://raw.githubusercontent.com/sebaxakerhtc/rdpwrap.ini/master/rdpwrap.ini -outfile
"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/11 machine should permit multiple users to access different RDP sessions simultaneously.

All Windows editions (Windows 7, Windows 8.1, and Windows 10/11) are supported by the RDPWrap utility. This means 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 for RDP sessions.

Modifying termsrv.dll to allow multiple RDP sessions

  • To disable restrictions on the number of concurrent RDP user connections in Windows 10/11 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.

Note:   Before 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 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. Depending 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

With the following string:

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 goes wrong, and/or users encounter issues with the 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 by replacing the termsrv.dll file is that antiviruses do not respond to 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 Windows (or when updating the version of the termsrv.dll file during the installation of monthly cumulative updates.)

Reasons for remote desktop limitations on Windows 11

Let’s delve into key limitations of Remote Desktop Service on Windows 11 and earlier versions.

  • • Remote Desktop Protocol is compatible exclusively with Pro and Enterprise editions, excluding Windows Home users from hosting incoming RDP connections. This limitation can be circumvented using the RDP Wrapper Library.
  • • Only one RDP session can be active. A second attempt forces the user to either terminate their session or disconnect the existing one.
  • • Active RDP connections override local console sessions, and logging in locally will end the RDP session.

The restriction to a single remote session is based on licensing, not technical constraints, preventing the use of a single workstation as a terminal RDP server for multiple users.

Microsoft’s stance is clear: for Remote Desktop services on a server scale, a Windows Server license, RDS CALs, and configuration of the Remote Desktop Session Host (RDSH) are required.

Technically, any Windows version, given sufficient RAM, can support concurrent remote desktop sessions for multiple users, with each session typically consuming 150-200 MB of memory, exclusive of any applications used.

In essence, the limitations on multi-user remote desktop capabilities are practically defined by hardware resources rather than inherent software restrictions.

A simpler way to connect to multiple remote desktops

HelpWire stands out as a remarkably user-friendly, fast, and entirely free remote desktop solution. Designed to facilitate seamless, concurrent connections to multiple remote desktops, it enables users to effortlessly switch between the machines of a single client. This makes HelpWire an ideal choice for professionals seeking an efficient way to manage and support multiple devices without juggling numerous tools or incurring additional costs.

How to initiate a remote session with HelpWire:

  1. Choose the ‘Add New Client’ option.

    add new client

  2. Distribute the provided link to your client, prompting them to install the HelpWire Client software.

    share the remote connection URL
  3. Submit a request for access after your client has opened the application.

    Send a remote access request
  4. With the client’s approval, hit ‘Connect’ to begin the remote session.

    Connect to a remote computer

HelpWire streamlines remote support by offering an intuitive and expedited method, significantly improving the effectiveness of remote assistance.

Final thoughts

Enabling multiple remote desktop sessions on Windows 10/11 can significantly enhance productivity and flexibility. While the RDP Wrapper and termsrv.dll modification offer viable solutions, they come with their own set of challenges and risks.

For those seeking a simpler, risk-free approach, HelpWire provides an ideal alternative. Its user-friendly interface, fast connection speeds, and cost-free model make it perfect for managing multiple remote desktops concurrently. HelpWire not only simplifies remote access but also eliminates the complexities and potential license violations associated with other methods.

FAQ

Using RDP Wrapper may violate Microsoft’s License Agreement. It’s essential to consider the legal implications before proceeding.

HelpWire offers a more straightforward, risk-free alternative to RDP sessions, allowing multiple concurrent remote desktop connections without the need for system modifications.

HelpWire allows you to connect to multiple remote desktops concurrently, offering greater flexibility without the limitations imposed by Windows RDP sessions.