Friday, January 12, 2018

HTML5 client for Microsoft Remote Desktop Services 2016: Remote Desktop Web Client

Everyone will be familiar with the Remote Desktop client called MSTSC. Since a few years, Microsoft also has a Remote Desktop client for other platforms like iOS, Mac OS X and Android, available for download from the App Store, the Mac App Store, and the Google Play Store.

As a next step, Microsoft now also has a web client based on HTML5 (currently into preview), called the RD Web Client. This blog post runs through the setup, based on the early preview that I tested. The Remote Desktop Web Client is installed as an extension of the RD Web Access role.


The requirements for the Web Client are as follows;

· RD deployment with Gateway, Broker and WebAccess roles all running Server 2016 Operating System. The endpoints (RDSH or Windows Client SKUs) can be running any Windows Operating System starting from Windows 7 SP1 / Windows Server 2008 R2. The client performance will however be better when connecting to Windows Server 2016 or Windows 10 Anniversary Edition or later.

· The RD deployment should NOT be configured to use per-device license.

· The Server 2016 machine hosting RD Gateway role must have this update installed -

· The Gateway and WebAccess roles should be using public trusted certificates

· The client should work on most HTML5 capable browsers and has official support for Edge, IE11, Google Chrome, Firefox and Safari. Mobile devices are not supported.


By the time the client releases, new PowerShell CmdLets will be available to deploy, manage and configure the client. Based on the current beta, here’s an example of what these cmdlets might look.

We open an Administrative PowerShell console and run the following commands:

Import-Module ($Env:ProgramFiles + "\rd-html5-manage\RDWebClientManagement")


Next, we copy the certificate used by the RD Web Access role. Optionally export it first, and make sure to include the private key. Then run the following commands in the PowerShell Admin console.

Import-RDWebClientBrokerCert <cer file>
Publish-RDWebClientPackage -Production -Latest


Easy as that! HTML5 support is now added to the RD Web Access role!

Note, in the beta release the Import-RDWebClientBrokerCert currently does not accept password protected pfx files. Make sure you export the certificate using the security principal option as shown below.



To test the HTML5 web client, open a browser (currently Edge, IE 11, Google Chrome browsers are all officially supported) and browse to https://<publicdomain>/RDWeb/Pages/webclient. For example, in my case I tested an Azure IaaS setup with 2 RD Web Access servers behind an Azure Load balancer. I created a public DNS record for and pointed that to the public IP of the Azure Load Balancer. I then browsed to

At first you will see the regular RD Web Access login screen and you login with a test account as you normally would too.


After logging in you will see the following screen, this is the HTML5 web client containing the 4 sample RemoteApps I published in the RDS deployment.


If you click on one of the RemoteApps an RDP session will be launched. Note that currently you will get an additional prompt for the first RemoteApp as there is no full Single Sign On yet.


Since this was the first RemoteApp, the RDS session will now process the logon.clip_image014

And shortly after, the RemoteApp is now available within the browser.clip_image016

From this point, you can navigate to the bar on the left-hand side and switch between applications and launch new application. All RemoteApps are available within the same screen to allow to work with multiple application easily.


The RD Web Client also allows you to copy-paste between your local machine. It is however currently limited to text only.


There is also support for Remote Audio.

For further management, the RDWebClientManagement PowerShell module beta version also comes with a few other Cmdlets to retrieve the package information, certificate and to uninstall the package. Note that these Cmdlets might slightly change once the PowerShell module reaches general availability.


If you want all users to be redirected to the Web Client instead of the traditional RD Web Access page, you can run the following command on the RD Web Access Server

Set-WebConfiguration system.webServer/httpRedirect "IIS:\sites\Default Web Site" -Value @{enabled="true";destination="https://<domainname>/rdweb/pages/webclient";exactDestination="false";httpResponseStatus="Permanent";childOnly="true"};

Or change the same value using IIS Manager:


The RD Web Client also comes with printing support. A virtual printer called “Microsoft Print to PDF” is available in the user’s session. Don’t be confused by the postfix “redirected 3”. This is not a redirected printer, the name will most likely change so that it is clear that it’s a virtual printer. By virtual printer we mean that the printing to this printer will result in a .pdf file that is transported and opened on the local client. From that local client it can then be printed to any locally available printer.


I’m able to print to this redirected printer


Which results in the pdf being locally available


And in this case, I opened it in my local browser to then print to a locally available printer.


This concludes a first walkthrough of the RD Web Client that is coming up, based on the current preview version. I will share more details on this new client as they come in. If you are currently using RDS in a production environment and would like to test drive the RD Web Client functionality. Feel free to reach out to me so that I can help to get onboarded on the preview.


  1. Hello, good news! Thanks for sharing!
    I have a production ambient, i can install KB4025334 and continue using a traditional platform? In your example you force a re-direct, right?

    1. Yes, the re-direct is not mandatory. You could use traditional RD Web Access page with HTML5, in that case the URLs would be:

      For HTML5:

      For regular RD Web Access page:

  2. Is that the correct KB to install? That's the 2017-07 update, which we've long had installed and I'm not seeing this PS module to import.

    Is there a preview program we need to be signed up for or something?

    1. It is the correct KB. This requirement was added when the 1st preview bits were available, so yes, a recent updates OS will most likely already have that update.

      RD Web Client is still in Technical Private Preview stage and is expected to become public preview soon.

    2. Hi Freek, did you manage to get the HTML Web client work? I'm trying to install that on a virtual machine with a freshly downloaded Windows 2016 Standard Server (February 2018). Unfortunately I get a "non applicable to your computer" error when I try to install KB4025334. I also get the error "Import-Module : The specified module 'C:\Program Files\rd-html5-manage\RDWebClientManagement' was not loaded because no valid module file was found in any module directory" when I try the "Import-Module" command line. Could you point me to a solution? Thanks

    3. ...Freek, sorry, for some reason I didn't realize that you wrote that blog :-D So I assume that yes, you had it work. But I cannot get and install that module using KB4025334, and I also cannot find the client seperately on the internet. There is only very few information around about that, or I just don't know where to look for it. Could you help me? That's a pretty interesting feature that could change few things in our company, I'd really like to test it.

  3. Hello, which version of the webclient are you using 0.7.0-preview?
    We have also problems with the webclient when we are going through a WAP2016 server. Is this a known bug?

  4. I'm not familiar with issues in regards to accessing RD Web Client and behind WAP2016, did you report this back via the preview program?

  5. Would you be able to provide me the installer? In in the process of upgrading our org's RDS from 2012 to 2016 and this looks very promising.

  6. Any news on a release date or will it be part of Server 2019?

    I'm really interested in getting on board with this.

  7. Heads up: The HTML5 client just went into public preview:

  8. Anyone else getting errors importing broker .cer file? Import-RDWebClientBrokerCert returns: New-Object : Exception calling ".ctor" with "1" argument(s): "The system cannot find the file specified. At C:\Program Files\WindowsPowerShell\Modules\RDWebClientManagement\0.8.1\RDWebClientManagement.psm1:830 char:13

    1. Found the sollution: You need to be at root for the function to work. So cd\ first, then run Import-RDWebClientBrokerCert