Mar 222020
 
Microsoft Remote Desktop Services Logo

In the last few months, the crisis with COVID19 has put organizations in a panic to enable employees to be able to work from home, to continue business productivity, keep employees safe, and keep employees on the payroll. It’s good for business, and it’s good for employees to avoid layoffs so everyone keeps their jobs.

This has put IT departments and IT professionals in a hectic position where they must roll out and deploy remote access technologies on the fly, often with little or no notice.

I’ve heard horror stories where organization leadership has made decisions without consulting IT which resulted in the inability to work, also where organizations didn’t involve their IT teams in strategizing and planning moving forward.

Business executive giving directive on IT

In this post I’m going to outline the most efficient way to rapidly deploy Remote Desktop Services (RDS) for employee remote access.

Remote Access Technologies

There’s a number of different remote access technologies and software packages available today. Some are designed to allow you to work fully remotely (providing a remote desktop to office resources), and some are designed to provide access to specific resources remotely (such as documents, files, etc).

The main technologies typically used for remote access include:

The main software packages that enable a remote workforce include:

  • Microsoft Office 365
  • Microsoft 365
  • Skype for Business
  • Microsoft Teams
  • Zoom
  • Numerous other applications and cloud suites

Every technology or application has it’s purpose and is deployed depending on the business requirements, however in this specific situation we need a solution that is easy and fast to deploy.

For most small to medium sized businesses, Remote Desktop Services would be the easiest solution to roll out on such short notice.

Remote Desktop Services (RDS)

Remote Desktop Services is a server/client technology that allows the client to connect to the server, and have access to a full Windows desktop that’s actually running on the server itself.

These sessions are encrypted, secure, and essentially brings the display to the connecting client, and brings back mouse and keyboard feedback.

With Remote Desktop Services, you’re maintaining one Windows Server that provides multiple concurrent sessions for multiple concurrent users. You can install software packages (database applications, Microsoft Office 365, and other line of business applications), and make them available to the connecting users.

Even users who are accessing large files have a beautiful experience since the data never leaves your IT environment, only the sessions display is transmitted.

This works great for home users who have slow internet connections, users who are travelling, or using their cell networks LTE connection to connect.

For administrators, it provides an easy way to manage a desktop experience for multiple users by maintain a single server. There are also many additional controls you can implement to limit access and optimize the experience.

What’s required

When deploying RDS, you’ll need the following:

  • A dedicated Server or dedicated Virtual Machine running Microsoft Windows Server to be configured as a Remote Desktop Services server.
  • Remote Desktop Services CALs (Client Access Licenses – One CAL is required for each user or device)
  • A high speed internet connection (that can handle multiple RDS sessions)
  • A firewall to protect the RDS Server and preferably 2FA/MFA logins
  • A Static IP and DNS entries to make the server available to the internet and your users

You’ll want the RDS server to be dedicated strictly to Remote Desktop Services sessions. You will not want to run any other servers or services on this server or virtual machine.

You will need to purchase RDS CALs. A Remote Desktop Services Client access license, is required for every device or user you have connected to your RDS server. During your initial purchase of RDS CALs, you must choose between user count based licensing, or device count based licensing. If you need help with licensing Microsoft Remote Desktop Services, please feel free to reach out to me.

The connections between the server and client consist of an encrypted presentation of the display, as well as mouse/keyboard feedback, and other peripherals. For a single session it’s not much, which means your users don’t ultra fast internet connections. However, on the server side if you are running multiple sessions, the bandwidth requirements add up.

Remote Desktop Services servers are often under attack on the internet. You’ll find that the servers are subjected to scans, brute force attempts, and exploit execution. You’ll want to make sure that you have both a firewall (with intrusion prevention) and a security technology like DUO Security Two Factor Authentication configured to protect your server.

Finally, you’ll need a static IP on the internet and a friendly DNS hostname for your employees to connect to using the Remote Desktop Protocol (RDP) Client, such as “remote.companyname.com”.

Deploying RDS

Deploying RDS is easy. Here is a brief summary of the steps to rapidly deploy a Remote Desktop Services server for remote access.

  1. Install Windows Server on the server or virtual machine that will host RDS.
  2. Configure networking (static IP) and join to domain.
  3. Using the server manager, add the Remote Desktop Services role.
  4. Configure Remote Desktop Services and Remote Desktop Web Access
  5. Configure an SSL Certificate
  6. Configure user session settings
  7. Install user software on the RDS Server (Including Office 365, Line of Business applications, and others)
  8. Configure ACLs (Access Control) to secure user access.
  9. Test the environment
  10. Move to production

