Concurrent Remote Desktop (CRDP) for Windows 10
You are checking the helpdesk and a new problem rolls in. You know the solution but you (the administrator) will need to login. You immediately remote into the machine only to see that the user is showing a presentation or actively using it.
A) Call the user and have them log off so that you can start fixing the problem. The problem will get fixed but the user is interrupted for 20 minutes.
B) Wait until later in the day and hope the user isn’t using their computer. The problem will get fixed at the end of the day but the user had to deal with it all day.
C) Use RDP and log into the computer. The user is able to continue the presentation. You are able to fix the problem in the background. Everybody is happy!
The answer is C!
“That’s wrong!”, you say! “Client OSs can’t have concurrent RDP sessions. When you try, you get an ugly message and the current logged in user is logged out!”
If Server can, the client can! All we have to do is trick it! How? Let’s find out!
Starting off, I am going to make two assumptions. One – you are an administrator of these remote machines. Two – you can already RDP into these machines when no user is logged on. If you aren’t sure or haven’t configured these settings, see this article on where to locate these settings.
Third Step: Download SysInternal PSTools. Copy PSEXEC.EXE from the download and paste it in the CRDP folder (under your local profile).
Last step! Create a batch file in the root of your profile named CRDP.bat. Paste these three lines into it:
xcopy “%USERPROFILE%\CRDP\*” \\%1\C$\Windows\Temp\CRDP\ /y
“%USERPROFILE%\CRDP\psexec.exe” \\%1 C:\Windows\Temp\CRDP\install.cmd multi
That’s it! Now, you can press Windows Key + R. Then type CRDP COMPUTERNAME
XCOPY will copy over all of the files and PSXEC will execute the script. After it has finished, you will be asked to login with your administrative account. Just to show you how awesome this is, take a look at these screenshots.
A Standard User Logged On
An Administrator Logged on at the Same Time (Notice the Task Manager).
Zoomed in Task Manager Showing User Sessions:
Pretty awesome right! Now you can work on a computer at the same time as a standard user!! There are some caveats to this method. First, it currently only works on Windows 7. I’ve seen some Windows 8 methods but they are quite shady. Second, Microsoft released an update to patch Remote Desktop Connection. This update (2984972) broke this tool. You can remove this update by running wusa /uninstall /quiet /norestart /kb:2984972 . A big thanks to TenNine for researching that problem!
Concurrent Remote Desktop allows you (the administrator) to simultaneously use a client computer while a standard user is still interactively using it. For IT, this is huge! Imagine never having to kick a person off of their computer because you need to work on it. Concurrent Remote Desktop (CRDP) makes this possible. This guide will cover CRDP setup for Windows 10.
Back in the age of Windows 7, we published the first CRDP setup guide here. If you haven’t read it, do so now – it provides background information and some troubleshooting tips. For those of you that have already read it (or just don’t like prequels), let’s enable CRDP for Windows 10!
Step 1: Download and extract this ZIP file to a network location. Any IT employee who will be using CRDP will need Read/Execute to these files – computer accounts do not need permission to see these.
Step 2: Edit the CRDP.bat file. Change the \\Server\Share\CRDP\ path to your network location. Leave all of the other settings at their default values.
Step 3: Copy the CRDP.bat file to the root of your user profile. To launch a CRDP session, run CRDP ComputerName . This will launch the CRDP.bat file and target it to the remote machine name that you specified. It will then work its way through the install.cmd file to enable CRDP.
Caveats and Tips for Using Concurrent Remote Desktop
CRDP is dependent on the client OS that you are running. It works by modifying a few registry keys and replacing the termsrv.dll with one that doesn’t check for a logged on user. It will also enable the RDP firewall rule (if not enabled). You technically only need to run this once per machine but I find it easier to run it anytime that I am connecting to a remote computer.
There are a few things you need to know about CRDP though. First, this package only works on Windows 10 x64 installations. It will should work on any edition (that has RDP built in) and any update version. The important thing is that C:\Windows\System32\termsrv.dll is at version 10.0.10240.16384. Unless Microsoft patches this file in the future, your termsrv.dll should be this version.
Second, this script makes the assumption that you are an administrator on the local machine. If you aren’t, fix that now. Finally, don’t run this against your own machine. Because it allows multiple sessions for the same user, you would never be able to join your original session. If you do need to restore the termsrv.dll file, just delete the existing one and rename the termsrv.dll.old file to termsrv.dll.
In this guide, we configured CRDP for Windows 10 X64 installations. If you have any questions or thoughts, let me know in the comment section below.