Remote Desktop Services 2016-10-30T20:12:41+00:00

Microsoft Remote Desktop Services For Windows Server 2012 R2

The complete installation and configuration guide to get you started (work in progress).

About...

Remote Desktop Services, formerly Terminal Services, is a server role in Windows Server that provides technologies that enable users to access session-based desktops, virtual machine-based desktops, or applications in the data center from both within a corporate network and from the Internet. Remote Desktop Services enables a rich-fidelity desktop or application experience, and helps to securely connect remote users from managed or unmanaged devices.

Index

Remote Desktop Services Overview

Remote Desktop Services is a server role that consists of several role services. In Windows Server 2012 R2 and Windows Server 2012, the following Remote Desktop Services role services can be installed with this role:

RD Virtualization Host

Remote Desktop Virtualization Host (RD Virtualization Host) integrates with Hyper-V to deploy pooled or personal virtual desktop collections within your organization.

RD Session Host

Remote Desktop Session Host (RD Session Host) enables a server to host RemoteApp programs or session-based desktops. Users can connect to RD Session Host servers in a session collection to run programs, save files, and use resources on those servers.

RD Connection Broker

Remote Desktop Connection Broker (RD Connection Broker):

  • Allows users to reconnect to their existing virtual desktops, RemoteApp programs, and session-based desktops.
  • Enables you to evenly distribute the load among RD Session Host servers in a session collection or pooled virtual desktops in a pooled virtual desktop collection.
  • Provides access to virtual desktops in a virtual desktop collection.

RD Web Access

Remote Desktop Web Access (RD Web Access) enables users to access RemoteApp and Desktop Connection through the Start menu on a computer that is running Windows 8, Windows 7, or through a web browser. RemoteApp and Desktop Connection provides a customized view of RemoteApp programs and session-based desktops in a session collection, and RemoteApp programs and virtual desktops in a virtual desktop collection.

RD Licensing

Remote Desktop Licensing (RD Licensing) manages the licenses required to connect to a Remote Desktop Session Host server or a virtual desktop. You can use RD Licensing to install, issue, and track the availability of licenses.

RD Gateway

Remote Desktop Gateway (RD Gateway) enables authorized users to connect to virtual desktops, RemoteApp programs, and session-based desktops on an internal corporate network from any Internet-connected device.

Prepare your environment

How to create and manage the Central Store for Group Policy Administrative Templates in Windows

https://support.microsoft.com/en-us/kb/3087759

Canonical Names of Control Panel Items

https://msdn.microsoft.com/en-us/library/windows/desktop/ee330741(v=vs.85).aspx

Service overview and network port requirements for Windows

https://support.microsoft.com/en-us/kb/832017

Network Ports Used by Key Microsoft Server Products

https://msdn.microsoft.com/en-us/library/cc875824(d=printer).aspx

Install Windows Features

Install all the necessary Windows Roles and Features with Powershell

<#
.SYNOPSIS
Base configuration for home and demo labs.
.DESCRIPTION
The following components are installed:
– Enable necessary Windows Roles and Features
– Windows Update
– no further customization in this script
.PARAMETER
.NOTES
This script was tested on Windows Server 2012 R2
.LINK
http://www.RISConsulting.de
.AUTHOR
Sinisa Sokolic
.Date
2015-10-19
#>

write-Host “Installing Microsoft Windows Remote Desktop Services Session Host” -ForegroundColor Green

Write-Host “Installing Roles and Features” -ForegroundColor Green
# Windows-Feature Desktop Experience
Write-Host “Installing Desktop-Experience” -ForegroundColor Green
Add-WindowsFeature Desktop-Experience

# Windows-Feature Remote Desktop Services Host
Write-Host “Installing RDS-RD-Server” -ForegroundColor Green
Add-WindowsFeature RDS-RD-Server

# Windows-Feature Remote Assistance
Write-Host “Installing Remote-Assistance” -ForegroundColor Green
Add-WindowsFeature Remote-Assistance

# Windows-Feature XPS Viewer
Write-Host “Installing XPS-Viewer” -ForegroundColor Green
Add-WindowsFeature XPS-Viewer

# Windows-Feature Windows Search Service
Write-Host “Installing Search-Service” -ForegroundColor Green
Add-WindowsFeature Search-Service

Install Recommended Updates

Updates you should take care of before installing Citrix components

If you are running a Remote Desktop Services Infrastructure (RDS) with Citrix XenApp, VMware View or doesn´t use any third party extension at all you will have to install a bunch of Updates to resolve the most bugs you could run into from a Operating System perspective. There are two Knowledge Base articles available for RDS at Microsoft that explain the prerequisites and necessary steps to install these updates.

