Prevent Security Prompt when opening .RDP Files

Are you here because suddenly you’ve found that whenever you or your users open .RDP files, this security prompt is now shown:

You’ve investigated and you’ve found that this is due to an intentional security change Microsoft made in April 2026 updates that cause any unsigned .RDP file to present this warning on every launch as documented here:

https://learn.microsoft.com/en-us/windows-server/remote/remote-desktop-services/remotepc/understanding-security-warnings

Do you need a solution to prevent this warning specifically for when opening .RDP files generated via Remote Desktop Services (RDS)?

I found myself in this situation and at the time no clear end to end instructions so once I figured it out, I vowed to myself I’d shared with the community.

Background

Microsoft has supported signed .RDP files for as long as I can remember.  What changed in the 2026 update is Microsoft will now show the security prompt above if no signature inside the .RDP file is present or if the signature presented was not issued by a root certificate already present in the Trusted Root Certificate authority.  If you’re unfamiliar, a signature in this case is just a plain text “password” that exists inside the .RDP file that you can view simply by opening the file in notepad.

On a more technical level, what actually changed in the April 2026 update is Remote Desktop Connection now loads a list of thumbprints defined in a specific registry key and compares that to the thumbprint of the signer of the .RDP file.  If they match then you’ve effectively said “I as the administrator have previously stated I officially trust any .RDP file issued by this certificate so you don’t have to warn me anymore.”

So how do you actually set this up?

Set up

In my environment we have a Remote Desktop Services server used for a handful of Remote Apps by about 100 people where all of the devices are off domain.  They download the  .RDP file from the Remote Desktop Web server and then launch them on demand.  We have an RMM tool we use to push configuration to all devices.

The solution I came up with can be broken up into 5 steps:

1) Create self signed root and child certificates and use the child cert to sign all .rdp files published by the Remote Desktop Services server
2) Use RMM to deploy the root self signed public certificate to all machines trusted Root Certificates store
3) Use RMM to update the local computer’s registry to trust the self signed certificate for .RDP files
4) Configure Remote Desktop Services to sign files using the Self Signed certificate
5) Have users connect to Remote Desktop services to re-download new .RDP files signed with the self signed certificate now trusted by their machines

Below is the script I cobbled together to create the required self signed certificates.

This code will create root and child certificates in $SavePath.  Put the root certificate in a safe location as it won’t be needed now but it will be when the child certificate expires and you need to renew it.

Now that you have the certificate, you’ll want to upload your public portion of the Root certificate to your RMM.  In my case I’m using a Ninja Custom field along with the thumbprint you want to add to every machine to be trusted.  Run this script against every machine in your environment and set up a task to run it against any new machines as they are added to your RMM to ensure everyone trusts your self signed root certificate and specifically trusts it for .RDP files.

Lastly, you’ll need to go into Remote Desktop Services / Deployment Settings / Certificates and update the RD Connection Broker – Publishing with the child PFX file you created above. Microsoft allows you to set a unique certificate just for publishing so this won’t interfere with your public certificate you use to access RDS.

If you’re wondering why we used the self signed certificate, it’s because I was unable to get this process to work as our commercial CA certificate did not support the “DigitalSignature” KeyUsage definition required for this process to work.

Summary

1) Create a self signed root certificate and then create a child PFX certificate based on that root certificate

2) Configure RDS to use that child PFX certificate for the RD Connection Broker – Publishing Role

3) Use a script to add the thumbprint of your certificate to the TrustedCertThumbprints key in HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services on each machine

4) Push out the public key of your root certificate to the trusted root certificates store on all machines

5) Have users download new .RDP files from your RDS server signed with your new self signed certificate

The users should now have the option to “don’t ask me again” on the certificate warning prompt.

 

Leave a Comment