Although some of the features in Remote Desktop
Services have already been touched on, this section covers features that
are important, new, or improved in Windows Server 2008 R2–based Remote
Desktop Services.
RD Session Host
The Remote Desktop Session
Host (RD Session Host) role service was previously known as the
Terminal Server role service in Windows Server 2008. This role service
is used to host Windows-based applications or a full Windows desktop for
users who connect to an RD Session Host using either Remote Desktop
Connection or RemoteApp.
The new features that have
been introduced in Windows Server 2008 R2 for the RD Session Host role
service are discussed in the following sections.
Per-User RemoteApp
Filtering
Using per-user RemoteApp filtering, an administrator
can now filter the list of RemoteApp programs that are available to
users when they log on to RD Web Access. Prior to this feature being
introduced, each user was presented with a list of all RemoteApp
programs regardless of whether they had rights.
Fair Share CPU
Scheduling
In previous versions
of Terminal Services, the Windows scheduler had a fair scheduling policy
that distributed processor time evenly across all threads of the same
priority level. Although this scheduling methodology was a good
mechanism to prevent any one user from completely monopolizing the CPU,
it was not able to evenly distribute the processor time based on dynamic
loads. To better handle dynamic loads, the Fair Share CPU Scheduling
feature in Remote Desktop Services uses a Windows Server 2008 R2
kernel-level scheduling mechanism to dynamically distribute processor
time across sessions based on the number of active sessions and load on
those sessions.
Note
By default, the Fair Share
CPU Scheduling feature is enabled. To disable this feature, set the
following Registry entry as 0:
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\SessionManager\
DFSS\EnableDFSS.
Windows Installer RDS
Compatibility
In previous versions of
Terminal Services, only one Windows Installer installation was supported
at a time. This meant that user-related MSI actions (like
personalization) were limited to one concurrent run per Terminal Server.
To streamline application deployments to RS Session Host servers, the
Windows Installer RDS Compatibility feature is designed so that per-user
application installations are queued by the RD Session Host server and
then handled by the Windows Installer.
Note
Windows Installer RDS
Compatibility is enabled by default. You can disable this feature by
configuring the following Registry entry to 0:
HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\Terminal
Services\TSAppSrv\TSMSI\Enable.
Client Experience
Configuration Page
During the installation of the
RD Session Host role service using Server Manager, one of the steps in
the wizard is the Client Experience Configuration page. Using this page,
an administrator can configure the following client experience
features:
Audio and video playback redirection
Audio recording redirection
Desktop
composition (user-interface elements of the Windows Aero desktop
experience within an RD Session Host session)
Note
When any of these features are
configured using the installation wizard, the Desktop Experience role
service is also installed and Windows Audio service is started on the RD
Session Host server.
Roaming User Profile
Cache Management
Caching of roaming profiles
is often enabled in a Remote Desktop Services deployment to improve
end-user experience. Unfortunately, the profile cache tends to grow very
large and in certain cases can consume all the available disk space on a
server. Roaming user profile cache management is a new Remote Desktop
Services feature that is designed to limit the overall size of the
roaming profile cache. When enabled and the roaming profile cache has
exceeded the specified size, Remote Desktop Services will continue
deleting the least recently used profiles until the cache size is below
the defined quota.
Note
The profile cache size can be
limited using the Group Policy setting Computer
Configuration\Policies\Administrative Templates\Windows
Components\Remote Desktop Services\Remote Desktop Session
Host\Profiles\Limit the Size of the Entire Roaming User Profile Cache. When enabling this setting, both
monitoring interval (in minutes) and a maximum size (in gigabytes) must
be defined.
Remote Desktop IP
Virtualization
In certain cases,
an application might require that each initialized instance of that
application must be assigned a unique IP address; for example, a CRM
application that binds to a temporary database instance, which is
listening on a network port. In previous versions of Terminal Services,
these types of applications presented a deployment challenge for
administrators. However, by using the new Remote Desktop IP
Virtualization, an IP address can now be assigned to a remote desktop
connection on a per-session or per-program basis.
RD Virtualization Host
The Remote Desktop
Virtualization Host (RD Virtualization Host) role service works in
conjunction with Hyper-V to host virtual machines for Remote Desktop
Services. Users can connect to a virtual machine using either RemoteApp
and Desktop Connection or Remote Desktop Web Access (RD Web Access).
These virtual machines can either be deployed as a personal virtual
desktop (each user is assigned a unique virtual machine) or part of a
shared virtual desktop pool (a virtual machine is dynamically assigned).
Personal virtual desktops
are assigned to individual users by using the Remote Desktop Connection
Manager. Users can only be assigned one virtual desktop; additionally, a
virtual desktop can only be assigned to one
user. By keeping the relationship one-to-one, all customizations that
are made to a personal virtual desktop by a user are preserved and
available for future use.
In contrast, the goal with a
virtual desktop pool is to have the same user experience across all
virtual desktops regardless of the virtual desktop that a user is
connected to. To achieve this type of experience, all virtual machines
in a virtual desktop pool must be configured identically (in addition to
not already being assigned as a personal virtual desktop).
Additionally, virtual desktop pools can be configured to roll back
changes to a previous state when a user logs off of the virtual machine.
To redirect users to the
correct virtual machine, the RD Virtualization Host uses the Remote
Desktop Connection Broker (RD Connection Broker). When a user is
assigned to a personal virtual desktop, the RD Connection Broker
redirects a user’s session request to the appropriate virtual machine.
For cases when the virtual machine is not powered on, the RD
Virtualization Host will power on the virtual machine before completing
the session request. When a user attempts to open up a connection to a
shared virtual desktop pool, the RD Connection Broker does either of the
following:
If
the user already has a disconnected session to a virtual machine, the
RD Connection Broker simply redirects the connection request to that
virtual desktop.
If the user doesn’t already
have a disconnected session, the RD Connection Broker dynamically
assigns a virtual machine from the pool.
Note
Using the RD Virtualization
Host role service requires that Hyper-V also be installed.