Even with limited to no experience with Remote Desktop Services, an IT professional will be able to deploy the first server within hours. A focus must be paid to securing the environment, performance enhancements can be made later after deployment.

Please note that special steps are required when you install Office 365 in a Remote Desktop Services Environment, and configure office 365 in a Remote Desktop Services environment.

Microsoft has a detailed deployment guide available here: https://docs.microsoft.com/en-us/windows-server/remote/remote-desktop-services/rds-deploy-infrastructure

Security Considerations

As mentioned above, your RDS server will be subject to ongoing attacks. These attacks include vulnerability scans, bruteforce attempts, and targeted exploitation attempts.

  • You’ll want to make sure that you have and enforce strict password policies to stop bruteforce attempts.
  • A firewall should be implemented that includes an intrusion prevention system to identify and stop intrusion attempts.
  • You should implement two factor authentication using a product like Duo from Duo Security.

Your new RDS server while enabling a mobile workforce, also substantially increases your security footprint. Considerations must always be made and factored in when deploying internet available services.

Below is a video demo of what Duo Security Two Facter authentication looks like when logging in to an RDP session.

Duo Security Two Factor Authentication on Remote Desktop Services RDS Demo

Optimizations

There’s a fair number of optimizations which can be made in an RDS environment. I’m going to cover a few of the most widely used below.

Please note, you should also configure the RDS Group Policy Objects (GPO) as well.

Folder Redirection

While most data should be stored on network shares, we often find that users will store data and files on their Desktop and My Documents.

If you have available and extra storage, you can enable Desktop and My Documents Folder redirection. This will redirect users Desktop’s and My Document’s folders to a network share. On local computers on your network, the computers will retain a cached copy for performance.

If you deploy an RDS Server and have Folder redirection configured, the users My Documents and Desktop will be available to that user. Additionally since the server is on the same network as the share hosting the data, the RDS server will not retain a local cached copy (saving space).

If you are considering implementing and turning on Folder Redirection, I would recommend doing so before deploying an RDS Server (especially before a user logs in for the first time).

Anti-virus and Endpoint Protection

Careful consideration must be made when choosing the antivirus and endpoint protection software for your RDS environment.

First, you must make sure that your antivirus and/or endpoint protection vendor supports Remote Desktop Services, and then also deploy their recommended settings for that type of environment.

A proper endpoint protection solution should run few processes for all users, and not individual processes for each user.

Service Delivery

For continued service delivery, your IT staff must monitor and maintain the server. This includes monitoring logs, updating it via Windows Update, and updating the various applications your users are using.

IT professional working on organization infrastructure including Remote Desktop Services RDS

As the environment grows, you can deploy additional RDS Servers and create an RDS Farm. If you get to this point you’ll be able to deploy a load balancer and grow as more performance is required, or additional users are brought online.

Software Installation

When installing software on your Remote Desktop Services Server, extra steps must be taken so that the registry is properly handled for the multi-user environment.

Before launching a software installer, open a command prompt (elevated as Administrator) and run the following command:

change user /install

This will change your user session to an install mode. You can now run your software installation.

After the software installation is complete, put the RDS Server back in to execution mode with the following command:

change user /execute

Performing the above will make sure that the registry is properly handled during software installation for proper functioning of software in a multi-user RDS environment. Restarting the server will always automatically bring it back up in execute mode.

Conclusion

Deploying a Remote Desktop Services server is a great way to get a large number of users online and working remotely in a short amount of time. This keeps management happy, employees happy, and maintains a productive workforce.

Employee working remotely from home using Remote Desktop Services

As I mentioned, there are numerous other technologies so depending on what your company has already implemented or is using, may change what solution would be best for you.

If you have any questions or require help or assistance with deploying Remote Desktop Services for your organization, don’t hesitate to reach out to me!

