One major complaint I hear frequently around standing up a Windows Server 2012 Remote Desktop Services solution is the fact that all of the guides and documentation are centered around a full RDS deployment. E.g. Deploying the Session Hosts, plus Licensing, plus the Connection Broker, plus Web Access, plus the Gateway, and making sure you do this all from within a full Windows domain environment.
Here’s an alternative, single server way to deploy Remote Desktop Services on Server 2012, even in a workgroup. I call it “Micro RDS.”
For instance, let’s say you just want to install a multi-user capable Remote Desktop Services Session Host in Windows Azure. Moreover, let’s say you don’t want to join the session host to a domain with all the additional costs and complexities that adds. You don’t have to. Fundamentally, all you need to do is add 4 Windows features, and then do some very minor configuration of RDS licensing. That’s it.
We’ve built all of these steps into two separate streamlined PowerShell scripts which you can download below. The first script will install all necessary roles and features, after which you will need to reboot your Windows Server 2012 virtual machine. The second script will run behind, do some licensing configuration, and then auto-launch the licensing manager tool so you can enter in your licensing CALs or SALs supplied by the Microsoft licensing clearinghouse.
Base level RDS roles and features required for a single server RDS deployment
To have this deployment work properly, you need to add the following roles:
- The Remote Desktop Session Host Role
- The Remote Desktop Licensing Role
Also, you should add the following features so you can do some licensing configuration after you’ve installed the above roles:
- The Remote Desktop Licensing Tools
- The Remote Desktop Licensing Diagnoser Tools
Necessary configuration of the licensing mode and licensing server
In our single server RDS deployment, you must tell the Remote Desktop Session Host server where to look for its licensing. In this case, it will query itself, because the Licensing Role will also be running on this system. What you as an administrator must do is:
- Set the licensing mode (e.g. per-user or per-device)
- Tell the session host server to query itself for licensing
- Install the CALs/SALs from the clearinghouse
Once the above is done, you will have a functioning single-server RDS deployment you can use on-premise or via Azure or Amazon for your remote computing needs. NOTE: If this single session host will be running in a workgroup, you MUST use per device licensing!
Scripts needed to deploy this RDS single server configuration
In both cases, before running the scripts in PowerShell, you will need to set the Execution Policy appropriately, and then navigate to the directory where your downloaded scripts have been stored. For instance, from a PowerShell prompt, type:
Script 1: MicroRDS-SingleServerDeployment-Step1.ps1 (Click to Download)
Run this script first to add the necessary roles and features to your server. Then reboot.
Script 2: MicroRDS-SingleServerDeployment-Step2.ps2 (Click to Download)
Run this script second to set the licensing mode and inform this session host that it needs to query itself for licensing. The script will prompt you for a number that corresponds with the licensing model you will use. AGAIN: If this single session host will be running in a workgroup, you MUST use per device licensing!
Lastly, when the RDS Licensing Manager starts, activate licensing and then enter in the key corresponding to the per-user or per-device CALs/SALs received from the Microsoft licensing clearinghouse. Since the first PowerShell script installed the RDS Licensing Diagnoser tool in addition to the RDS Licensing Manager, you can use the Diagnoser as a final check to make sure licensing has been configured properly.
NOTE: Without a connection broker in your deployment, you will not be able to use the Remote Desktop Services Manager built into Server Manager in Windows Server 2012. To counteract this problem, download the free Remote Desktop Commander Lite tool produced by RDPSoft.