In this article, we'll look at what's new in Remote Desktop Services in Windows Server 2012 and Windows 8/8.1 and how you can use the new features to improve administrative and user experience in your business environment.
IntroductionRemote Desktop Services began rather modestly back in the late 1990s, with its roots in a variation of the Windows NT operating system that was called Terminal Server Edition. It has grown far more sophisticated over the years, and Microsoft has made a number of improvements and included new and enhanced functionality in the Windows Server 2012 iteration of RDS.
RDS has come a long way, getting a new name and undergoing a transformation in the process. The original TS was pretty simple; users could connect to the server from a PC or thin client and work in individual desktop sessions that are sent to the client via Remote Desktop Protocol (RDP). Today’s RDS goes much further, allowing you to deploy applications (rather than the whole desktop) through the RemoteApp feature or deploy a VDI (Virtual Desktop Infrastructure) in which users connect to individual virtual machines. For added security and control, you can also deploy a Remote Desktop Gateway (RDG) and RemoteFX makes for a much richer user experience than we had with the old TS.
A better user experienceRemote Desktop users want their RDP connections to work seamlessly, so that there’s no difference between the performance and functionality in a remote session than when they’re working on a local machine desktop. With Server 2012 RDS, Microsoft is getting closer to that goal.
The Server 2012 RDP experience takes this into account. Microsoft has provided a Metro-style Remote Desktop app in the Windows Store (shown in Figure 1) that’s touch-friendly and simple to use. It remembers your recent connections and makes it easy to reconnect.
Of course, users who prefer to work in the traditional desktop environment can still use the “legacy” RDP client. The latest version of Remote Desktop Protocol and the client software is v8.1, which can also be installed on Windows 7 computers. The new client supports transparent windows and borders on RemoteApp programs as well as the ability to move and resize RemoteApp windows. Also new is support for dynamically changing the resolution or orientation so that the applications in a remote desktop session or RemoteApp behave the same way as local applications. The Remote Desktop client update for Windows 7 SP1 computers can be downloaded here.
Getting connected more easilyThe process of getting connected to a remote desktop session has also received a boost in the ease-of-use department. With a better and less cumbersome process for configuring single sign-on in Windows 2012, users are more likely to be able to use RemoteApp and hosted desktops without having to enter their credentials multiple times. You can even set it up so that your users who are domain members and using managed devices to connect to their remote sessions won’t be prompted to enter credentials; they’ll be signed on with the domain credentials with which they’re logged on locally.
In another move toward the seamless user experience, Microsoft has eliminated the need for end users to set the network in the Remote Desktop client. Not only does the client software detect the network client, it can also detect changes in the network and adapt its own settings accordingly.
In addition, users can provide just their email addresses to connect to the right remote workspace when connecting via Remote Desktop Web Access, instead of having to enter a long, difficult to type (and difficult to remember) URL. And many of them will be happy to learn that they can use their browsers of choice to do it as now Chrome, Firefox and Safari are supported along with Internet Explorer.
And it’s not just other web browsers that are supported. Many users now work in Windows when they’re on the job but want to connect to either their desktop computers or a Remote Desktop server by using Android or iOS tablets or “phablets” (big screen smart phones) from home or on the road. Now they will also be able to use Remote Desktop with a new app for those mobile operating systems. There have been a number of third party RDP clients available for non-Microsoft operating systems in the past but most were paid apps that were relatively expensive. This one was released by Microsoft in conjunction with the release of Windows 8.1 and it’s free and available in the Google Play Store (or Apple App Store). You can read more about it here.
Strangely, the “official” remote desktop app for Android and iOS was released before Microsoft released a remote desktop client app for its own Windows Phone 8, although Microsoft announced in October that they were working on one. The rationale for that, one would assume, is that Android and iOS run on tablet devices, whereas Windows-based tablets run Windows 8 or Windows RT, for which the Remote Desktop app is already available.
Improvements to RemoteFXThe remote desktop user experience keeps getting more and more like “the next best thing to being there,” as the old phone company commercials used to say. RemoteFX has contributed a lot toward that end. RemoteFX is integrated into Remote Desktop Services to allow for remote support of full-motion video, animation and 3D applications, even from thin clients or underpowered PCs. Windows Server 2012 brings a number of enhancements to RemoteFX.
You can now get the same sort of rich media experience over a wide area network or a wireless connection as we had previously over an Ethernet local network connection, thanks to changes that were made to the transport mechanisms that are designed to overcome latency, jitter, packet loss and other problems formerly associated with this scenario. UDP is now used as transport protocol when possible, for a better WAN experience, but RDS automatically uses TCP if UDP can’t be used through the routers and firewalls. For more about that, see the blog post titled RemoteFX for WAN: Overview of Intelligent and Adaptive Transports in Windows 8 and Windows Server 2012 in the Remote Desktop Services Blog on the MSDN web site.
Even more exciting for modern UI fans is the fact that Windows Server 2012 RemoteFX supports multi-touch gestures over the remote connection, with up to 256 touch points. This means that if you’re connecting to the Windows Server 2012 remote desktop server with a device that’s touch enabled, you’ll be able to pinch and zoom like you do with your device’s local applications.
For those who want to do video conferencing over a VDI, Windows Server 2012 also brings high performance support for Lync. This was made possible by changes to the way the Lync audio and video are rendered; instead of being rendered on the Remote Desktop server and sent via RDP to the client, the content is rendered directly on the client. The RemoteFX Media Redirection API is used with Voice over IP (VoIP) to accomplish this.
The virtualized Graphics Processing Unit (vGPU) that was introduced in Server 2008 R2 is still there. Note that to use vGPU on Windows Server 2012, you have to run the virtual machines on Hyper-V and you need a DirectX 11.1 video card installed in the server. Multiple GPUs on one server are supported. Second Level Address Translation (SLAT) must be enabled on the server. The “adaptive graphics” feature in Server 2012 figures out which codec is appropriate for specific content and automatically uses the optimum one instead of using the same “one size fits all” codec that previous versions used.
The experience on low-bandwidth or congested networks should improve for users, as well. A new feature is progressive rendering of graphics, and a new codec is claimed to reduce the bandwidth consumption by up to 90 percent. This should help a lot with rendering of large graphics and videos.
SummaryRemote Desktop Services has been steadily growing more robust, more reliable, more secure and easier to use over the years. Microsoft has continued that trend, building many improvements into the versions of the RDS and RDC software and RDP protocol that are included in Windows Server 2012/2012 R2 and the Windows 8/8.1 client operating systems. In Part 1 of this series, we looked at how those changes have improved the overall experience for end-users. In Part 2, we’ll look at how additional enhancements and additions have made RDS easier for IT pros to deploy, secure and manage. _________________________________________________________________________________
Remote Desktop Services in Windows Server 2012/2012 R2 and Windows 8/8.1 (Part 2)
In this part of our series we’ll look at how additional enhancements and additions have made RDS easier for IT pros to deploy, secure and manage.
IntroductionIn Part 1 of this series, we looked at how changes and improvements in Remote Desktop Services in Windows Server 2012/2012 R2 and Windows 8/8.1 have improved the overall experience for end-users. In Part 2, we’ll look at how additional enhancements and additions have made RDS easier for IT pros to deploy, secure and manage.
The server-based implementation of Remote Desktop was introduced in Windows NT 4.0 Terminal Services Edition back in 1998 and continued to be called Terminal Services when it was included in Windows 2000 Server, Windows Server 2003 and Windows Server 2008. When Microsoft introduced Windows Server 2008 R2, there was a complete overhaul of the entire set of services formerly called Windows Terminal Services, along with a plethora of name changes that served to confuse IT pros.
The terminal server role became the Remote Desktop Session Host, the TS Session Broker became the RD Connection Broker, the TS Gateway became the RD Gateway, TS Web Access became RD Web Access, and a brand new service, the RD Virtualization Host, appeared. This last, the RD Virtualization Host, was the component that enabled the new VDI functionality; installing the RD Virtualization Host role automatically installed Hyper-V on the server (if it wasn’t already installed) and took on the task of monitoring and preparing the virtual machines. In this article, we’ll look first at how Windows Server 2012 and 2012 R2 have improved VDI deployment and administration.
What’s new with Virtual Desktop Infrastructure (VDI)Virtual Desktop Infrastructure is a way of providing users with a full virtualized desktop environment in a desktop session to which they connect via a remote display protocol (in this case, Remote Desktop Protocol or RDP). The difference between VDI and traditional terminal services is that with the latter, all of the different users’ sessions run within the same shared server operating system, such as Windows Server 2012. With VDI, each user has an individual desktop environment in a virtual instance of a desktop operating system (such as Windows 7 or 8).
Whereas terminal services sessions use fewer resources, VDI can give users a more personalized, customized desktop experience through persistent desktops (or you can implement non-persistent desktops where users’ changes are not saved). Because VDI sessions are in separate operating systems, they may be more secure than sessions on a shared OS. In addition, some applications won’t run – or won’t run well – in a shared terminal services environment.
VDI is also different from RemoteApp, which lets you deliver individual applications that run remotely on the server to users’ own local desktops. Where they can run side by side with local applications.
Microsoft introduced their VDI solution, which is based on the integration of Hyper-V and Remote Desktop Services in Windows Server 2008 R2 along with the many other changes to what had previously been known as Terminal Services. VDI gave IT admins the ability to “decouple” the hardware from the software (OS and applications) and data. Users can access their customized desktops from anywhere, with any computer or a thin client.
Windows Server 2012 makes the deployment of VDI faster and easier for IT professionals, by providing a new unified central experience. RDS previously required multiple administrative tools, but with Server 2012, most of them were combined into a single management console that’s built into the new Server Manager that was introduced in Windows Server 2012.
You can select from two deployment types: standard or “Quick Start” deployment, which installs all the Remote Desktop Services on one computer (normally the different roles would be deployed across multiple servers). To deploy VDI, you would select a virtual machine-based desktop deployment scenario, assign roles (in a standard deployment), and configure a machine pool, which is a collection of virtual desktops that can be assigned randomly and managed automatically. Pooled desktops can be rolled back after each session, or you can keep the personalized user settings for pooled desktops, by enabling the use of user profile disks (UDPs) where user settings and data are stored.
You don’t have to use a pooled collection, though; you can create a personal virtual desktop collection where admins assign the desktops to users manually. You can also use virtual desktop templates (that have already been configured in Hyper-V) to deploy and manage the virtual desktops.
A wizard walks you through the steps to deploy your VDI; the full step by step process is described and illustrated here on the Canadian IT Pro Connection web site.
What’s new with Session Virtualization (formerly Terminal Services)Session Virtualization is Microsoft’s new name for the old model of connecting to a desktop via Terminal Services. In other words, multiple users are sharing the same (Server) operating system and applications installed on that OS. As with pooled virtual desktop collections in a VDI deployment, this is appropriate where users don’t need their desktops to be personalized. Users also would not normally have administrative access to the operating system, since it is a shared OS.
Centralized management is the big thing with Windows Server 2012 RDS and this applies to session virtualization, too, where you get the same new unified and centralized deployment experience (starting with the same wizard referenced in the section on deploying VDI). You can use UPDs with session virtualization deployments, too. As with VDI, you can deploy in either Standard or Quick Start mode.
Because one of the drawbacks of session virtualization is the sharing of the operating system and applications, Microsoft has also built in a new feature called the Fairshare Experience. This feature attempts to prevent one user from interfering with the session of another user by disproportionately using the system resources and thus affecting the performance of others. It does this by dynamically spreading the available network bandwidth across all the active sessions, distributing disk I/O equally across active sessions and likewise distributing processor time more “fairly” across the active sessions.
As with Terminal Servers, multiple RD session hosts can be grouped together to publish session-based desktops and also RemoteApp programs. This was called a terminal server farm but is now referred to as a session collection.
What’s new with RDS managementWindows Server 2012 R2 brings back the feature called Session Shadowing, with which you’re able to monitor or take control of users’ active sessions on an RD session host server. This was not available in Windows Server 2012, but Microsoft responded to input from customers who missed the feature.
You can shadow a session in Windows Server 2012 R2 in one of two ways:
- You can use the Server Manager if you prefer a graphical interface
- You can use the command line if you prefer a text-based interface
At the command line on a computer running Remote Desktop Client version 8.1 or above, type the following command:
mstsc /v:<server name> /shadow:<session ID>
In case you’re wondering how you’re supposed to know the session ID, you can find it out by running a PowerShell command (you must first import the Remote Desktop module if you haven’t already):
Note that the shadowing will start in View mode by default when you start it from the command line, so you need to add the /control parameter if you want to take control and the /noConsentPrompt parameter if you don’t want to ask the user for authorization.
In Server 2012 R2, there are some nice enhancements to shadowing. One is that you can shadow a session on a computer that’s using multiple monitors. You also have the ability to shadow a Remote App as well as a user session, and if the user is running multiple Remote Apps, you’ll be able to shadow them all since they run in the same session.
Note that you must have the appropriate permissions to shadow; otherwise you’ll get an “Access denied” error message.
SummaryIn this, Part 2 of our series on improvements and additions to Remote Desktop Services in Windows Server 2012 and Windows Server 2012 R2, we discussed some of the new features and functionalities that will benefit IT professionals in deploying, managing and using various aspects of RDS on their networks. In Part 3, we’ll wrap it up by taking a look at changes to an important feature that benefits both end users and admins: RemoteFX.
Remote Desktop Services in Windows Server 2012/2012 R2 and Windows 8/8.1 (Part 3)
IntroductionIn Part 1 of this series, we looked at how changes and improvements in Remote Desktop Services in Windows Server 2012/2012 R2 and Windows 8/8.1 have improved the overall experience for end-users. In Part 2, we discussed how additional enhancements and additions have made RDS easier for IT pros to deploy, secure and manage. In this, the third and last part of the series, we’ll wrap it up by taking a look at changes to an important feature that benefits both end users and admins: RemoteFX.
Understanding RemoteFX: What it does and how it does itMicrosoft first introduced RemoteFX as a new feature in Server 2008 R2 SP1. It’s an enhancement to the Remote Desktop Protocol (RDP). Remote Desktop Protocol/RemoteFX’s primary competitors are Citrix HDX, which was formerly known as ICA, and VMware’s PCoiP (PC over IP).
TechNet, in its usual inscrutable style, describes RemoteFX as the “enabling of a rich user experience by providing a 3D virtual adapter, intelligent codecs, and the ability to redirect USB devices in virtual machines.” But what exactly does that mean?
First, it means graphics are rendered on the host computer (the RDP server) instead of on the client device, and the applications use the host’s GPU and CPU to run at full speed. The data on the screen is compressed and then encoded by the RemoteFX encoder. Then the compressed bitmaps are sent to the client, where the RemoteFX decoder decodes it. The experience is almost the same as running the applications on the local computer. This relies on virtualization of the GPU, the graphics processing unit.
RemoteFX allows the single GPU on a Hyper-V server to be shared by multiple virtual desktops on multiple clients, including thin and “ultrathin” clients (the latter referring to client systems with no local operating system or storage that boot from the network, also called “zero clients”). In October 2013, Microsoft released Remote Desktop apps for iOS and Android devices that use RemoteFX to provide a rich desktop experience on those devices. The apps are available in the Apple App Store and Google Play Store.
Let’s look at what had been some of the differences between what you got when using your local desktop and when working over RDP. I can still remember when Remote Desktop (then called Terminal Services) was a very pale imitation of the “real” desktop. In the Windows NT days, you couldn’t even print to local printers; that feature was added in Windows Server 2000 but still had limitations. Then the Windows XP RDP client added support for 24 bit color and sound.
It wasn’t until version 6.0 in Vista that we finally got support for multiple monitors – which, to me, was a big deal because for almost a decade and a half I’ve always had three monitors connected to my primary desktop machine. Finally, with the 6.1 version that came with Windows Server 2008 and SP1 for Vista, we got full printing capabilities without the need to install printer drivers on the server in order to print on a local printer.
Version 7.0, in Windows 7 and Server 2008 R2, really upped the ante on the user experience – at least, if you had the Ultimate or Enterprise edition. Multi-monitor support was improved and we could even get the Aero Glass experience over RDP. Windows Media Player redirection was also added, although we still couldn’t (and still can’t) play TV in Windows Media Center over an RDP connection. (Note that you can, however, use a VNC program to do this).
RemoteFX finally came along in version 7.1, which was included in Windows 7 SP1 and Server 2008 R2 SP1. That first version gave us the virtual GPU that is the basis of the RemoteFX capabilities. The vGPU gives the virtual machines access to the advanced functions of the hardware GPU, such as 3D rendering. Another important part of RemoteFX is the USB redirection component. This is what makes it possible for you to access USB devices that are connected to your local computer when you’re working on the remote virtual desktop.
The RemoteFX codec is designed to provide high quality video, photos and text over limited bandwidth networks in real time by compressing the data while reducing latency. This is in contrast to, for example, the H.264 codec was designed for pre-rendered content such as TV and movies. The RemoteFX codec can run in software on the CPU or on the client GPU, or on a custom chip on a card or embedded in thin client hardware.
Server 2012/Windows 8 and Server 2012 R2/Windows 8.1 improvements to RemoteFXAs with other popular features, Microsoft has continually improved RemoteFX in each subsequent version of its server and client operating systems since first introducing it in Server 2008 R2 and Windows 7. Some of the enhancements are just “catch up,” such as implementing support for later versions of DirectX for the virtual GPU. Windows Server 2012 supports DX9 to DX11.
Remote Desktop Protocol version 8 is included in Windows 8 and Server 2012, and it can also be installed on Windows 7 SP1 as an update. The very latest version is RDP version 8.1, which logically enough comes with Windows 8.1 and Server 2012 R2. One of the improvements that is most welcome to me is the support for more monitors running at higher resolutions. As mentioned previously, I’m a multi-monitor fan and with Windows 8/8.1 as the client, RemoteFX now supports as many as 4 monitors per virtual machine at my usual resolution of 1920 x 1200. If you’re willing to drop that back to 1280 x 1024, you get support for 8 monitors per VM. Unfortunately, if you’re into high dollar high resolution displays, you’re still limited to just two per VM at 2560 x 1660 – but my guess (and hope) is that this will change in future iterations of RemoteFX.
Of course, today’s computing trend is toward more and more mobile computing, and these days, mobile means touch-enabled. Tablets and convertible systems with removable or “fold-away-able” keyboards that can function as either tablet or laptop are quickly growing in popularity – so much so that Microsoft itself got into the game with the Surface devices. Even on the desktop, touch-enabled monitors are slowly but steadily gaining favor. That makes sense, because Windows 8/8.1 is a touch-centric operating system and the modern user interface works best with touch gestures.
Thus it also makes sense that the latest incarnation of RemoteFX provides support for multi-touch, so that a user can use a touch-enabled device such as a tablet to access his or her remote desktop sessions. That’s an important factor in making the client-side experience as seamless as possible and makes the modern UI much more user-friendly with Windows 8/8.1 desktops.
Finally, performance is always an issue with any technology that works across a network. I can remember how the first versions of Remote Desktop were a bit laggy, even over a fast LAN. The first iteration of RemoteFX worked only on the LAN, but Server 2012/Windows 8 RemoteFX significantly improved the performance of virtual desktops, even across a wide area network. It can detect the connection speed automatically and adjust for that to give you the best performance.
The adaptive encoding feature is another important enhancement to RemoteFX that is part of version 8. It makes it possible to use the best codec for the type of content being encoded and use AVC/H.264 hardware for video if that hardware is available on the client system. Now in version 8.1, it gets even better. The H.264 support now includes images as well as video, so if there’s an AVC/H.264 hardware module, RemoteFX can offload both the video and image processing to it. The CPU will continue to decode text. This results in much higher frame rates. The Surface RT and similar devices can benefit from this performance improvement.
Note that you will need a compatible video card on the Windows server running Windows Server 2012 R2 in order to use RemoteFX with video acceleration. That means a card that supports DirectX 11.0 or later and a WDDM 1.2 or later driver. (Note that support for XDDM drivers was removed in Server 2012 and will not load; only WDDM drivers are supported).