I don´t know if you ever tried to dig into these articles and get all the necessary information. In my eyes it´s not an easy process as it should be. Therefore I´m writing this blog to get you through it and to give you an fast overview of what needs to be installed for every specific infrastructure role.

Available information from Microsoft

Here are the Microsoft Knowledge Base Articles you need to know if you have RDS running:

A few words about the Updates…

You should try to avoid installing all of these updates if you don´t have problems with RDS in your environment. If everything is running fine, forget this article. But if you feel like something is not working as expected go through the updates and the descriptions and check if you could resolve one of your issues by installing the specific update. The attached script will help you find the installed and missing updates for every RDS role.

Prerequisites in my lab

I have a fully patched Windows Server 2012 R2 server available for my test with all RDS roles installed on it (without the virtualization role because it cannot be installed side by side with the Session Host role on the same system). After that I ran my script and checked what is already installed and what not.

With a fully patched system the Rollups and Updates listed below are already installed (so forget about them):

Rollups

  • KB2919355
  • KB3000850
  • KB3013769

Updates

  • KB3108326
  • KB3123913
  • KB3146978
  • KB3078676

I had to make a few test rounds and installed the updates on three different servers in my lab to get only the updates that are needed. Somehow the behaviour documented in the table at the end of this blog might change with future updates. It should be reproducable today with fully patched Windows Server 2012 R2 servers.

The PowerShell script

Here is the script you can use to check your infrastructure roles. It only checks for the presence of the infrastructure roles and the updates that belong to them. Use it as your own risk.

Download it here

The PSADK packages….

If you have never heard of the PSADK Toolkit you should have a look at my previous blog post about it. I created packages for all the necessary referenced updates in this article.

You can download all of them in one big package or only the one´s you need.

Overview of updates and further information

This overview has additional information for every update. Go through it to find the MSU names, prerequisites or the installation order for your own needs. All information without warranty. If you feel something is wrong or works different for you let me know.

I hope you find it useful.

Rollup Packs        
Title KB Name Installable Prereq Comments
Windows RT 8.1,
Windows 8.1, and Windows Server 2012 R2 update rollup: December 2013
KB2903939 Windows8.1-KB2903939-x64.msu   Windows8.1-KB2911134-x64.msu
not applicable

Windows8.1-KB2911804-x64.msu
not applicable
Windows RT 8.1,
Windows 8.1, and Windows Server 2012 R2 update rollup: March 2014
KB2928680Windows8.1-KB2928680-x64.msu  Windows RT 8.1,
Windows 8.1, and Windows Server 2012 R2 update: April 2014
KB2919355

clearcompressionflag.exe

Windows8.1-KB2919355-x64.msu

Windows8.1-KB2932046-x64.msu

Windows8.1-KB2937592-x64.msu

Windows8.1-KB2938439-x64.msu

Windows8.1-KB2934018-x64.msu

 # The updates must be
installed in the following order: clearcompressionflag.exe, KB2919355,
KB2932046, KB2959977, KB2937592, KB2938439 und KB2934018.

 

Windows8.1-KB2959977-x64
not applicable
May 2014 update
rollup for Windows RT 8.1, Windows 8.1, and Windows Server 2012 R2
KB2955164Windows8.1-KB2955164-x64.msu  August 2014 update rollup
for Windows RT 8.1, Windows 8.1, and Windows Server 2012 R2
KB2975719

Windows8.1-KB2975719-x64.msu

Windows8.1-KB2993100-x64.msu

Windows8.1-KB2995004-x64.msu

 # Installation of the
updates in the following order: 2993651, 2975719, 2993100, 2979582, 2990532,
2995004

 

Windows8.1-KB2993651-x64.msu
not applicable

Windows8.1-KB2979582-x64.msu
not applicable

Windows8.1-KB2990532-x64,msu
not applicabkle

 September 2014
update rollup for Windows RT 8.1, Windows 8.1, and Windows Server 2012 R2
KB2984006

Windows8.1-KB2984006-x64.msu

Windows8.1-KB2995004-x64.msu

 Repeat this
process until all of the following KBs have been installed: KB2984006,
KB2977174, KB2995004, KB2994897

 

Windows8.1-KB2977174-x64.msu
not applicable

Windows8.1-KB2994897-x64.msu
not applicable
November 2014
update rollup for Windows RT 8.1, Windows 8.1, and Windows Server 2012 R2
KB3000850

Windows8.1-KB3000850-x64.msu

Windows8.1-KB3003057-x64.msu

Windows8.1-KB3014442-x64.msu

 # Repeat this process until
