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.

Thursday, November 23, 2017

Presented a session at E2EVC 2017 in Barcelona!

Presented a session at E2EVC 2017 in Barcelona!

imageLast week was Experts 2 Experts Virtualization (E2EVC) Conference time again! This edition was being held in Barcelona. Great location for the 36th edition of this event with attendees coming from 19 different countries!

I presented a session together with Benny Tritsch and in this blog post I want to elaborate some more on what we presented. Our session title was called “Microsoft RDS, current state and future vision”.


When we created the abstract for our session somewhere last summer, we came up with the idea to present a session showing the latest evolution of the Remote Desktop Platform. Back then, we weren’t really sure if we would be able to show it or even be allowed talk about it because back then this was all very early stage. Fortunately, 3 weeks before the E2EVC event in Barcelona we were able to get the bits of the very first RDmi Private Preview and successfully installed it in our labs. We contacted the RDS Product Team and they gave us permission to demo both RDmi and HTML5 at E2EVC last week!

So, during the session we covered these 4 major topics


Remote End User Experience benchmarking
We started the session by covering Remote End User Experience Benchmarking and talked about the importance of benchmarking the perceived end user experience. We showed demos of a Rex Analytics, a framework and toolset that allows you to Build, Measure and Analyze the user experience. Using the REX Analyzer, we’re able see and compare the end users experience and include & correlate to the telemetry data by showing the resources consumed by the sessions. The REX Analyzer shows all of this in a single view 4-up player that allows easy playback & zooming.


We continued the session by covering Project Honolulu. This is the codename of the Web Based Interface to manage Windows Server going forward replacing many, many, many different tools we use today. Project Honolulu was introduced and talked about a lot at Microsoft Ignite. I tweeted the pictures below while attending Jeff Woolsey session. This shows the before and after picture. On the left-hand side all kinds of different tools, MMC Snap ins etc. On the right-hand side a single web interface allowing you to do the same type of management remotely!


In our session we did a live demo of Project Honolulu Preview and showing a couple of examples.


Next, we covered Remote Desktop modern infrastructure (RDmi). RDmi is the latest evolution of the Remote Desktop Services platform. It basically means that the RDS Infrastructure roles like RD Connection Broker, RD Web Access and RD Gateway are going to be transformed into .NET services. That means you no longer need to host, manage and maintain the Virtual Machines that hold these roles. You can directly purchase these roles from the Azure MarketPlace, or host these .NET services yourself.

We started by explaining the RDmi Architecture covering the .NET services, the way the RD Session Host servers connect to the environment, how this platform allows for multitenancy and that the platform is based on Azure AD. It comes down to being;

- More secure because of the out of box integration with AAD Conditional Access and MFA

- More Cloud ready because it leverages PaaS components that automatically scale

- Allowing all clients including a new HTML5 web client


After covering the architecture, the rest of the session was all based on live demos!

We coved the Azure Portal showing how there are now zero Virtual Machines needed for the RDS Backend and how the entire backend is based on Azure App Services.


We showed an example of what the Azure Dashboard could look like integrating telemetry data from the RDmi environment by simply dragging and dropping in these Azure App Service.


We concluded our session with a live demo of the HTML5 Web Client which is available in RDmi as well as for RDS based on Windows Server 2016.


Thanks to everyone who attended the session, it was great to see that much interest. Also, a huge thanks to Alex Cooper, and crew for creating yet another awesome edition of E2EVC! If you are interested in attending the next edition, it will be held in Amsterdam June 8-10, 2018! Visit for more information!

Friday, October 6, 2017

Microsoft Ignite 2017 Benchmarking demo with Outlook Search performance and FSLogix

I presented a session at Microsoft Ignite 2017, for more details on the session check out this blog post: Recap of the session I presented at Microsoft Ignite 2017 Part of that session was also a demo on benchmarking Remote End User Experience. After the session I've received a lot of questions about the specific test I used as the example, so I decided to elaborate on it some more in this blog post.

