You dont have javascript enabled! Please enable it!

Deploy Remote Desktop Services (RDS) On #AzureStack #Azure

4 Min. Read

In this blog post, we will show you how to quickly deploy and publish a remote application using Remote Desktop Services on Azure Stack.


Remote Desktop Services (RDS) is the platform of choice to cost-effectively host Windows desktops and applications. You can use an Azure Marketplace offering to quickly create a full-blown RDS farm on Azure IaaS deployment. The good news is that the Azure Stack team was busy bringing the same experience and offering to Azure Stack as well.

What actually does the Azure marketplace, is it creates a domain for you, so making it a simple and easy mechanism for testing and proof-of-concept scenarios. The quick start ARM templates, on the other hand, allow you to use an existing domain, so you can build out a production environment. Once the setup is completed, you can connect to the published desktops and applications from various platforms and devices, using the Microsoft Remote Desktop apps for Windows, Mac, iOS, and Android.


In order to deploy Remote Desktop Services on Azure Stack as described in this article, you need to have the following:

  • Azure Stack deployed in a connected scenario. The same applies to Azure Stack Integrated Systems and Azure Stack Development Kit (ASDK).
  • Azure Stack tenant subscription (plan/offer).
  • Download the Remote Desktop Services template from the Marketplace.
  • Download Windows Server 2012 R2 image from the Marketplace.
  • Download Windows Server 2016 image from the Marketplace.

This deployment will create a small-footprint RDS deployment, with the following components:

  • 1 domain controller VM (Windows Server 2016).
  • 2 Remote Desktop Session Hosts (RDSH) VMs (Windows Server 2016).
  • 1 Remote Desktop Connection Broker (RDCB) VM (Windows Server 2016).
  • 1 Remote Desktop Gateway (RDGW) VM (Windows Server 2016).
  • A public IP address, virtual network, load balancer, and other required networking components.

Deploy Remote Desktop Services on Azure Stack

Assume you already have all the prerequisites in place. Take now the following steps:

As an Azure Stack operator, log in to the Azure Stack admin portal and download the Remote Desktop Services (RDS) – Basic – Dev/Test from the Azure marketplace.

Deploy Remote Desktop Services (RDS) On Azure Stack

As an Azure Stack tenant, login to the Azure Stack portal and Create Remote Desktop Services deployment by taking the following steps:

On the Basics page, provide an Admin username, and password, create or select an existing resource group, and then select the location. Click OK to continue.

Deploy Remote Desktop Services (RDS) On #AzureStack #Azure 1

In the Domain and network settings page, create a public IP address name, provide a DNS name to access the RD gateway, and then provide a desired domain name for the Active Directory VM. Click OK to continue.

Deploy Remote Desktop Services (RDS) On #AzureStack #Azure 2

In the RDSH and VM settings page, select which Windows Server SKU image do you want to use (assuming you already have downloaded Windows Server 2016 Datacenter or Windows Server 2012 R2 Datacenter images), specify how many RD Session Host instances do you need (the default is 2), and then select the size for each VM. Click OK to continue.

Deploy Remote Desktop Services (RDS) On #AzureStack #Azure 3

In the Summary page, review the settings and wait until the validation passed and then click OK to continue.

Deploy Remote Desktop Services (RDS) On #AzureStack #Azure 4

On the Buy page, read the Terms of use and click Create.

Deploy Remote Desktop Services (RDS) On #AzureStack #Azure 5

After approximately one hour and a half, you will see 20 resources deployed and created successfully as shown in the screenshot below.

Deploy Remote Desktop Services (RDS) On #AzureStack #Azure 6

When the deployment is completed, you can check the output of the deployment in the resource group under Deployments. Note the RD WEB URL, you need this web link to access your Remote Apps (more on that in the next section).

Deploy Remote Desktop Services (RDS) On #AzureStack #Azure 7

Publish RemoteApp Programs on Azure Stack

As part of the deployment, the domain controller is automatically configured and ready to use as well as all VMs are joined to the domain and configured with the necessary RDS roles (RD Connection Broker, RD Licensing, RD Gateway, RD Web Access, and RD Session Host).