all of the following KBs have been installed: KB3000850, KB3003057,
KB3016437, KB3014442

 

# Update KB3016437 is only
applicable to Windows Server 2012 R2 Active Directory Domain Services (AD DS)
role enabled.

Windows8.1-KB3016437-x64.msu
not applicable
December 2014
update rollup for Windows RT 8.1, Windows 8.1, and Windows Server 2012 R2
KB3013769Windows8.1-KB3013769-x64.msu  General OS
Updates
    TitleKB NameInstallablePrereqCommentsStop error 0x000000C2 or
0x0000003B when you’re running Remote Desktop Services in Windows Server 2012
R2
KB3127673Windows8.1-KB3127673-x64.msuKB2919355Windows8.1-KB3127673-x64.msu
not applicable
UPD profiles corrupted when
a network connectivity issue occurs in Windows Server 2012 R2
KB3092688Windows8.1-KB3092688-v3-x64.msuKB2919355 The prompt is not displayed
to the correct user in Windows Server 2012 R2-based RDS server
KB3078689Windows8.1-KB3078689-x64.msuKB2919355 Users can’t connect to
virtual machines that are running Windows 8.1 or Windows Server 2012 R2 by
remote desktop
KB3053667Windows8.1-KB3053667-x64.msuKB2919355 RDP session becomes
unresponsive when you connect to a Windows Server 2012 R2-based computer
KB3047296Windows8.1-KB3047296-x64.msuKB2919355Windows8.1-KB3047296-x64.msu
not applicable
WTSQuerySessionInformation
API function always returns zero bytes for WTSIncomingBytes and
WTSOutgoingBytes
KB2981330Windows8.1-KB2981330-x64.msu You cannot unlock a remote
session by entering a PIN code after you plug in the smart card in Windows
KB3045923Windows8.1-KB3045923-x64.msuKB2919355Windows8.1-KB3045923-x64.msu
not applicable
Remote Desktop session
freezes when you run an application in the session in Windows 8.1 or Windows
Server 2012 R2
KB2978367Install prereqKB2975719 Slow screen update in Lync
2013 when you share application or desktop in Windows 8.1 or Windows Server
2012 R2
KB2958375Install prereqKB2955164 Too few tiles are displayed
during image customization in Windows
KB2964835Install prereqKB2975719 Other monitors are not
clipped when you limit sharing to one monitor in Windows 8.1 and Windows
Server 2012 R2
KB2929447Install prereqKB2928680 Cannot connect to remote
applications hosted on a Windows Server 2012 R2 or Windows Server 2008 R2
SP1-based computer
KB2928492Install prereqKB2955164 Terminal Services client
connection error 0xC000035B when you use LmCompatibility
KB2903333

Method 1

Adjust the LmCompatibility
registry value not to force NTLMv1 by setting it to a value of 3 or larger.
For more information about the LmCompatibility registry
value, see the following Microsoft Technet topic:

 

LmCompatibilityLevel

Method 2

Set the EnforceChannelBinding registry
value to 0 (zero) to ignore missing channel bindings on the Gateway
server. To do this, locate the following registry subkey, and use the given
specifications:

 

HKLM\Software\Microsoft\Windows
NT\CurrentVersion\TerminalServerGateway\Config\Core

Type: REG_DWORD

Name: EnforceChannelBinding

Value: 0 (Decimal)

 

Note By
default, the EnforceChannelBinding
 value does not exist on the Gateway server. You must create
this value.

 Device
Redirection & Printing
    TitleKB NameInstallablePrereqCommentsRemote Desktop Easy Print
