In the sprit of overkill and amazingness, Lets setup a Remote Desktop Services Farm for Windows based applications that you may need access to in your lab. Being a Mac user can be a pain sometimes when you work with Windows Servers and One way to get around this is to setup a simple Windows 10 Virtual Machine that has all the programs needed as this wouldn't take much resources or space. Or you can go for a full on RDS farm like what I am planing on. The end goal will be to integrate the RDS farm into VMware Horizon View VDI setup and Vmware Workspace One for a single point of access to all applications, VDI, ThinApps, and websites. Stay tuned for those parts.

To start lets get a few virtual machines going. From my MSDN account I got a Server 2016 Datacenter key to use for all the servers in the cluster.

The servers are:
* RDSbroker01 - 1core, 6gb ram, 120gb disk - RDS broker, and RDS Web Access Server will be installed here.
* RDSH01 - 4core, 10gb ram, 300gb disk - RDS session host server
* RDSH02 - 4core, 10gb ram, 300gb disk - RDS session host server

These are the 3 servers I am using for the RDS farm. Two of them for the accually applications and sessions, and one to do the controlling of where you go. This is probably over kill for the 4 people that will be using this setup but hey, isn't that what a homelab is all about? Somethings I am not going to go over in this guide is the install and joining/ basic setup of the server. I am going to start right from installing RDS farm. I do recomened having another windows server or desktop to do everything from. This way when reboots are needed, it doesn't cause any issues with monitoring the service installs.

With that out of the way lets get started.

Frist we need to install RDS on the systems. To do that we click Manage,Add Roles and Features. selected-manage

On the next page, we need to select Remote Desktop Services installation and click next.Screen-Shot-2017-11-12-at-4.48.31-PM

On the next page, We will be selecting Standard deployment as we are going to use multiple servers. If you plan on only doing one server for this setup instead of like my setup you can select Quick start instead. After you made sure that Standard deployment is selected, you can click next.
Screen-Shot-2017-11-12-at-4.50.44-PM

On the next Page we are selectiong Session-Based desktop deployment as we are going to run the apps on the server itself.
Screen-Shot-2017-11-12-at-4.51.15-PM

On Role Services Section you can just click next.
Screen-Shot-2017-11-12-at-4.52.36-PM

The next thing to do is Select the RDS broker server that we created and add it to the Selected list.
Screen-Shot-2017-11-12-at-4.56.20-PM
Next we select the rdsborker01 again to add it to the web access server list
Screen-Shot-2017-11-12-at-4.56.55-PM

Now we add the RDS Session Host servers rdsh01 and rdsh02
Screen-Shot-2017-11-12-at-4.57.36-PM

The last page we select the "Restart the desination server automatically if required" option and we are ready to deploy the servers.Screen-Shot-2017-11-12-at-4.58.16-PM-1

Screen-Shot-2017-11-12-at-4.59.01-PMScreen-Shot-2017-11-12-at-4.59.30-PM

Screen-Shot-2017-11-12-at-5.00.39-PM

Screen-Shot-2017-11-12-at-5.01.28-PM

Screen-Shot-2017-11-12-at-5.02.14-PM

Screen-Shot-2017-11-12-at-5.03.58-PM
Now that all the servers and servicces are all setup, you can hit close.

With the install all done. We now see a new option in our Server Manager Dashboard called "Remote Desktop Services" this is the central place to manage all the RDS services.
rds-done
From here you can see everything is mostly ready to go. There are two services that were not installed though. RD Gateway and RD Licensing. The only one of those that we need to select is RD Licensing as this farm will not be accessible withouth a vpn access.
rds-dashboard
To do that Click RD Licensing. And it will pop up asking what server to use. We will use the Broker server for this also. If you are just doing a trail run of RDS you do not need the Licensing part.
Screen-Shot-2017-11-12-at-5.09.14-PM
Next page just make sure everything is good to go and selected the right server and then click Add
Screen-Shot-2017-11-12-at-5.09.35-PM