Deploy Remote Desktop Services (RDS) On #AzureStack #Azure 8

The next step is to select the RemoteApp program that you want to publish for the users to access.

Sign in to GW-VM on Azure Stack. Select Server Manager > right-click All Servers > Add Servers.

Add the following servers: Broker, Gateway, RDSH-0, and RDSH-1.

Deploy Remote Desktop Services (RDS) On #AzureStack #Azure 9

Once added, browse to the Remote Desktop Services view in Server Manager, and the RDS Deployment Overview displays.

Deploy Remote Desktop Services (RDS) On #AzureStack #Azure 10

Browse to the Desktop Collection under Collections and click Publish RemoteApp programs. In this example, I will publish WordPad and Calculator programs (of course, you can install your preferred application on each RDS host and then publish it). Click Publish and then click Close.

Deploy Remote Desktop Services (RDS) On #AzureStack #Azure 11

Now your application is ready for the users to access.

Open your web browser and type the RD WEB URL that you get from the output of the deployment above. In my example, it’s https://rds.local.cloudapp.azurestack.external/RdWeb

Enter your domain username and password, and click Sign in. As a side note, the RD Web Access page can be fully customized based on your organization’s needs.

Deploy Remote Desktop Services (RDS) On #AzureStack #Azure 12

Select your application and click connect.

Deploy Remote Desktop Services (RDS) On #AzureStack #Azure 13

As a side note, if you are validating Remote Desktop Services on Azure Stack by using a Self-Signed Certificate and not using a third-party certificate, then you need to export the certificate manually from the RD Gateway machine and import it on the machine from where you want to access the applications. If you don’t do that, you will get an error stating that “This computer can’t verify the identity of the RD Gateway. It’s not safe to connect to servers that can’t be identified“. For production, it’s recommended to update the certificate on the RD Gateway and use a third-party certificate.

Deploy Remote Desktop Services (RDS) On #AzureStack #Azure 14

Finally, you can connect to the remote application and verify it’s accessible. You can also test the load balancing by turning off one of the RD Session Hosts (RDSH-0 or RDSH-1) and ensuring that you are still able to access Remote App sessions.


Remote Desktop Services on Azure Stack is a great solution for organizations that need workloads to stay on-premises while providing a Desktop as a Service (DaaS) solution for remote users.

At the time of this writing, you can only host remote applications and remote desktop sessions based on RD Session Host. Virtual Desktop Infrastructure (VDI) based on RD Virtualization Host is not yet available on Azure Stack.

Microsoft announced at Ignite 2018 conference in Orlando, Florida that they are working on GPU support for Azure Stack. Azure Stack GPU support will bring Azure N-series virtual machines to Azure Stack which then can be used for various scenarios. Microsoft was not mentioning the exact timeline, but it looks like we can expect this in the near future.

If you are interested to deploy a full RDS farm in public Azure, then you can use the following template that will automate the entire deployment.

Thank you for reading my blog.

If you have any questions or feedback, please leave a comment.

-Charbel Nemnom-

Photo of author
About the Author
Charbel Nemnom
Charbel Nemnom is a Senior Cloud Architect, Swiss Certified ICT Security Expert, Certified Cloud Security Professional (CCSP), Certified Information Security Manager (CISM), Microsoft Most Valuable Professional (MVP), and Microsoft Certified Trainer (MCT). He has over 20 years of broad IT experience serving on and guiding technical teams to optimize the performance of mission-critical enterprise systems with extensive practical knowledge of complex systems build, network design, business continuity, and cloud security.

Related Posts


Getting Started With Software-Defined Networking in Windows Server 2019 @Microsoft_SDN

The Top 5 Technical Challenges and Predictions for 2021


2 thoughts on “Deploy Remote Desktop Services (RDS) On #AzureStack #Azure”

Leave a comment...

Let me know what you think, or ask a question...

error: Alert: The content of this website is copyrighted from being plagiarized! You can copy from the \'Code Blocks\' in \'Black\' by selecting the Code. Thank You!