The Microsoft Remote Desktop Client (RDP Client) is used to connect to Remote Desktop Services (RDS) and Virtual Desktop Infrastructure (VDI) environments. Nowadays more referred to as Microsoft Virtual Desktop Infrastructure VM-based and Session Based. Traditionally, Microsoft only delivered RDP clients for Windows-based operating systems. This has recently changed and this article will talk about this change, and why this is important for the industry. It also covers an overview of one of the client’s capabilities.
History of the Microsoft RDP client
For many years Microsoft has delivered a RDP client out-of-the box for client and server operating systems. The RDP client (launched by running mstsc.exe) has evolved a lot, and made huge steps with support for the Remote Desktop Protocol 8.0, as part of Windows 8 and Windows Server 2012 (which is to be made available for Windows 7 as well). The latest version of the client is 8.1 (which matches the name of the recently announced client operating system - Windows 8.1). I’m sure everyone has seen the RDP client, if not below is what the 8.0 version looks like.
Figure 1: Traditional Microsoft RDP client
With Windows 8, Microsoft also released a modern-UI style RDP client, to allow for easy access on touch based devices. This client, available as a free download from the Microsoft store has recently been updated and improved in the 8.1 version.
Figure 2: Microsoft Modern-UI RDP client
On the 7th of October 2013, Microsoft made a big announcement, as part of a bigger set of announcements:
“…Further, with Windows Server 2012 R2 Microsoft is introducing the Microsoft Remote Desktop app, available for download in application stores later this month, to provide easy access to PCs and virtual desktops on a variety of devices and platforms, including Windows, Windows RT, iOS, OS X and Android…”
You can view the complete announcement here.
This means that for the first time, Microsoft will start to deliver a Microsoft RDP client cross platform for Windows, Windows RT, iOS, OS X and Android.
Why is this interesting?
For a very long time Microsoft stated that they had plans to build and deliver a great RDP client for Windows-based operating systems to leave room for partners to create RDP clients for non-Windows operating systems. Nowadays, many companies have (some form of) Bring Your Own Device. This automatically leads to a growing amount of different types of clients with different kinds of operating systems because end users choose a platform they feel comfortable with. If those clients need to access a desktop (or Applications) in the corporate environment, an RDP client would be needed. There are of course many different types of (free) RDP clients for almost any platform; however it would mean a tremendous struggle for administrators to support all different clients, make sure all work properly and that they are updated frequently. And getting Microsoft support for some of these free clients was not possible as well. Because of this, some companies have been moving to third party Desktop Virtualization suites like e.g. Citrix, vWorkspace etc. just to be able to get a single type of RDP client for all desired platforms. As much as I agree that these third party suites deliver a great deal of extra functionality that adds value to Microsoft RDS / VDI, although in some cases this additional functionality is not needed. With the release of a Microsoft RDP client for the three biggest non-Windows based (mobile) platforms means that RDS/VDI implementations using pure Microsoft technologies can now be accessed easily by non-Windows based devices, creating the possibility for a true BYOD.
The new Remote Desktop Apps
10 days after the original announcement, the RDP client for iOS, OS X and Android are available as a free download. Click on the links below to visit the three app stores.
Microsoft RDP client for iOS in action
In this paragraph I’ll show some of the possibilities of Microsoft RDP client for iOS. In this example I’m pushing my luck and using an iPhone. Of course an iPad as a test case for iOS would make more sense, but the results are practically the same.
The RDP client for iOS can be downloaded from the App store. Simply search for Microsoft RDP and install the app.
Figure 3: iOS App Store
After installing and opening the client we are presented with the following screen. This is the main screen of the App. Using the top bar we can search for a previously used destination host.
Figure 4: iOS RDP App main
We can use the option New Remote Desktop to specify a new destination to connect to and save that configuration for later use. We can specify a connection name to easily find the connection later. The PC name is used to specify the destination host (ip or hostname). We can choose to always be prompted for credentials or use a saved combination of credentials. If needed, we can also add an RD Gateway. Multiple RD Gateways can be preconfigured using the settings option in the App. We can also select whether we want to connect to the console, or whether we want to have audio redirection and the ability to swap mouse buttons.
Figure 5: Adding Remote Desktop host
In the Settings section we can view certificates we have previously marked to be always trusted (to avoid warnings). The gateway option allows us to add multiple RD Gateways and specify per RD Gateway configuration name, destination server and credential configuration. The Send Log Via Email option opens the iOS email application and automaticity pastes the complete log of the RDP client. This created the ability to allow users to easily send a log file to an administrator in case of an issue.
The Remote Resources option on the main section of the App can be compared to the Remote App and Desktop Connections (RADC) section of the Control Panel or the Modern UI App. We can use this section to specify a corporate RD Web Access server (farm) to retrieve Remote Apps and Desktop assigned to us. We specify the URL - the example shows https://contoso.com/RDweb/feed/webfeed.aspx, however it’s enough to just specify the FQDN, such as, https://rds2012r2-demo.wortell.nl in our example. Some of you might know that since RDS 2012, users are also able to specify their corporate e-mail addresses in the RADC. Based on a TXT DNS records the RADC client would resolve the FQDN of RD Web Access. Using a corporate e-mail address is unfortunately not (yet) possible with this first version of Microsoft RDP client. However, I’m sure Microsoft will add this functionality at some point in an upcoming update. Besides the URL we also need to specify our user name (domain\username) and corresponding password.
Figure 6: Adding Remote Resources
Upon saving the configuration, the RDP client will automatically contact RD Web Access to retrieve the set of Remote Apps and Desktops that are assigned to the specified user as shown below.
Figure 7: Published Remote Apps on iOS client
Upon selecting one of the Remote Apps a connection will be established. In this example we are now running Microsoft Word 2013 as a Remote App on iOS which supports multi touch!
Figure 8: Word 2013 Remote App on iOS
While running the Remote App we have several options available such as the option to zoom in and out.
Figure 9: Zoom option
Figure 10: Onscreen keyboard
Microsoft’s FREE RDP client for non-Windows platforms is a big step forward! This has been a feature requested by many people for many years. Will you get all RDP functionality on these three non-Windows platforms? No, this is the 1st version and not every RDP feature you get on Windows-based platforms has been implemented fully yet. However, it seems clear that it is Microsoft's intention to keep on updating and improving these clients which in my opinion is the way forward!