Screen-Shot-2017-11-12-at-5.10.16-PM
Screen-Shot-2017-11-12-at-5.10.45-PM
After this is all done we have the dashboard looking like this now.
rds-dash

Next we need to setup some Certificates to be able to do single sign on and establish a secure connection between the servers.

First we need to select Tasks and then Edit Deployment Properties
Screenshot

Next we need to Select Certificates, and then Create new certificate... If you have a certificate that you created before hand select exisiting certificate.

Screen-Shot-2017-11-12-at-5.20.35-PM

Next, make the page look similar to this. Screen-Shot-2017-11-12-at-5.45.17-PM
After clicking apply, you will see that the level is Untrusted but everything else is good to go. This is becuase the Cert is self signed. if you used an internal CA (which is next on my list of things to setup) or an External CA that is trusted, this will be marked trusted. The other certificates can be left as is as they are already self signed and not an issue for this setup.
Screen-Shot-2017-11-12-at-5.22.28-PM
you can now click Ok and go back to the RDS dashboard. At this point we have the base of the RDS farm configured and ready to start deploying applications to for use from systems. You should have configured the RDS broker, RD web access, and the RDS session hosts for the farm.

Next up is setting up the Licensing server as RDS uses a differnt licensce key and enforces CALs for users and devices. To start, we need to be in Server Manager and then click on Tools -> Remote Desktop Services -> Remote Desktop Licensing Manager. This section can be skipped if you are not going to be licensing your server and just running the trail.
Screen-Shot-2017-11-13-at-7.35.04-PM

I am connectiong from a differnt server that I am using to set everything up so I need to tell the Manger what server to use.

Screen-Shot-2017-11-13-at-7.36.50-PM
right click on All Servers and click connect
Screen-Shot-2017-11-13-at-7.37.17-PM
Then enter the Server Name
Screen-Shot-2017-11-13-at-7.38.09-PM

Your screen should look similar to this. note: I am using a rdsgw01 in this image as I added it after starting the guide.
Screen-Shot-2017-11-13-at-7.39.14-PM

Next we need to Right click on the server we just added and then click Activate
Screen-Shot-2017-11-13-at-7.40.54-PM

Hit next
Screen-Shot-2017-11-13-at-7.41.10-PM

Automatic
Screen-Shot-2017-11-13-at-7.41.20-PM

Fill in the requested information Screen-Shot-2017-11-13-at-7.42.38-PM
You can skip this page if wanted. It is optional data to help with support.
Screen-Shot-2017-11-13-at-7.43.59-PM
Click next making sure Start Install Licesnses Wizard now is checked.Screen-Shot-2017-11-13-at-7.45.44-PM

click next to verify the data on screen
Screen-Shot-2017-11-13-at-7.44.46-PM

select the license program of where you got the keys from. If it is MSDN select License Pack( Retail Purchase)
Screen-Shot-2017-11-13-at-7.46.11-PM

Now enter your keys that you want. Saddly you can not just copy and paste the whole product key as it has dashs in it and need to select or type out each block.
Screen-Shot-2017-11-13-at-7.47.25-PM

In the end you should have something like mine. You dont need 2 sets of keys as they allow up to 50 each for the MSDN keys but for my testing I figured why not.Screen-Shot-2017-11-13-at-7.50.58-PM

Click next and then wait for the products to be done installing and then you can click finish.
Screen-Shot-2017-11-13-at-7.53.53-PM

You will notice that the server has a little ! on it. Click the Review link in the configuration column to see why.
Screen-Shot-2017-11-13-at-7.54.55-PM-1

Ah looks like it can't tell when RDS users are in use if it isn't apart of the Terminal Server Licesnse Servers group. Click Add to Group to add the server.
Screen-Shot-2017-11-13-at-7.55.45-PM
Make sure you have Domain Admin rights when doing this setup.
Screen-Shot-2017-11-13-at-7.56.58-PM

