How to automate the deployment of Remote Desktop Services (RDS)

Automate and deploy RDS
Get a better understanding of Remote Desktop Services (RDS) and learn how to automate deployment with XOAP.
Picture of Ante


New to Remote Desktop Services (RDS)? Or just looking for a better way to automatically deploy it?

You’ve come to the right place. 🙌

In this blog post, we’ll give you a brief introduction to Remote Desktop Services (RDS), highlight its advantages and disadvantages, and provide you with a straightforward guide to simplifying this process using XOAP.

Let’s begin!

Table of contents

Download RDS automation scripts

Quick overview of RDS

Remote Desktop Services (RDS) is a set of technologies offered by Microsoft. It’s widely used by businesses and organizations to provide secure remote access to Windows-based applications and desktops. Moreover, it’s particularly useful in situations where users need to work remotely, access centralized resources, or leverage the benefits of virtualization for desktop delivery.

Key components of RDS

  • Remote Desktop Session Host (RDSH): It allows multiple users to log into a remote Windows server and run applications as if they were running on the user’s local machine.
  • Remote Desktop Virtualization Host (RDVH): RDVH is used in a Virtual Desktop Infrastructure (VDI) deployment. It allows users to connect to and run virtual desktops hosted on a server.
  • Remote Desktop Gateway (RD Gateway): RD Gateway enables authorized remote users to connect to resources on an internal corporate network from any internet-connected device. It acts as a bridge between the client and the remote desktop or application server.
  • Remote Desktop Web Access (RD Web Access): RD Web Access provides users with access to RemoteApp and Desktop Connection through the Start menu or a web browser. Users can launch applications or desktops from a web portal.
  • Remote Desktop Connection Broker (RD Connection Broker): This component manages the use of Remote Desktop Services in the deployment, allowing users to reconnect to their existing sessions. It’s particularly useful in load-balancing scenarios and ensuring session persistence.

As with any technology, there are both advantages and disadvantages to using RDS. To help you get a better understanding, we’ve provided some details in the table below:


Resource efficiency

RDS ensures efficient utilization of computing resources, contributing to cost-effectiveness. 

Complex initial setup and configuration

Implementing Microsoft Remote Desktop Services (RDS) can be intricate, particularly for those without advanced technical expertise.

The initial setup and configuration may involve multiple components, requiring careful planning and potential challenges for organizations new to RDS.

Integration with Microsoft ecosystem

As a part of the Microsoft ecosystem, RDS seamlessly integrates with other Microsoft products and services, such as Active Directory.

This integration streamlines user management, enhances security through consistent identity management, and facilitates a unified experience for users familiar with Microsoft tools.

Limited cross-platform compatibility

While RDS excels within the Microsoft ecosystem, cross-platform compatibility may be limited.

This can pose challenges for organizations using a variety of operating systems, potentially impacting collaboration and flexibility in mixed-OS environments.

Centralized management and administration

RDS provides centralized management capabilities, allowing administrators to efficiently control and administer virtual desktops and applications from a single console.

This centralized approach simplifies updates, patches, and policy enforcement, contributing to improved system security and streamlined IT management.

Resource intensiveness and scaling challenges

RDS may demand significant server resources, especially as the number of users and applications increases.

Organizations might face challenges in scaling the infrastructure to accommodate growth, potentially leading to performance issues and increased hardware requirements.

Easy to automate

Microsoft RDS provides robust scripting capabilities, especially through PowerShell.

Administrators can automate various tasks, such as deployment, configuration, and management of RDS components. PowerShell scripts can be used to streamline repetitive tasks, ensuring efficiency and consistency.

Licensing complexity and costs

RDS licensing is the “simplest” compared to the other solutions.

However, the licensing options for Microsoft RDS can be complex, and the associated costs may vary based on the deployment scenarios.

There are many step-by-step guides available on the internet that describe the process of deploying RDS. However, it’s important to note that these guides often contain many configuration steps and may not provide answers to questions about the operational aspects of RDSH or other extended topics.

Luckily, with XOAP, you can simplify this process.

We’ll show you exactly how to do it ⬇️

Simplify RDS deployments with XOAP

By using our products config.XO and application.XO, you can create configurations, install applications, and keep them up to date.

Also, by using our DSC module XOAPRemoteDesktopServices you can configure your RDS environment easily and quickly. We even created a DSC resource named Quick Start Configuration.

All you need to provide in the Quick StartConfiguration template is a server name for the RDS Connection Broker and the RDS Session Host, together with the allowed Active Directory user group.

