2 Ways To Allow Multiple RDP Sessions In Windows 11/10

Multiple RDP sessions allow multiple users to remotely access a Windows PC at the same time. You can enable this feature using RDPWrap or by modifying the “termsrv.dll” file. This article gives a detailed step-by-step guide to do so.

Allow multiple rdp sessions in Windowsjpg

If you frequently access a remote Windows computer and get logged off because your colleague has logged on, and was unaware that you were logged on as well, then this article is for you.

By default, the Windows operating system only allows one RDP connection at a time. If another connection was made from another PC on the network, regardless if they use a different user account to sign in, you will be automatically logged off, and will get either one of the following prompts:

"You have been disconnected because another conenction was made to the remote computer"
Disconenction dialog prompt
Disconnection dialog prompt using the same user account
Do you want to allow <computername/username> to connect to this machine? Click OK to disconnect your session immediately or click Cancel to stay conencted. No action will disconnect your session in 30 seconds.
Disconenction dialog prompt 2
Disconnection dialog prompt if using a different user account

Either way, both would not be allowed to be logged in on a remote PC simultaneously.

In this article, we address the issue of simultaneous RDP connections and how you can allow a client Windows PC (Windows 10 or 11) to have 2 or more RDP connections at the same time. This will increase your team’s productivity and save valuable time.

Before we begin, we would like to point out a few things.

Critical Considerations

Number one is that Microsoft wants you to use a Windows Server license instead of a Windows client license if you want to allow multiple RDP connections. This leads us to believe that the Windows OS does not technically lack any ability to be able to handle multiple RDP connections. Technically, it all comes down to the available system resources.

A typical RDP connection only requires 150-200 MBs of RAM per RDP session. If your system has the available RAM, you can allow multiple remote sessions using either one of the following methods stated below.

Secondly, we came across several websites that give a method to allow multiple RDP connections using the Group Policy editor by reconfiguring the “Restrict Remote Desktop Services user to a single Remote Desktop Services session” policy. Note that this method only works on Windows Servers.

Hence, do not waste your time editing the Group Policy, as we have already tested it out for you.

Thirdly, only the Professional and Enterprise Windows editions support RDP connections. If you have a Windows Home edition, then learn how to enable RDP or use the first method (RDPWrapper) to allow multi-user remote connection.

That being said, there is no native, straightforward method to allow multiple RDP connections on a client Windows PC. You either need to use a third-party utility or manipulate critical Windows files to enable multi-user RDP connection. Therefore, it is advised that you create a system restore point before proceeding forward with any of the two methods.

Enable Multiple RDP User Connections using RDPWrap

RDPWrap is an open-source project available on GitHub. RDPWrap enables support for numerous concurrent RDP sessions as well as RDP Hosts on previously inaccessible Windows editions, like Home.

Follow the steps below precisely as given to allow multiple RDP connections on the computer.

Note: All of the steps given below are to be performed on the remote (target) computer.

  1. Download “RDPWInst.zip” from GitHub.

    Note: If you are using Google Chrome to download the file, it will be flagged as malicious and blocked from downloading. Learn how to stop Chrome from blocking downloads.

  2. Extract the contents of the zipped file.

    Extract RDpWrap
    Extract RDPWrap

    Right-click on the zipped file and click “Extract All” from the context menu. Then click “Extract” on the extraction wizard to finish the extraction.

  3. Run “install.exe” with administrative privileges.

    Run install as administrator
    Run “install.exe” as administrator

    Right-click the “install.exe” file and then click “Run as administrator” from the context menu.

    RDPWrap will now begin installation in a command window.

  4. Press any key to continue the installation.

    Press any key to finalize installation
    Press any key to finalize the installation
  5. Now run the “RDPConf.exe” file.

    Run RDPConf exe
    Run RDPConf.exe

    The RDP Wrapper Configuration window will now open.

  6. Check that all elements in the Diagnostics section are green.

    Ensure all elements are green
    Ensure all elements are green

    Note that it states [Not Supported] in front of “Listener state” on the right. This is because the version of Windows would not be supported. To make RDPWrap support your OS version, you must replace the “rdpwrap.ini” file using the next few steps given below, which is located at “C:\Program Files\RDP Wrapper.”

  7. Run an elevated PowerShell instance.

  8. Run the following cmdlet:

    Stop-Service termservice -Force
    Stop RDP service from PowerShell
    Stop RDP service from PowerShell

    This will temporarily stop the Remote Desktop service.

  9. Now run the following cmdlet to replace the rdpwrap.ini file:

    Invoke-WebRequest https://raw.githubusercontent.com/sebaxakerhtc/rdpwrap.ini/master/rdpwrap.ini -outfile "C:\Program Files\RDP Wrapper\rdpwrap.ini"
    Replace the rdpwrap ini file
    Replace the rdpwrap.ini file
  10. Restart the computer.

  11. Run the “RDPConf.exe” file again to confirm that the status has changed from [Not Supported] to [Fully Supported].

    RDPWrap is fully supported
    RDPWrap is fully supported

