It’s not talked about very much but there is a somewhat hidden feature in Windows Server 2012 Remote Desktop Services that allows you to include a Windows Server 2008 R2 Session Host in the 2012 environment, and it’s really easy! Why would you do this? Why would you want to have a mix of Server 2012 and Server 2008 R2? Perhaps you want to do migrate from an existing 2008 R2 RDS environment rather than do a complete cut over. Or perhaps you find an application that requires Server 2008 R2 for support reasons. Or maybe you just want to publish an older version of Internet Explorer (you could publish IE8 or IE9 this way). Whatever the reason, Microsoft has included a line in the web.config file of the RDWeb server that allows you to access applications (or the desktop) on a 2008 R2 RDSH server. Nothing to install nor even a service to restart. Just edit the file, list the server and poof, your done! In case you haven’t set up a 2008 R2 session host before, I’ll show you how to do that and how to configure it to allow the 2012 RDWA server to read the list of available applications. Let’s get started.
Set up the 2008 R2 Session Host
Build yourself a server with Window Server 2008 R2 SP1 and join your domain. then open the Server Manager and start the Add Roles wizard. We want to set up Remote Desktop Services And select the Remote Desktop Session Host All the other role services will be managed by the Windows 2012 servers. You can pick “Do not require NLA” if you want to allow older clients like XP to connect to RDS, but if you’re going to be a Windows 7 and Windows 8 shop, you may want to consider using NLA to provide better security. You can worry about licensing later, or if you’ve already added a RDLI server you may want to select the mode now. Per User is most common. Select the group of users that should have access to this RDS Server. Note: this should be a pretty generic group, like Domain Users or a smaller list of users that you allow to access RDS. You can later get more granular about who has access to specific applications. This group determines who can access the environment as a whole. If you want to allow this Session Host to play audio and video, then check the first box. this will install the “Desktop Experience” feature which includes a set of codecs, audio support and other apps that are typically found only on desktop operating systems (like the clipping tool, etc). You may want to include the Desktop Composition option as well if you want to “chrome” on RemoteApps to look more like a Windows Client application would (the Aero curved corners and transparency) . Review your selections and click Install. When it’s finished you’ll need to reboot. After the restart, make sure you log in as the same user that initially installed the Role to complete the installation. If you have already assigned certificates to be used on your Server 2012 environment then you should import that certificate on the 2008 R2 server now. Just open the Certificates MMC for the local computer account and import it to the Personal store. Make sure you have the Private Key as well! From the Server Manager, open the Local Users and Groups and double click the “TW Web Access Computers” group. You want to add the Computer account of your Server 2012 RDWA server. In my example, the RDGW and RDWA roles are on the same computer, thus the name in the screen shot is my “Gateway and Web” server. Under Roles, select the RD Session Host Configuration and double click the RDP-Tcp connection. Here you can select the Certificate you imported earlier. From the RemoteApp Manager, click the Change link near “Digital Signature Settings” to select the certificate that should be used to sign the RemoteApp files. If you have a windows 2012 Remote Desktop Gateway server, then you should also click the Change link for RD Gateway Settings and enter the external FQDN of the Gateway as this values gets written into the RDP files so external users can connect to the session host.
Publish an Application
Now it’s time to publish an app! From the RemoteApp Manager, right click in the RemoteApp Programs area and select Add RemoteApp Programs. You can either select an app that’s already listed, but for this example I want to publish Internet Explorer. So click Browse and navigate to the location of the EXE file. You may find that the location gets sent to a UNC path, just make sure you set the local drive path. In this particular case I also want to make sure I publish the 32-bit version, and I also like to set the Name and Alias to something more friendly like “IE9”. I’ve also found that sometimes the icon does not appear in RDWeb when using the x86 path to program files, so picking from the x64 exe seems to correct that. And you’re done! This Windows Server 2008 R2 session host is ready to go.
Set up the 2012 Web Access server
And now for the easy part… On your Windows Server 2012 RDWA server, openC:WindowsWebRDWebWeb.config in notepad and search for “ws2008r2rdserver” and set the value to the FFQDN of your 2008 R2 RDSH. When you try to save the file you might not be able to write it because it’s under the Windows folder and it’s protected by UAC, so save it to your desktop and then copy it from there back to the RDWeb folder. You’ll be prompted for admin rights to do it, and to overwrite the original file. And you’re done! If you load up your RDWeb page you should see your new application listed right along with all the other apps that are on you other 2012 Session Hosts. Neat trick, thanks Microsoft!