The example test I showed was performed to benchmark outlook search performance when using FSLogix Office 365 container. If you're not familiar with the product, check out this page:

Here are some of the results from that benchmarking test:

"...When users roam from RD session host to another RD Session host, their search experience is far better with FSLogix. This is because it roams the search index on per user basis inside the user’s profile container; there is no need to re-index a user’s Outlook OST no matter which RD Session Host server they end up on..."

"...During our test runs we could observe time and time again that secondary FSLogix users that had Outlook indexed had a far better user experience in than secondary UPD users who had to have their OSTs indexed. The FSLogix secondary users got consistent returned results for searches that used the Windows Local Search service while the UPD secondary users did not..."

If you want more information on all the tests we (RDS Gurus) performed check out this article:

Wednesday, September 27, 2017

Recap of the session I presented at Microsoft Ignite 2017

I’m at Microsoft Ignite in Orlando this week and yesterday I presented a session on hosting RDS and VDI in the Cloud. This blog post is a recap of the session including links to demos I showed.

I started my session with the question whether RDS or VDI would still be relevant today. I pointed out that the application landscape of an average organization today already contains a lot of SaaS and Web based applications. Also, Apps from App stores are becoming more common in the corporate world. These types of applications are already enabled for the modern workplace and can already be accessed from any device at any time. I continued by pointing out the traditional Windows Applications. How these types of applications are not enabled for the modern workplace, that they demand a Windows Desktop to run and that in many cases they rely heavily on an application backend. I talked about how many might argue that the Windows Application will disappear in the future. That the Windows Application will be transformed into other form factors like Web-Based and Apps. I agree with that statement but showed the diagram below indicating that the number of Windows Applications currently still out there is in the millions and that these types of Applications have different requirements. Key take away being that as long as Traditional Windows Applications exist, RDS or VDI can still help you provide those traditional Windows Applications on top of the modern workplace.

After the introduction, I covered what it takes to run RDS or VDI on top of Azure. I talked about ways to optimize for the Cloud by leveraging PaaS like Azure SQL. I shared ways to auto scale an RDS or VDI environment on Azure IaaS by using scaling scripts. I also talked about ways to integrate Azure MFA into an RDS environment.

During the second half of the session I covered 2 demos. In the first demo, I showed how to leverage Azure Resource Manager and JSON scripts to perform a fully automated deployment of RDS running on top of Azure IaaS. The ARM template I showed creates an entire HA deployment in 30 minutes including things like SQL, SSL Certificates, Branding and Customization. I uploaded the 5-min video that I shared in the session and it’s available on my YouTube channel here:

The second demo was related to benchmarking the end user experience in a remoting session. I started by explaining that only benchmarking performance counters does not always fulfill the needs and how being able to see the actual end user experience can be extremely helpful. The demo I showed was based on a Framework called REX Analytics. Amongst other things, this framework provides an analyzer tool that allows you to see and compare the end user experience of various remoting sessions. To get a detailed overview of all the capabilities of this Framework check out the following links that also contain the demo I shared during the session:

Outlook Performance in Non-Persistent Environments Using FSLogix’s Office 365 Containers
OneDrive for Business Performance in Non-Persistent Environments Using FSLogix’s Office 365 Containers

I got a good turn up for my session and a lot of positive feedback! I want to that everyone who attended my session and hope to be back next year!

If you have additional questions about the topics I covered, feel free to contact me!

Thursday, September 21, 2017

First look at updates coming to Remote Desktop Services

There is a new Microsoft Mechanics video published that provides a great overview of the recently announced changes on the Remote Desktop Services platform, RD Modern Infrastructure.

"...The RDS team has innovated in three key areas:

Security: RDS-hosted environments can use authentication with Azure Active Directory – see how you get advantages like Conditional Access policies, Multifactor Authentication, Integrated authentication with other SaaS Apps using Azure AD, and the ability to get security signals from the Intelligent Security Graph. Moreover, by isolating the infrastructure roles (Gateway, Web, connection broker and others) from the desktop and app deployment hosts, we add another layer to separation for higher security of your virtualized environments.