The Computer is added to the group now.
Screen-Shot-2017-11-13-at-7.57.38-PM
SUCESS! We have a green check mark. The licensing server is all done and ready to be used.
Screen-Shot-2017-11-13-at-7.58.32-PM

Next go to the RDS Overview page and click Tasks, Edit Deployment Properties.
Screen-Shot-2017-11-13-at-8.06.06-PM

And make sure your Licensing server is in the list, and Remote Desktop Licensing mode is selected correctly.

Screen-Shot-2017-11-13-at-8.03.17-PM
After that is all done, on your RD session servers, you should be able to see that they are now licensed correctly. If not You may need to wait a little bit or deploy the config for it through GPO using the Group Policy settings in Computer Configuration\Policies\Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Session Host\Licensing
Screen-Shot-2017-11-13-at-8.19.05-PM

At this point, We should have a fully working RDS Farm minus the apps. For the Applications we are going to use Collections. On rdsh01 and rdsh02 I have installed Visio already so that we have an application that can be used to test the collections with.

To get Started with Collections and Deploy your frist application,on the RDS Overview page, Click on Collections. As you can see right now we have no connections or collections on the servers.
Screen-Shot-2017-11-13-at-9.34.51-PM

To add a collection, click Tasks->Create Session Collection
Screen-Shot-2017-11-13-at-9.36.17-PM
Click Next
Screen-Shot-2017-11-13-at-9.38.11-PM
Select a name for the CollectionScreen-Shot-2017-11-13-at-9.38.41-PM
Select the hosts that will be part of the Collection. As I am planing on working with load balancing, I added both RDSH01 and RDSH02 as they are Identical setup and that is needed for the farm.
Screen-Shot-2017-11-13-at-9.39.07-PM

Select the User Groups that should have access to the collection. You can limit this down by Application latter. For now I am using the default Domain Users.
Screen-Shot-2017-11-13-at-9.40.43-PM

I am not using User Profile Disks and using redirected folders for user profiles.
Screen-Shot-2017-11-13-at-9.42.21-PM
Verify all the day and click create
Screen-Shot-2017-11-13-at-9.43.07-PM

At this point, We have a collection called FarmApps that has 2 hosts in it.
Screen-Shot-2017-11-13-at-9.44.42-PM

If we go to https://rdbroker01/rdweb and login, you can see that we have 1 item there. This Item is a Remote Desktop Session instead of an application. we can us this to login to the server instead of an application. As soon as we add a application to the collection the remote desktop icon for it will go away.
Screen-Shot-2017-11-13-at-9.45.51-PM
Next thing we need to do is add some applications. Start by clicking on FarmApps in the sidebar.
Screen-Shot-2017-11-13-at-9.48.19-PM

Then in the REMOTEAPP PROGRAMS select the tasks-> Publish RemoteApp Programs. In the select RemoteApp programs list select the applications you want to publish. You can add more apps late. for now I am just going to add Visio 2016

Screen-Shot-2017-11-13-at-9.51.16-PM
Verify the apps are selected that you want and click publish.
Screen-Shot-2017-11-13-at-9.52.29-PM
And wait for them to be done.
Screen-Shot-2017-11-13-at-9.53.31-PM
We have now Deployed Visio to rdweb and will be able to get to it over RDP.Screen-Shot-2017-11-13-at-9.54.33-PM

Running remote desktop on mac, I now have Visio running over RDP in a Remote Desktop Sesson.
Screen-Shot-2017-11-13-at-9.55.59-PM

If we go back to the FarmApps Collection, we can see that I am logged into rdsh01 as user ad\rob and that my session is active.

Screen-Shot-2017-11-13-at-9.57.01-PM

We have sucesfully deployed a RDS Farm now with Visio 2016 published for all users. You can now lock down the users by going to the application and limiting the user assignments. In my next guide related to this, I am going to be setting up VMware Horizon VDI and ID manager to integrate ThinApps and RDS apps into one UI to access.