This tutorial is also available as a YouTube video.

Check out our YouTube channel for more videos like this!

Deploy RDS with our Quick Start template

First of all (if you haven’t done it already) start a new XOAP trial. The trial has all the modules, configurations, and applications integrated, that are needed for this example.

Then, navigate to your personal Workspace and follow these steps:

Step 1:

In Configuration Management go to the Parameters area and click “+” to add a parameter. Select type Credentials and add a user with its UPN from your Active Directory domain with administrator rights for managing RDS. When you’re ready click save.

add parameters

Step 2:

In Configuration Management go to the Configurations” area. To Create a Configuration click on “+” and select the “Create Configuration option.

create configuration

Step 3:

Define a new “Name” for your “Configuration”, optionally define a description and tags, then click on “Add Resource”. Select the “XOAPRemoteDesktopServicesDSC module and the resource XOAP_QuickStartConfiguration. Define the “Resource Display Name”, select the created credential parameter for the “PSDscRunAsCredetial” option, and fill out the information about your infrastructure nodes.

add resources

Step 4:

When you’re ready click “Save”. When you click on “Save” in the “DSC Configuration Wizard”, add some information about the changes you did and click “Save” one more time. This configuration will now be automatically compiled, encrypted and versioned in our backend. This takes a few minutes to complete.

save configuration

Step 5:

Once the configuration is created, switch to Configuration Management Groups and click “+” to add a new group. Provide a group name (in this example “XOAP_SessionHost” and “XOAP_ConnectionBrokerQuickConfig) and select the created configuration and the version (initially this will always be 0.0.1). Select a desired policy from the available policies and click on “Save to create the new group.

add group in configuration management

Step 6:

To apply configurations on your servers, switch to Configuration Management and go to the Groups” area. Then find the “XOAP_SessionHost” group, click on the gear icon and select “Download.

configuration management groups

Step 7:

When that’s downloaded, copy the ps1 file to your RD Session Host server and run it as administrator. Also, make sure to at least have the PowerShell execution policy set to “Bypass”. This will register the server in your dedicated XOAP Workspace inside the “XOAP_SessionHost” group and apply the DSC configuration.

After this, follow the same procedure for the “XOAP_ConnectionBrokerQuickConfig” group. Once you have completed this step, your QuickStartConfiguration RDS environment will be fully prepared for use.

To ensure all settings are applied, check the compliance state in the “Nodes” overview:

action menu in configuration management nodes

Step 8:

If you go to the Details, you can see applied resources.

current status of RDS resource states


Streamlining management, enhancing efficiency, and improving user experience are some of the key benefits of automating Remote Desktop Services (RDS). Check out this table for a comprehensive summary of its advantages:

Advantages of RDS
Operational efficiency
Automation reduces manual intervention, enabling IT administrators to efficiently deploy, manage, and scale RDS environments.
Consistent configurations
Automation ensures consistent configurations across servers and user environments, reducing the likelihood of errors and improving system stability.
Rapid deploymentAutomated processes facilitate quick and repeatable deployment of remote desktop environments, saving time and resources.
Resource optimizationAutomation helps optimize server resources, ensuring that computing power is allocated efficiently to meet the demands of remote users.
Cost savingsBy automating routine tasks, organizations can potentially reduce operational costs associated with manual management and maintenance.
Enhanced security and complianceAutomated security configurations and regular updates can be applied consistently, reducing vulnerabilities and enhancing the overall security posture of the RDS infrastructure, while ensuring compliance.
ScalabilityAutomated scaling mechanisms allow organizations to adapt to changing user demands without manual intervention, ensuring a seamless experience for growing user bases.

With XOAP, not only is automated deployment made easy, but also the operational part with versioned changes of configurations, simplified security and compliance as well as application deployment and updates.

Additionally, you can deploy this configuration on nodes running in your local data center, and if you decide to switch to one of the major cloud providers you can simply assign the configuration to those nodes as well.

Please note that the example used in this blog only shows the simplest scenario for a quick start. If you need to deploy more complex scenarios, you can use the additional DSC resources available in this module.

Of course, you are free to deploy this configuration in your on-premises data center, in Azure or AWS. You decide! 🦾

👉 If you need more information about XOAP and RDS you can book a 30-min demo. We’ll happily guide you through our platform.

Download illustration

Download RDS automation scripts

for a simple, reproducible and fast deployment of your entire RDS infrastructure.

By downloading, you accept the XOAP privacy policy and will receive product information from us.

Share post

More Posts

Scroll to Top