Cloud readiness: There are updates coming to infrastructure roles with innovations in the existing RD infrastructure roles – Web, Gateway, Connection Broker, Licensing – see how to take advantage of the elasticity and scale capabilities of Azure. Get a first look at the new Diagnostics role that helps you monitor your deployment effectively.

Windows apps on ANY device:  RDS has long had the flexibility to run on cross-platform desktop and mobile operating systems using apps, but we are now building support for HTML5 browser-delivered experiences. Of course, RDS works with Windows – even Windows 10 S – offering even more flexibility for how your apps and desktops are accessed..."

There will also be several session at Microsoft Ignite next week that talk about this new infrastructure in more detail.

Source & video:

Friday, September 15, 2017

Remoting Graphics and GPU’s in End User Computing

Remoting Graphics and GPU’s in End User computing are becoming commodity. The days where GPU was beneficial to only very specific applications like AutoDesk, AutoCad, Solidworks et cetera are definitely over. Today, almost every Remoting Windows environment can benefit from Remoting Graphics. Even applications like Office and also browsers can leverage a GPU in a Remote Windows environment. With the N-series on Azure being available for some time now, Remote Desktop Services or Virtual Desktop Infrastructure hosted on Azure IaaS is also able to use GPU. Companies like Frame offer options to leverage that same GPU in their solutions, even with a fully web based client. I recently attended a webinar where they showed this in an impressive demo.
With GPU being commodity and several remoting protocols being available that can offer it, the question arises which one to use. As always, it can be answered by the usual IT answer; “it depends!”. Comparisons are interesting to match use cases to remoting protocols. This is exactly what Benny Tritsch and Kristin Griffin recently did in a test where they compared the user experience of RDP vs PCoIP.
The primary focus of the test was on benchmarking the performance of graphics workloads in Hyper-V virtual machines accelerated by NVIDIA M60 GPUs attached through Discrete Device Assignment (DDA).
“In our test environment, we used the REX Analytics framework to benchmark remote end-user experience (REX) by simulating a range of user interaction workloads. The REX Analytics framework includes fully automated (synthetic) test sequences, control services, management consoles, agents, screen and telemetry data recorders, analysis tools and a unique visualization component. The framework works on-premises and in cloud environments.”
The results of these test show contain some interesting comparison videos. Read the full article, including links to various video’s here:


Wednesday, July 12, 2017

RDS modern infrastructure and HTML5 for RDS announced!

Within the RDS MVP group we had already discussed this, and the information is now public! I’m super excited about this step!

RDS modern infrastructure is announced!

“…The RDS modern infrastructure components provide functionality that extends the current RD Web Access, RD Gateway, and RD Connection Broker services, as well as adding a new RD Diagnostics service. The RDS modern infrastructure components are implemented as .NET Web Services enabling a wide variety of deployment options. For example:

Both single and multi-tenant deployments, making smaller deployments (less than 100 users) much more economically viable, while providing the necessary security of tenant isolation

Deployments on Microsoft Azure, on-premises equipment, and hybrid configurations

Virtual machines or Azure App Services can be used for deployment

Azure App Services, part of Azures Platform-as-a-Service environment, simplifies the deployment and management of the RDS modern infrastructure because it abstracts the details of the virtual machines, networking, and storage. This simplifies administrative tasks like configuring scale out/in of a service to dynamically and automatically handle fluctuating usage patterns…”

And also, HTML5 for Remote Desktop Services is coming!

“…The web client, combined with the other RDS modern infrastructure features, allows many Windows applications to be easily transformed into a Web-based Software-as-a-Service (SaaS) application without having to rewrite a line of code…”

More details will be shared in today’s session at Microsoft Inspire.


Afbeeldingsresultaat voor remote desktop