That’s it! You should now be able to connect to the remote PC with multiple simultaneous connections using any RDP tool, like MSTSC, Microsoft RDP, rdcman, etc. However, you can only sign in using different local user accounts.

If you sign in with the same user account, the RDC connection using the account prior will be automatically disconnected.

Enable Multiple RDP User Connections by Modifying Termsrv.dll

If you do not wish to use RDPWrap, then you can modify the Termsrv.dll file to allow multiple RDP connections at the same time. This is the library the Remote Connection Protocol uses to establish a connection and is located at “C:\Windows\System32.”

Let us remind you to create a system restore point before proceeding, so you can revert your settings if things do not go as planned.

Alternatively, we have also given steps to back up only the Termsrv.dll in the steps below so it can be replaced when needed.

Perform the following steps to modify the Termsrv.dll library and allow multiple RDP connections:

Note: All of the steps given below are to be performed on the remote (target) computer.

  1. Launch an elevated Command Prompt.

  2. Make a copy of the Termsrv.dll file by running this cmdlet:

    copy c:\Windows\System32\termsrv.dll termsrv.dll_backup
    Backup termsrv dll
    Backup termsrv.dll
  3. Take ownership of the original file by running the following command:

    takeown /F c:\Windows\System32\termsrv.dll /A
    Take ownership of Termsrv dll
    Take ownership of Termsrv.dll
  4. Grant the local Administrator group full control of the library by running this cmdlet:

    icacls c:\Windows\System32\termsrv.dll /grant Administrators:F
    Grant the Administrator group full control of Termsrv dll
    Grant the Administrator group full control of Termsrv.dll
  5. Now stop the Remote Desktop service by running this cmdlet:

    Net stop TermService

    Also, enter “Y” when asked for confirmation.

    Stop the RDP service
    Stop the RDP service
  6. Determine and note down your OS version by typing in “winver” in the Run Command box.

    Find your OS version
    Find your OS version

    This will be needed later.

  7. Now open the termsrv.dll file (C:\Windows\System32\termsrv.dll) using a Hex editor.

    You can download any hex editor online.

  8. Search for the following string according to your OS version (determined in step 6 above) given in the table below and replace it with the following:

    B8 00 01 00 00 89 81 38 06 00 00 90
    Windows buildString to replace
    Windows 11 22H239 81 3C 06 00 00 0F 84 75 7A 01 00
    Windows 11 RTM (21H2 – 22000.258)39 81 3C 06 00 00 0F 84 4F 68 01 00
    Windows 10 x64 21H239 81 3C 06 00 00 0F 84 DB 61 01 00
    Windows 10 x64 21H139 81 3C 06 00 00 0F 84 2B 5F 01 00
    Windows 10 x64 20H239 81 3C 06 00 00 0F 84 21 68 01 00
    Windows 10 x64 200439 81 3C 06 00 00 0F 84 D9 51 01 00
    Windows 10 x64 190939 81 3C 06 00 00 0F 84 5D 61 01 00
    Windows 10 x64 190339 81 3C 06 00 00 0F 84 5D 61 01 00
    Windows 10 x64 180939 81 3C 06 00 00 0F 84 3B 2B 01 00 
    Windows 10 x64 18038B 99 3C 06 00 00 8B B9 38 06 00 00 
    Windows 10 x64 170939 81 3C 06 00 00 0F 84 B1 7D 02 00 
    Windows versions and corresponding hex string to replace
    Find and replace hex values in Termsrv ini
    Find and replace hex values in Termsrv.ini
  9. Make the changes and save the Termsrv.dll file.

    Save the new Termrv dll file
    Save the modified Termrv.dll file
  10. If prompted for confirmation or UAC, click Yes.

  11. Close the hex editor.

You should now be able to connect multiple RDP sessions to the remote PC after modifying the Termsrv.dll file.

If things didn’t go as planned, you can restore the original Termsrv.dll file by running the following cmdlet in Command Prompt using the backup we had created in step 2 above:

copy termsrv.dll_backup c:\Windows\System32\termsrv.dll

Conclusion

Having the ability to have multiple RDP connections simultaneously on a Windows PC can result in a significant increase in productivity. Now, you and your team members can work on a client Windows PC at the same time, without having to wait on one another.

That said, the methods given in this post are tried-and-tested and you can perform them word-for-word on your Windows PC to allow simultaneous RDP sessions. However, even though the methods work, we advise you to create system backups just in case.

Also see:

Subhan Zafar is an established IT professional with interests in Windows and Server infrastructure testing and research, and is currently working with Itechtics as a research consultant. He has studied Electrical Engineering and is also certified by Huawei (HCNA & HCNP Routing and Switching).

Leave a Reply

Your email address will not be published. Required fields are marked *