Leave a comment with some feedback!

  10 Responses to “How to rapidly deploy Remote Desktop Services (RDS) for employee remote access”

  1. any good tips on antivirus settings required for rds server to perform good. i remember hearing some things about excluding certain temp files and other things from being scanned real time.

    also we have rds 2016 with webclient and its horribly slow if we have more than like 8 users and we already have 40 vcpu core with 40gb ram and msa2040. i suspect theres some configuration bottlenecks but cant seem to find what it is.

    is there any hotfixes bugs that your aware of making the messages “remote desktop services is curerntly busy” from appearing when the server has like 8 people on and others try and join it starts going slower and slower. i heard about some rdsh memory issue bugs and the like.

    really pulling my hair out from IT manager perspective all this home working has been such a pain, we are already training users remotely how to use the kit and then when the kit doesnt perform well then students cant login to do their homework its so much pressure. i just want to go sleep cant do it.

  2. Hi Sulayman,

    You’re correct, it sounds like there’s something wrong causing performance bottlenecks. With 40 vCPUs and that much RAM assigned, it should be more than enough for the environment to load, in addition to a minor application load.

    I’d recommend running some tests on the RDS server, as well as the virtual environment. You should be checking the storage layers, how busy the ESXi host is, CPU wait time (both ESXi and VM), as well as the application load.

    Once you identify what’s causing the bottleneck, it should be easy to resolve unless it’s the applications which require it, in which case you’ll have to add to the server to deal with whatever it’s lacking.

    As for anti-virus, make sure the product you’re using is supposed and functions on an RDS or terminal server. Also, make sure you make any changes that the vendors suggest for TS environments. The software should have one (or a few processes) for all users, and not individual processes for each.

    Every environment is different, but I’m available for consulting if you want to bring an external resource on board to assist with troubleshooting and supporting.

    Hope this post helps,

    Stephen

  3. […] you deploy Remote Desktop Services (RDS) for employee remote access, your next step will be to install user applications as well as all your line of business […]

  4. Hi Stephen,

    I have an env’t where random users while they are able to successfully logon to the RDP Server, during the session, they randomly get a Black Screen.
    At this time we only have 10 users logged on at once, and eventually this would be scaled out to a much larger workforce.
    The hardware in the back end is VMware, and the RDP Server is a Windows 2016 Virtual Machine.
    I know there may be many things to look at, but just the black screen is the only real consistant thing that the users are reporting.

    Any suggestions on where to start investigating? I was going to start with the VMware Hosts and the logs of the RDP Server.

    Thanks,
    Rob

  5. Hi Rob,

    Are you using any 3D/GPU RemoteFX acceleration with the RDS Server? Also, is the server itself crashing, freezing, or losing connectivity with the network? If no to both of these, I doubt you need to check anything on the VMware side of things.

    If there’s packet loss or network drops, it could be something on the VMware/VM side, check the NIC, use VMXNET and make sure VMware tools is installed.

    However with all the above said, the first thing I’d do is check the event logs on the RDS server. Use Event Viewer remotely, and refresh while the sessions are live, keep refreshing to see what’s going on before/after the blank screen issue.

    Sometimes with RDP clients, blank screen is a disconnection, so you might also need to check network connectivity.

    Stephen

  6. Hi Stephen,

    Thank you for your prompt reply.
    So in troubleshooting this, here is some info
    I have a F5 Load Balancer with 3 Session Hosts and 3 RDP Server Farms (Users, Staff, Guests)
    We initially had built 3 UDP Servers (this was inherited by the current IT Team)
    the Users and Guests UDP Servers and profiles all were working fine.
    Just the Staff one was not, it was used not so much, but obviously past 2 months – it was started to be used more and that is when we were being told its getting black screen….
    Anyhow, my team mate redeployed that server during the day and voila – for the entire day no issues of black screen…usually we get 10 calls per day and since it was redeployed, no calls and we asked staff and all said it was a huge improvement.
    There is no RDP client, but we use the Web Interface.

    One question I had was, since we inherited this – do you have a link to a site which shows Best Practices for this type of setup?

    Thanks,
    Rob

  7. Hi Rob,

    I’d recommend checking out this document: https://docs.microsoft.com/en-us/windows-server/remote/remote-desktop-services/welcome-to-rds

    Make sure you expand the headers on the left. Not only does it provide information on how to deploy, but also configure, run, and optimize your RDS environments.

    Cheers,
    Stephen

  8. Is it possible to deploy a single stand-alone Windows Server 2019 with RDS and give 5 people a remote desktop experience? Or does the setup require active directory be installed and configured for this to work? We want to push 5 individual desktop towers with RDP enabled into a single central RDS server with minimum cost. What is your recommendation?

  9. Hi Em,

    I’m actually not quite sure. I think back many years ago you could, however I haven’t attempted it in quite some time.

    I’d recommend looking at Microsoft’s documentation as they should have something outlining if this is possible or not.

    Cheers,
    Stephen

  10. […] you Deploy Remote Desktop Services (RDS) for employee remote access and Install Office 365 in a Remote Desktop Services Environment, your next step will be to […]

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)