runs slowly in Windows Server 2012 R2
KB3073630Windows8.1-KB3073630-x64.msuKB2919355 Redirected printers go
offline after print spooler is restarted on a Windows Server 2012 R2-based RD
Session Host server
KB3073629Windows8.1-KB3073629-x64.msuKB2919355Windows8.1-KB3073629-x64.msu
not applicable
A Windows Server 2012 R2
server becomes slow and unresponsive if update 2927901 is installed
KB3055615Windows8.1-KB3055615-v2-x64KB2919355 A network printer is
deleted unexpectedly in Windows
KB2967077Windows8.1-KB2967077-x64.msu
or – install prereq
KB2975719Windows8.1-KB2967077-x64.msu
not applicable
Users who have the remote
audio setting enabled cause the RD Session Host servers to freeze
intermittently in Windows Server 2012 R2 or Windows Server 2008 R2 SP1
KB2895698Install prereqKB2919355 Licensing    TitleKB NameInstallablePrereqCommentsLicensing report file is
corrupted in Windows Server 2012 R2 RDS environments for large report files
KB3092695Windows8.1-KB3092695-x64.msuKB2919355Windows8.1-KB3092695-x64.msu
not applicable
Users can’t log on to a
Windows Server 2012 R2-based server through remote desktop because of RDSLS
database corruption
KB3084952Windows8.1-KB3084952-x64.msuKB2919355Windows8.1-KB3084952-x64.msu
not applicable
RDS License Manager shows
no issued free or temporary client access licenses in Windows Server 2012 R2
KB3013108Windows8.1-KB3013108-x64.msuKB2919355 Event 1043 when a RDP
connection uses a Remote Desktop license server that is running non-English
Windows Server 2012 R2
KB2989037Install prereqKB2984006 Licensing servers become
deadlocked under high load in Windows Server 2012 R2
KB3108326Windows8.1-KB3108326-x64.msuKB2919355 RemoteApp    TitleKB NameInstallablePrereqCommentsRemoteApp windows disappear
and screen flickers when you switch between windows in Windows 8.1 or Windows
Server 2012 R2
KB3103000Windows8.1-KB3103000-v3-x64.msuKB2919355 RemoteApp window is too
large or too small when you use RDP to run a RemoteApp application in Windows
Server 2012 R2
KB3026738Windows8.1-KB3026738-x64.msuKB2919355Windows8.1-KB3026738-x64.msu
not applicable
Updates to improve the
compatibility of Azure RemoteApp in Windows 8.1 or Windows Server 2012 R2
KB2977219Windows8.1-KB2977219-v2-x64.msuKB2919355Windows8.1-KB2977219-v2-x64.msu
not applicable
Reliability improvements
for Remote Desktop Session Host and RemoteApp
KB2959626Windows8.1-KB2959626-v2-x64.msuKB2919355Windows8.1-KB2959626-v2-x64.msu
not applicable
Shortcut menu items flicker
as you move the mouse pointer over them in a RemoteApp in Windows
KB2925336Windows8-RT-KB2925336-x64.msuKB2955164 Windows8-RT-KB2925336-x64.msu
not applicable
Remote
Assistance
    TitleKB NameInstallablePrereqCommentsRemote Assistance connection
to a Windows Direct Access client computer fails 
KB2912883Install PrereqKB2919355 Remote
Desktop Client
    TtitleKB NameInstallablePrereqCommentFiles cannot be copied when
drive redirection is enabled in Windows 8.1 or Windows Server 2012 R2
KB3042841Windows8.1-KB3042841-x64.msuKB2919355Windows8.1-KB3042841-x64.msu
not applicable
The Remote Desktop Active X
control Mstscax.dll leaks thread handles in Windows 8.1 
KB3042836Windows8.1-KB3042836-v2-x64.msuKB2919355Windows8.1-KB3042836-v2-x64.msu
not applicable
Printing preferences window
appears behind a RemoteApp window in Windows 
KB3036965Windows8.1-KB3036965-x64.msu
KB2919355Windows8.1-KB3036965-x64.msu
not applicable

 

 OK and Cancel buttons are
missing from the Local Devices and Resources dialog box in the Norwegian
language pack
KB3024260Windows8.1-KB3024260-x64.msu Update for remote
applications and Remote Desktop Easy Print that uses RDP 8.1 client in
Windows 8.1 or Windows 7
KB3005781KB3000850Only Windows 8.1RDP session is unstable
when it uses UDP in Windows 8.1 or Windows Server 2012 R2
KB2989039Install prereqKB2984006 Windows 8.1 or Windows 7
cannot connect over DirectAccess to a Remote Desktop Session Host server farm
KB2964833Windows8.1-KB2964833-x64.msu
KB2919355Windows8.1-KB2964833-x64.msu
not applicable

 RemoteApp program pop-up
window is hidden in Windows
KB2964832Windows8.1-KB2964832-x64.msu
KB2919355Windows8.1-KB2964832-x64.msu
not applicable

 Ctrl+Alt+Insert Remote
Desktop keyboard shortcut doesn’t work in Windows 8.1 or Windows Server 2012
R2
KB2930340Install prereqKB2919355 Print jobs are lost or an
application crashes in Microsoft Enterprise Desktop Virtualization 2.0 in
Windows
KB2925429Install prereqKB2919355 Mstsc.exe crashes when you
print a large document from an RDS session
KB2916266Install prereqKB2955164 Remote
Desktop Connection Broker
    TitleKB NameInstallablePrereqCommentUser connection fails when
many connections are made to Windows Server 2012 R2-based RD Connection
Broker
KB3091411Windows8.1-KB3091411-v2-x64.msuKB2919355Windows8.1-KB3091411-v2-x64.msu
not applicable
Communication issues occur
when Remote Desktop Connection Broker connects to SQL Server in Windows
Server 2012 R2
KB30204743020474 + auditpol /set /subcategory:”Filtering Platform
Connection” /success:disable /failure:enable

 

https://gallery.technet.microsoft.com/Add-a-WFP-exception-for-9c719d6a Remote
Desktop Gateway
    TitleKB NameInstallablePrereqComment“Your computer can’t
connect to the remote computer” error because RD Gateway service freezes
in Windows Server 2012 R2
KB3042843Windows8.1-KB3042843-x64.msuKB2919355Windows8.1-KB3042843-x64.msu
not applicable
Virtual machines are not
enumerated on a Windows Server 2012 R2-based Hyper-V server that is running
in a VDI deployment
KB3123913Windows8.1-KB3123913-v2-x64.msuKB2919355 Remote
Desktop Virtualization Host
    TitleKB NameInstallablePrereqCommentMemory and deadlock issues
for the RD Virtualization Host and RD Connection Broker role services in
Windows 8.1
KB2908810Only Windows 8.1Virtual machines are not
enumerated on a Windows Server 2012 R2-based Hyper-V server that is running
in a VDI deployment
KB2908809Install prereqKB2903939 UPD profiles corrupted when
a network connectivity issue occurs in Windows Server 2012 R2
KB3092688Windows8.1-KB3092688-v3-x64.msuKB2919355 Remote
Desktop Session Host
    TitleKB NameInstallablePrereqCommentRDS redirected resources
showing degraded performance in Windows 8.1 or Windows Server 2012 R2
KB3146978AMD64-all-windows8.1-kb3146978-x64_f26c91b40ce7b6e4ca8935d2958dcb767f1e70db.msuKB2919355 Stop error 0x000000C2 or
0x0000003B when you’re running Remote Desktop Services in Windows Server 2012
R2
KB3127673Windows8.1-KB3127673-x64.msuKB2919355Windows8.1-KB3127673-x64.msu
not applicable
RemoteApp windows disappear
and screen flickers when you switch between windows in Windows 8.1 or Windows
Server 2012 R2
KB3103000Windows8.1-KB3103000-v3-x64.msuKB2919355 UPD profiles corrupted when
a network connectivity issue occurs in Windows Server 2012 R2
KB3092688Windows8.1-KB3092688-v3-x64.msuKB2919355 Event 1530 is logged and
ProfSvc leaks paged pool memory and handles in Windows 8.1 or Windows Server
2012 R2
KB3078676Windows8.1-KB3078676-x64.msuKB2919355 Remote Desktop Easy Print
runs slowly in Windows Server 2012 R2
KB3073630Windows8.1-KB3073630-x64.msuKB2919355To fix this issue, we have
released a hotfix. Even though this issue is observed only in Windows Server
2012 R2, the hotfix also applies to Windows 8.1 and Windows RT 8.1.

 

If you want to disable
the Driver-Requested Archive-optimized XPS output feature, install
this hotfix and create the following registry subkey:

 

HKLM\System\CurrentControlSet\Control\Print\DontUseArchive

To disable this feature,
set the regkey value to 1.
Redirected printers go
offline after print spooler is restarted on a Windows Server 2012 R2-based RD
Session Host server
KB3073629Windows8.1-KB3073629-x64.msuKB2919355Windows8.1-KB3073629-x64.msu
not applicable
Remote
Desktop Web Access
    TitleKB NameInstallablePrereqCommentBlank page is displayed
when you try to access RemoteApps on a Windows Server 2012 R2-based RD Web
Access server 
KB3069129Windows8.1-KB3069129-x64.msuKB2919355 The rdgiskdcproxy:i:1
property cannot be set for the remote apps that are hosted by RD Web Access
on Windows Server
KB2957984Install prereqKB2975719 

RDS Management

RDS PowerShell Management

Remote Desktop Cmdlets in Windows PowerShell

https://technet.microsoft.com/library/jj215451(v=wps.630).aspx

Remote Desktop Services Cmdlets in Windows PowerShell

https://technet.microsoft.com/en-us/library/dn296651.aspx

RDP Protocol

Tools

Troubleshooting

Introduction to log files that are useful for troubleshooting RDS issues in Windows Server 2012

https://support.microsoft.com/en-us/kb/2747656

The size of the “HKEY_USERS\.DEFAULT” registry hive continuously increases on a Windows Server-based server

https://support.microsoft.com/en-us/kb/2871131?sd=rss&spid=14134