XD714
XD714
XD714
14
May 22, 20 17
What's new
Fixed issues
Known issues
Deprecation
System requirements
Technical overview
Active Directory
Databases
Delivery methods
Reference Architectures
Design Guides
Implementation Guides
Install VDAs
Create a Site
Remote PC Access
App-V
Publish content
Server VDI
Personal vDisk
Remove components
Upgrade a deployment
Secure
Security considerations and best practices
Delegated Administration
Smart cards
Print
Printing configuration example
Provision printers
HDX
Adaptive transport
T hinwire
Framehawk
HDX 3D Pro
Flash Redirection
Audio features
Policies
Work with policies
Policy templates
Create policies
Manage
Licensing
Applications
Zones
Connection leasing
Delivery Controllers
Sessions
T ags
IPv4/IPv6 support
User profiles
Configuration Logging
Event logs
Director
Advanced configuration
Monitor deployments
T roubleshoot applications
T roubleshoot machines
If you already downloaded or used the original 7.14 ISO or VDAs, follow the appropriate procedure:
If you downloaded the original XenApp and XenDesktop 7.14 ISO or 7.14 VDAs (but havent installed or upgraded any
components yet), Citrix recommends you discard those files and download version 7.14.1. (If the file name includes simply
7.14 (without the appended .1), discard that file and get the newer 7.14.1 version.)
If you already installed original 7.14 components (or upgraded to 7.14 using the original components), download the
current 7.14.1 versions and then upgrade your Delivery Controllers and VDAs. (How to upgrade.) Even if you upgraded
with the original 7.14 software and encountered no issues, Citrix still recommends you upgrade to 7.14.1. T his will help
ensure you do not encounter issues identified in the original software.
If you already upgraded your deployment with the 7.14 components and the database and site upgrade failed (leaving
your site in an unusable state), follow the guidance in the Known issues article (section: Install and upgrade with the
original version 7.14 software).
T he Known issues article lists the issues in 7.14 that are resolved in 7.14.1.
Use the ISO for this release to install or upgrade all the core components and Virtual Delivery Agents. Installing or
upgrading to the latest version allows you to use all the latest features.
If you have a XenApp or XenDesktop deployment, and aren't ready to upgrade your core components, you can still
use several of the latest HDX features by installing (or upgrading to) a new VDA. Upgrading only the the VDAs is often
helpful when you want to test enhancements in a non-production environment.
T he XenApp and XenDesktop download pages for this release also include updated versions of the following software. For
more information on the features and installation instructions, see the component's documentation.
AppDNA
T he new Citrix Scout collects diagnostics from Delivery Controllers and VDAs. Use collections for proactive maintenance
and troubleshooting. T his new version is installed automatically when you install or upgrade a Delivery Controller or a VDA.
Collect: Runs a one-time diagnostics collection on machines you select. T hen, you upload the zip file containing the
collection to Citrix or save it locally.
Trace & Reproduce: Starts a manual trace on machines you select. T hen you re-create issues on those machines. After
re-creating the issue, the trace is stopped. T hen, Scout collects other diagnostics and uploads the zip file containing the
trace and the collection to Citrix, or saves the file locally.
Schedule: Schedules daily or weekly diagnostics collections at a specified time, on machines you select. T he zip file
containing each collection is automatically uploaded to Citrix.
When installing or upgrading a Delivery Controller, you can connect to Citrix Smart Tools (formerly Citrix Lifecycle
Management), which installs a Smart Tools agent. Smart Tools enables you to automate deployment tasks, health checks,
and power management. You can also enroll in Call Home, as in earlier releases.
T he Smart Tools page in the installation wizard replaces the Call Home page. When installing a VDA, you are prompted to
enroll in Call Home. T he wizard page is retitled Smart Tools because Call Home is a part of Smart Tools.
In a VDI deployment, the number of VDAs that can be handled effectively during an outage has increased:
In a single-zone VDI deployment, up to 10,000 VDAs can be handled during an outage.
In a multi-zone VDI deployment, up to 10,000 VDAs in each zone can be handled during an outage, to a maximum of
40,000 VDAs in the site.
In earlier releases, power-managed desktop VDAs in pooled Delivery Groups that have the ShutdownDesktopsAfterUse
property enabled are placed into maintenance mode when an outage occurs. T hat remains the default behavior. Now,
you can override that default behavior by running PowerShell cmdlets for the Site and the affected Delivery Groups. If
you enable this feature, you cannot rely on power management during an outage, and the desktops might contain data
from a previous user.
Session Recording
Session Recording integrated into the XenApp and XenDesktop f ull product installer. With this feature, you can
install Session Recording by using the unified XenApp/XenDesktop installer. For more information, see Install, upgrade,
and uninstall Session Recording.
Load balancing f or Session Recording. T his is an experimental feature to support load balancing across the Session
Recording Servers. Citrix recommends that you leverage Citrix NetScaler for load balancing. For more information, see
Configure Session Recording with load balancing.
Director
Disk Monitoring. Director provides IOPS (I/O operations per second) and disk latency measurements of Server and
Desktop OS VDAs. Both measurements are important performance measurements of a disk. T he Machine
Utilization panel is extended to display the real-time average IOPS and disk latency for a selected VDA as graphs.
Use Historical Machine Utilization to view and export the average IOPS and disk latency measurements for a selected
time period. T his data helps you troubleshoot disk-related issues on a machine.
T he Trends -> Resource Utilization tab in Director is extended to display the historical IOPS and disk latency metrics
for all VDAs in the selected Delivery Group. T he graph displays the average IOPS for the last 24 hours, last month, and
last year time periods. T he table displays the average and peak IOPS, and the disk latency per machine. T his data helps
you size and plan disk capacity.
T his feature requires Delivery Controller(s) and VDAs version 7.14 or later.
For more information, see Monitor deployments, T roubleshoot machines, and Monitoring policy settings.
GPU Monitoring. Director provides monitoring of the NVIDIA GPU infrastructure in the environment. T he Machine
Utilization panel on Director is enhanced to display real-time NVIDIA GPU monitoring graphs. T he graphs include
percentage utilization of the NVIDIA GPU, the GPU memory, and of the Encoder and the Decoder of the Server and
Desktop OS VDAs. For VDAs that access more than one GPU, the average of the GPU metrics collected from the
individual GPUs is displayed.
T his feature requires Delivery Controller(s) and VDAs version 7.14 or later. GPUs are monitored on VDAs running 64-bit
Windows, with NVIDIA T esla M60 GPUs and running Display Driver version 369.17 or later.
For more information, see Monitor deployments, and T roubleshoot machines.
Multi-type licensing
Multi-type licensing supports consumption of different license types for Delivery Groups on a single XenApp or XenDesktop
site. Type is a single combination of Product ID (XDT, MPS) and Model (UserDevice, Concurrent). If multi-type licensing is not
congured, different license types can be used only when congured on entirely separate sites. For details, see Multi-type
licensing.
T he 7.14 VDAs contain several new and enhanced features, as described in this section. However, after upgrading your
VDAs from version 7.9, 7.11, 7.12, or 7.13, you do not need to update the machine catalog's functional level. T he default
(7.9 (or newer ...)) remains the current functional level. For information, see VDA versions and functional levels.
StoreFront 3.11
StoreFront 3.11 includes a number of xed and known issues.
[#DNA-43728]
[#HDX-9224]
When using a machine catalog in Azure with write back cache enabled, VDAs fail to register with a Delivery Controller.
[#DNA-43545]
A Citrix Receiver logon delay occurs when the Wait for printers to be created (server desktop) policy setting is enabled.
[#HDX-9358]
An upgrade stops with the message Failed to upload database scripts and the site is inoperable. T his issue requires
manual intervention before upgrading the Controllers and VDAs to 7.14.1. See Known issues.
[#DNA-43730]
For more information about the 7.14.1 and 7.14 software, see Whats new and Known issues.
AppDNA
App-V
T he Delivery Controller for XD 7.6 CU3 does not allow the App-V Management Server URL and the Publishing Server URL
to be specified in IP format (such as http://172.16.56.185:8080/).
[#DNA-37971]
If an App-V application in an isolation group does not close down properly, future launches that depend on other
applications assigned to an isolation group with that application might fail.
When you have multiple App-V packages with the same package ID but different version IDs, and add an application
from one of those packages to a Delivery Group, applications from the other packages also appear to be assigned to
that Delivery Group in the Studio App-V Publishing node. T he applications from other packages are not actually added to
the Delivery Group.
[#DNA-23490]
Citrix Director
Attempts to reset the Citrix user profile using Citrix Director might fail, resulting in the following error message:
"T he reset process could not be initiated."
T he issue occurs when Citrix Director sends only the user name instead of sending the user name along with the domain
name. As a result, the Citrix Broker Service fails to locate the user in the DDC domain.
[#LC6681]
T he table data on the Filters > Application Instances page can be incomplete when you apply filters: data related to
some application instances might be missing.
[#DNA-28603]
T he table data on the Trends > Sessions page can be incomplete: data related to some sessions might be missing.
[#DNA-28604]
Citrix Policy
T he w3wp.exe process can consume 100% of the CPU.
[#LC4355]
Citrix Studio
If you remove an existing published App-V package from Citrix Studio and attempt to add a different version of the
same App-V package with the same name and publishing location to the Delivery Group, the package might enumerate
with a red exclamation point and the following error message appears:
"Failed to load application data for the application "APPLICAT ION NAME""
[#LC6254]
Attempts to publish an App-V package that contains certain third-party applications with multiple le type associations
"Cannot validate argument on parameter 'ExtensionName'. T he character length of the 28 argument is too long.
Shorten the character length of the argument so it is fewer than or equal to "16" characters, and then try the command
again."
T he issue occurs when you attempt to add the App-V package to Citrix Studio.
[#LC6507]
Attempts to add a Delivery Controller in a mirrored database setup by using the option to add an additional controller
from Citrix Studio and the PowerShell command "Add-XDController" might fail.
[#LC6563]
When you attempt to add virtual machines to a Citrix Provisioning Services catalog in Citrix Studio, the following error
message might appear:
[#LC6944]
When upgrading a XenApp Site, the license model might change from XenApp to XenDesktop unexpectedly.
[#LC6981]
T he "Start-Transcript" command might fail for "Get-XDSite" and other XenDesktop high level administrative PoSH
commands when run in PowerShell 5.
[#LC7006]
Controller
Extraneous characters might appear at the end of "Service Display Name" and "Service description" of certain Citrix
services installed on a Japanese operating system.
[#LC5208]
After restarting the Citrix Monitoring Service or the Citrix Delivery Controller, event id 1013 might appear:
"Initial database housekeeping failed with: System.NullReferenceException: Object reference not set to an instance of
an object."
[#LC6438]
T he Conguration Logging Service might consume high memory, causing the Delivery Controller to become unresponsive.
[#LC6480]
Attempts to use certain third-party applications such as RayStation on a Citrix Delivery Controller might fail and the
following error message appears:
[#LC6552]
Attempts to add a Delivery Controller in a mirrored database setup by using the option to add an additional controller
from Citrix Studio and the PowerShell command "Add-XDController" might fail.
[#LC6563]
Attempts to delete virtual machines that are created by Machine Creation Services can cause Citrix Studio to become
unresponsive.
[#LC6581]
When using version 7.12 of Machine Creation Services to create VMs, XenTools fails to be installed, preventing graceful
shutdown of the VMs.
[#LC6769]
Permissions to publish App-V packages might be denied for administrators who do not have full permission with the
following exception:
[#LC6897]
When you attempt to add virtual machines to a Citrix Provisioning Services catalog in Citrix Studio, the following error
message might appear:
[#LC6944]
[#LC6953]
When upgrading a XenApp Site, the license model might change from XenApp to XenDesktop unexpectedly.
[#LC6981]
T he "Start-Transcript" command might fail for "Get-XDSite" and other XenDesktop high level administrative PoSH
commands when run in PowerShell 5.
[#LC7006]
[#LC7516]
[#LC7513]
Licensing
Prole Management
StoreFront
With compatibility view enabled in Microsoft Internet Explorer, certain third-party websites with Flash content might not
work.
[#LC7513]
Keyboard
With HDX 3D Pro enabled on a VDA, the keyboard shortcuts "Alt+p" and "Alt+s" might not work.
[#LC6826]
Printing
[#LC5320]
When you attempt to print two copies or more of a document, only one copy might print. T he issue occurs if "Use only
printer model specic drivers" is congured in the Citrix policy "Universal print driver usage" and if "Enabled with no fallback
to Windows' native remote printing" is congured in the Citrix policy "Universal Print Server enable."
[#LC6023]
Security Issues
Reconnecting a locked and disconnected session automatically unlocks the desktop without prompting for
authentication.
Session/Connection
When you log on to a VDA where a user prole does not exist, a black screen might appear after the Windows Welcome
screen is displayed for a period of time before the logon completes.
[#LC2397]
When you attempt to send video in a Cisco WebEx meeting by using a webcam through Citrix Receiver for Mac, the
Cisco WebEx meeting might exit unexpectedly.
[#LC5518]
When switching between full-screen and windowed mode in published seamless applications, the applications might
become unresponsive if any one of the applications is in the unresponsive state.
[#LC5774]
When you attempt to download a le by using Citrix Receiver for HT ML5, the download window might not be correctly
focused. As a result, you cannot select the le that is to be downloaded. As a workaround, minimize the main application
window to view the download window from Citrix Receiver for HT ML5.
[#LC6167]
Attempts to disconnect from a RemotePC session running on a touch-enabled device can result in a black screen that
cannot be recovered.
[#LC6384]
Citrix Receiver for Linux might not support Spanish DNIe identity cards.
[#LC6547]
When you disconnect and reconnect to a Citrix Receiver for Mac session several times while playing, the audio might not
work.
[#LC6678]
T he server idle timer does not reset Citrix Receiver for iOS devices with the multi-touch feature enabled.
[#LC6743]
End User Experience Monitoring (EUEM) might stop collecting metrics when the number of virtual channels exceeds 32.
T he issue occurs when EUEM uses a constant value of 32 for the maximum number of virtual channels supported, which
causes an exception while creating counters. As a result, EUEM stops collecting metrics.
[#LC6768]
With "Application Lingering" congured for the Delivery Group, published applications occasionally fail to appear when
you reconnect to a session.
[#LC7405]
[#LC7477]
System Exceptions
[#LC6883]
T he VDA for Server OS might experience a fatal exception on T DICA.sys, displaying a blue screen.
[#LC6898]
User Experience
Certain .wmv les might not play at the correct aspect ratio.
[#LC4695]
A USB device instance path might have additional characters at the end of the path name when the device is redirected
on VDA 7.6.300 for Desktop OS. To change this behavior, add the Product ID (PID) or Vendor ID (VID) to the following
registry key:
HKEY_LOCAL_MACHINE\SYST EM\CurrentControlSet\Services\icausbb\
Parameters
Name: DeviceInstanceIDOption
Type: REG_MULT I_SZ
Value: 0 (default value), 1, 2.
If "DeviceInstanceIDOption" is configured to "zero" (0 - default value), devices whose VID/PID pairs is configured to
"UsingSerialNumberDevices" use the serial number as the instance id. Other devices use
"serial_number+Bus_number+port_number" as the instance ID.
If "DeviceInstanceIDOption" is configured to "1," devices whose VID/PID pairs is configured to
"UsingSerialNumberDevices" use "serial_number+Bus_number+port_number" as the instance ID. Other devices use the
serial number as the instance ID.
If "DeviceInstanceIDOption" is configured to "2," all devices use the serial number as the instance ID.
All other values are invalid and treated as "zero."
[#LC6212]
With the "Automatic keyboard display" policy set to enabled and the "Launch touch-optimized desktop" policy set to
prohibited, starting a published desktop from an iPad can cause the document viewer to display at 80%. When you close
certain applications on the desktop, the document viewer can display at 100%.
[#LC6460]
After upgrading from VDA 7.11 for Desktop OS to VDA 7.12 for Desktop OS, the following error message might appear
while launching certain applications:
"wfapi.dll is missing"
[#LC6874]
Printing
[#LC5320]
When you attempt to print two copies or more of a document, only one copy might print. T he issue occurs if "Use only
printer model specic drivers" is congured in the Citrix policy "Universal print driver usage" and if "Enabled with no fallback
to Windows' native remote printing" is congured in the Citrix policy "Universal Print Server enable."
[#LC6023]
Session/Connection
When you log on to a VDA where a user prole does not exist, a black screen might appear after the Windows Welcome
screen is displayed for a period of time before the logon completes.
[#LC2397]
COM port mapping can intermittently fail upon reconnection when the group policy calculation is disabled in the registry.
[#LC5274]
When you attempt to send video in a Cisco WebEx meeting by using a webcam through Citrix Receiver for Mac, the
Cisco WebEx meeting might exit unexpectedly.
[#LC5518]
When switching between full-screen and windowed mode in published seamless applications, the applications might
become unresponsive if any one of the applications is in the unresponsive state.
[#LC5774]
[#LC5786]
T he VDA for Server OS can become unresponsive. As a result, user sessions might fail to log off.
[#LC6117]
When you attempt to download a le by using Citrix Receiver for HT ML5, the download window might not be correctly
focused. As a result, you cannot select the le that is to be downloaded. As a workaround, minimize the main application
window to view the download window from Citrix Receiver for HT ML5.
[#LC6167]
[#LC6617]
Microsoft Internet Explorer 11 might not use the virtual IP loopback address assigned to that session.
[#LC6622]
When you disconnect and reconnect to a Citrix Receiver for Mac session several times while playing, the audio might not
work.
[#LC6678]
T he server idle timer does not reset Citrix Receiver for iOS devices with the multi-touch feature enabled.
[#LC6743]
End User Experience Monitoring (EUEM) might stop collecting metrics when the number of virtual channels exceeds 32.
T he issue occurs when EUEM uses a constant value of 32 for the maximum number of virtual channels supported, which
causes an exception while creating counters. As a result, EUEM stops collecting metrics.
[#LC6768]
When you launch a session in windowed mode in a published desktop and span the desktop through six monitors or
more, the taskbar or the screen might become gray.
[#LC6862]
After setting Google Chrome as the default browser, Microsoft Internet Explorer might continue to be the default
browser when you click URLs within applications.
[#LC6948]
When you launch the 64-bit version of Mozilla Firefox in a remote session and the Electrolysis (e10s) feature is enabled,
the second refox.exe process might exit unexpectedly, leaving the rst refox.exe process running in a diminished state.
[#LC6982]
With "Application Lingering" congured for the Delivery Group, published applications occasionally fail to appear when
you reconnect to a session.
[#LC7405]
System Exceptions
T he service host process (Svchost.exe) that hosts Terminal Services might exit unexpectedly. T he issue occurs because of
the faulting module, RPM.dll.
[#LC6277]
Servers might experience a fatal exception, displaying a blue screen, on picadm.sys with bugcheck code 0x22.
[#LC6669]
[#LC6883]
T he VDA for Server OS might experience a fatal exception on T DICA.sys, displaying a blue screen.
[#LC6898]
User Experience
Certain .wmv les might not play at the correct aspect ratio.
[#LC4695]
A USB device instance path might have additional characters at the end of the path name when the device is redirected
on VDA 7.6.300 for Desktop OS. To change this behavior, add the Product ID (PID) or Vendor ID (VID) to the following
registry key:
HKEY_LOCAL_MACHINE\SYST EM\CurrentControlSet\Services\icausbb\
Parameters
Name: DeviceInstanceIDOption
Type: REG_MULT I_SZ
Value: 0 (default value), 1, 2.
If "DeviceInstanceIDOption" is configured to "zero" (0 - default value), devices whose VID/PID pairs is configured to
"UsingSerialNumberDevices" use the serial number as the instance id. Other devices use
"serial_number+Bus_number+port_number" as the instance ID.
If "DeviceInstanceIDOption" is configured to "1," devices whose VID/PID pairs is configured to
"UsingSerialNumberDevices" use "serial_number+Bus_number+port_number" as the instance ID. Other devices use the
serial number as the instance ID.
If "DeviceInstanceIDOption" is configured to "2," all devices use the serial number as the instance ID.
All other values are invalid and treated as "zero."
[#LC6212]
With the "Automatic keyboard display" policy set to enabled and the "Launch touch-optimized desktop" policy set to
prohibited, starting a published desktop from an iPad can cause the document viewer to display at 80%. When you close
certain applications on the desktop, the document viewer can display at 100%.
[#LC6460]
[#LC6414]
[#LC6534]
[#LC6961]
[#DNA-17822]
If you are using MCS I/O Optimization for a catalog containing 32-bit Windows machines, configuring a RAM Cache
greater than the default 256 MB can cause the OS to stop.
[#DNA-35054]
If you enable the Citrix Personalization for App-V - VDA check box, the "Citrix AppDisk / Personal vDisk" components are
automatically selected.
[#DNA-29658]
If you install Studio (by itself) on a Windows 7 or Windows Server 2008 R2 machine, the installation fails.
[#DNA-34355]
Citrix Kerberos authentication (CtxAuth) does not work for VDAs installed on Windows Server 2016 machines that have
the Microsoft KB3213986 updates.
[#HDX-7402]
Warning
Editing the registry incorrectly can cause serious problems that may require you to reinstall your operating system. Citrix cannot
guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk. Be
sure to back up the registry before you edit it.
If an upgrade stops with the message Failed to upload database scripts, and your site is inoperable, run the following
PowerShell cmdlets on every Delivery Controller in your Site:
asnp citrix*
Get-TrustDBConnection (veries you are xing this issue)
Set-TrustDBConnection $null (value should already be NULL, but does no harm)
Get-CongDBConnection (not required, but does no harm)
$cs = Get-CongDBConnection
Set-TrustDBConnection DBConnection $cs
After running the cmdlets on all Controllers, launch Studio and proceed with a manual database and site upgrade.
After the database and site upgrade complete successfully, Citrix recommends upgrading Controllers and VDAs again,
this time to version 7.14.1.
[#DNA-43730]
After an upgrade, Director displays a Central Configuration Service alert. You can safely ignore this alert. T he issue does
not impact site operations. However, Citrix recommends upgrading again to version 7.14.1.
[#DNA-43728]
Published applications might fail to launch. Citrix Receiver does not move past the launching application stage.
Resolution: Upgrade the Controllers and VDAs to version 7.14.1.
[#HDX-9224]
[#DNA-43545]
A Citrix Receiver logon delay occurs when the Wait for printers to be created (server desktop) policy setting is enabled.
Resolution: Upgrade the Controllers and VDAs to version 7.14.1.
(#HDX-9358]
Group policies in Citrix Studio are missing if the UPM - Software\Microsoft\Speech_OneCore policy under Prof ile
Management > Registry > Def ault Exclusions was configured before upgrading the Delivery Controller from 7.11 to
7.14, from 7.12 to 7.14, or from 7.13 to 7.14. As a workaround, remove the policy before upgrading the Delivery
Controller.
[#UPM-538]
When upgrading a XenDesktop 5.6 deployment to XenDesktop 7.14, group policy is missing. As a workaround, first
upgrade from XenDesktop 5.6 to XenDesktop 7.13. T hen upgrade from 7.13 to 7.14.
[#DNA-40976]
After upgrading Controllers, the power state of a VDA might indicate "Unknown." As a workaround, restart the
Controllers.
[#DNA-37756]
When installing a Controller and you select I want to connect to Smart Tools and Call Home on the Smart Tools
page of the installation wizard, Call Home might not be enabled. As a workaround, either use the schedule feature in
Citrix Scout or enable Call Home using PowerShell.
[#CAM-9907]
When installing a Delivery Controller on Windows Server 2012 R2 or Windows Server 2016, if you choose to connect to
Smart T ools, and have more than one organization linked with your Citrix Cloud account, the logon process may not
complete after you enter your Citrix Cloud credentials. As a workaround, complete one of the following:
Ensure the Windows Server and Internet Explore have the latest updates.
Clear the Internet Explore browser option: Internet Options > Security > Local Intranet > Sites > Include all sites that
bypass the proxy server.
[#CAM-9816]
App-V
When you select machines and add them to existing Delivery Groups, Studio allows you to add machines from
[#DNA-39589]
In Studio, when deleting one or more App-V applications from the Applications node, or from a selected Delivery Group,
the message "An unknown error occurred" appears. You can safely ignore the message; the applications are deleted.
[#DNA-29702]
Director
T he Monitoring Group Policies - Enable monitoring of application f ailures, Enable monitoring of application
f ailures on Desktop OS VDAs, and Enable monitoring of application f ailures on Desktop OS VDAs are not
functional in XenApp and XenDesktop version 7.14.
[#DNA-42998]
General
During logon or logoff on a Windows 10 or Windows Server 2016 machine, the operation may pause and appear to be
hung. Click in the session window to resume the operation.
[#DNA-22958]
When Local Host Cache is enabled, users with desktop connections might be unable to reconnect to the desktop during
an outage. If this occurs, restart the Citrix High Availability Service.
[#DNA-22957]
Published content will not start successfully when initiated from Citrix Receiver. Content launched through the
StoreFront web client (or Web Interface) launches as expected.
[#LC6316]
When you're using Windows Media Player with Remote Audio & Video Extensions (RAVE) enabled inside a session, if you
right click the video content and select Always show Now Playing on top, a black screen displays.
[#HDX-4853]
If there are stale DNS entries for the NetScaler Gateway virtual server on the client device, adaptive transport and
Framehawk might fall back to T CP transport instead of UDP transport.
As a workaround, flush DNS cache on the client and reconnect to establish the session using UDP transport.
[#HDX-7441]
You create an RDS machine catalog and Delivery Group and you enable the Enhanced Desktop Experience policy setting
on the server. When you restart the RDS server and start an RDS hosted desktop with a non-administrator user using
BGinfo, the wallpaper might not update as expected. Workaround: Do not use BGinfo.
After the adaptive transport policy is changed, some Delivery Group sessions might be disconnected. T he user can
successfully reconnect but might be disconnected again if the adaptive transport policy changes.
[#HDX-8812]
Other components
Components available separately on the XenApp and XenDesktop download pages have the following known issues.
Session Recording
Attempts to install or upgrade to Session Recording Version 7.14 using the XenApp and XenDesktop full product installer
fail on Windows Server 2008 and the following error message appears: "Microsoft Message Queuing failed".
As a workaround, use the msi package for fresh installations or upgrades. For more information, see Install, upgrade, and
uninstall Session Recording.
[SRT -1782]
When you upgrade Session Recording Administration from 7.6 to 7.13 or later and choose Modif y in Session Recording
Administration to add the Administrator Logging service, the SQL Server instance name does not appear on the
Administrator Logging Configuration page. T he following error message appears when you click Next: "Database
connection test failed. Please enter correct Database instance name".
As a workaround, add the read permission for localhost users to the following SmartAuditor Server registry folder:
(HKEY_LOCAL_MACHINE\SOFT WARE\Citrix\SmartAuditor\Server).
[SRT -1334]
When Machine Creation Services (MCS) or Provisioning Services (PVS) creates multiple VDAs with the configured master
image and Microsoft Message Queuing (MSMQ) installed, those VDAs can have the same QMId under certain
conditions. T his might cause various issues, for example:
Sessions might not be recorded even if the recording agreement is accepted.
T he Session Recording Server might not be able to receive session logoff signals and consequently, sessions might
always be in Live status.
[#528678]
When you change your XenApp or XenDesktop license type, the change might not take effect immediately for Session
Recording.
[#532393]
As a workaround, check the access control list (ACL) of the folder C:\windows\T emp to ensure that users under Local
Users and Groups > Groups > Users have write permission to the folder. If necessary, add the write permission
manually.
[#611487]
Attempts by a user who has the securityadmin and dbcreator permissions to SQL Server to reinstall the Administrator
Logging database might fail if the Administrator Logging database was previously installed by a different user who has
the same or greater permissions to the SQL Server.
As a workaround, reinstall the Administrator Logging database with a user account that has the sysadmin permission to
the SQL Server.
[#655644]
For the Citrix Licensing 11.14 known issues and fixed issues, see the Citrix Licensing known and fixed issues.
T he following platforms, Citrix products, and features are deprecated. T his does not mean that they are removed
immediately. Citrix will continue to support them up to and including the next XenApp and XenDesktop Long Term Service
Release (LT SR) release. Deprecated items will be removed in a Current Release following the next LT SR. Alternatives for
deprecated items are suggested where possible.
For complete details about product lifecycle support, see the Product Lifecycle Support Policy article.
In-place upgrades from StoreFront 2.0, 2.1, 2.5, 7.13 Upgrade from one of these versions to a later
and 2.5.2. supported version and then to XenApp and
XenDesktop 7.13.
In-place upgrades from XenDesktop 5.6 or 5.6 7.12 Migrate your XenDesktop 5.6 or 5.6 FP1
FP1. deployment to the current XenDesktop version.
VDAs on Windows 8.1 and earlier Windows 7.12 Install desktop OS VDAs on Windows 10.
desktop releases.
VDAs on Windows Server 2008 R2. 7.12 Install server OS VDAs on supported versions such
as Windows Server 2012 R2 or Windows Server
2016.
XenDesktop 5.6 used on Windows XP. No VDA 7.12 Install VDAs on a supported Windows version.
installations on Windows XP will be supported.
Azure Classic (also known as Azure Service 7.12 Use Azure Resource Manager.
Management) connections.
AppDisk
Citrix is replacing the AppDisk functionality provided by XenApp and XenDesktop with recently acquired technology from
Unidesk. During this transition time, Citrix continues to maintain current support levels as described in XenApp and
XenDesktop Servicing Options.
Removed
T he following platforms, Citrix products, and features are either removed in XenApp and XenDesktop 7.14 or are no longer
supported in XenApp and XenDesktop 7.14.
Item Replacement
T he user account, CtxAppVCOMAdmin which was created during VDA T he Windows service CtxAppVService
installation and added to the Local Administrators Group on the VDA performs the same function. It is
machine, is no longer created. T he underlying "COM" mechanism is also automatically installed and configured and
removed. requires no user interaction.
Introduction
Delivery Controller
Databases
Citrix Studio
Citrix Director
Virtual Delivery Agent (VDA) for Desktop OS
Virtual Delivery Agent (VDA) for Server OS
Hosts / virtualization resources
Active Directory functional levels
HDX
Session Recording
Universal Print Server
Other
Introduction
T he system requirements in this document were valid when this product version released; updates are made periodically.
System requirements components not covered here (such as StoreFront, host systems, Citrix Receivers and plug-ins, and
Provisioning Services) are described in their respective documentation.
Unless otherwise noted, the component installer deploys software prerequisites automatically (such as .NET and C++
packages) if the required versions are not detected on the machine. T he Citrix installation media also contains some of this
prerequisite software.
T he installation media contains several third-party components. Before using the Citrix software, check for security
updates from the third party, and install them.
For XenApp and XenDesktop components and features that can be installed on Windows Servers, Server Core and Nano
Server installations are not supported, unless specically noted.
For components and features that can be used on Windows 10 machines, the following Windows 10 servicing options and
editions are supported:
Current Branch for Business (CBB): Pro, Enterprise, Education, Mobile Enterprise (the IoT Core Pro Edition is supported
only for Citrix Receiver)
Long T erm Service Branch (LT SB): LT SB
Current Branch (CB): Not supported
RAM and disk space values are in addition to requirements for the product image, operating system, and other software on
the machine. Your performance will vary, depending on your conguration. T his includes the features you use, plus the
number of users, and other factors. Using only the minimum can result in slow performance.
For example, the amount of disk space needed on the Controller for connection leasing (which is enabled by default)
depends on the number of users, applications, and the mode: 100,000 RDS users with 100 recently-used applications require
approximately 3 GB for connection leases; deployments with more applications may require more space. For dedicated VDI
desktops, 40,000 desktops require at least 400-500 MB. In all cases, Citrix suggests providing several GBs of additional
space.
Component Minimum
(more disk space required if a high availability feature such 800 MB hard disk
as connection leasing is enabled)
Database: see the Sizing guidance article
Studio 1 GB RAM
Director 2 GB RAM
StoreFront 2 GB RAM
Specic recommendations cannot be provided because of the complex and dynamic nature of hardware offerings, and
every XenApp and XenDesktop deployment has unique needs. Generally, sizing a XenApp VM is based on the hardware and
not the user workloads (except for RAM; you'll need more RAM for applications that consume more).
T he Sizing XenApp Windows 2012 R2 Virtual Machines blog post contains sizing considerations.
T he Citrix Synergy 2016 video (start at 1:15:00) discusses differences between sizing VMs to deliver applications and sizing
to deliver desktops. It also covers scalability estimates: how many users to expect from a single server. Although based
on a shared desktop model, the tests measure capacity to reach maximum CPU utilization, using one application at a
time. Changing applications should have minimal impact on overall density.
Delivery Controller
Supported operating systems:
Requirements:
Databases
Supported Microsoft SQL Server versions for the Site Conguration, Conguration Logging, and Monitoring databases:
T he following database high availability solutions are supported (except for SQL Server Express, which supports only
standalone mode):
When installing a Controller, a SQL Server Express database is installed by default for use with the Local Host Cache
feature. T his installation is separate from the default SQL Server Express installation for the Site database.
Databases
CT X114501
Database sizing guidance
Local Host Cache
Citrix Studio
Supported operating systems:
Requirements:
Microsoft .NET Framework 4.5.2 (4.6, 4.6.1, 4.6.2, and 4.7 are also supported)
Microsoft .NET Framework 3.5 SP1 (Windows Server 2008 R2 and Windows 7 only)
Microsoft Management Console 3.0 (included with all supported operating systems)
Windows PowerShell 2.0 (included with Windows 7 and Windows Server 2008 R2) or 3.0 (included with later supported
Windows versions)
Citrix Director
Supported operating systems:
Requirements:
Microsoft .NET Framework 4.5.2 (4.6, 4.6.1, 4.6.2, and 4.7 are also supported).
Microsoft .NET Framework 3.5 SP1 (Windows Server 2008 R2 only)
Microsoft Internet Information Services (IIS) 7.0 and ASP.NET 2.0. Ensure that the IIS server role has the Static Content
role service installed. If these are not already installed, you are prompted for the Windows Server installation media, then
they are installed for you.
Internet Explorer 11. (You can use Internet Explorer 10 only on Windows Server 2012 R2 machines.) Compatibility mode is
not supported for Internet Explorer. You must use the recommended browser settings to access Director. When you
install Internet Explorer, accept the default to use the recommended security and compatibility settings. If you already
installed the browser and chose not to use the recommended settings, go to T ools > Internet Options > Advanced >
Reset and follow the instructions.
Microsoft Edge.
Firefox ESR (Extended Support Release).
Chrome.
Windows 10, (see edition support in the Introduction section. T he following features are not supported on Windows 10:
desktop composition redirection and legacy graphics mode.
Windows 8.1, Professional and Enterprise Editions
Windows 7 SP1, Professional, Enterprise, and Ultimate Editions
Requirements:
Microsoft .NET Framework 4.5.2 (4.6, 4.6.1, 4.6.2, and 4.7 are also supported)
Microsoft .NET Framework 3.5.1 (Windows 7 only)
Microsoft Visual C++ 2013 and 2015 Runtimes, 32- and 64-bit
Remote PC Access uses this VDA, which you install on physical ofce PCs. T his VDA supports Secure Boot for XenDesktop
Remote PC Access on Windows 10.
Several multimedia acceleration features (such as HDX MediaStream Windows Media Redirection) require that Microsoft
Media Foundation be installed on the machine on which you install the VDA. If the machine does not have Media
Foundation installed, the multimedia acceleration features will not be installed and will not work. Do not remove Media
Foundation from the machine after installing the Citrix software; otherwise, users will not be able to log on to the machine.
On most supported Windows desktop OS editions, Media Foundation support is already installed and cannot be removed.
However, N editions do not include certain media-related technologies; you can obtain that software from Microsoft or a
third party.
During VDA installation, you can choose the HDX 3D Pro mode of the VDA for Windows Desktop OS. T hat mode is
particularly suited for use with DirectX and OpenGL-driven applications and with rich media such as video. See the HDX 3D
Pro section for additional support information.
For Linux VDA information, see the Linux Virtual Delivery Agent articles.
T he installer automatically deploys the following requirements, which are also available on the Citrix installation media in the
Support folders:
Microsoft .NET Framework 4.5.2 (4.6, 4.6.1, 4.6.2, and 4.7 are also supported)
Microsoft .NET Framework 3.5.1 (Windows Server 2008 R2 only)
Microsoft Visual C++ 2013 and 2015 Runtimes, 32- and 64-bit
T he installer automatically installs and enables Remote Desktop Services role services, if they are not already installed and
enabled.
Several multimedia acceleration features (such as HDX MediaStream Windows Media Redirection) require that the
Microsoft Media Foundation be installed on the machine on which you install the VDA. If the machine does not have Media
Foundation installed, the multimedia acceleration features will not be installed and will not work. Do not remove Media
Foundation from the machine after installing the Citrix software; otherwise, users will not be able to log on to the machine.
On most Windows Server versions, the Media Foundation feature is installed through the Server Manager (for Windows
Server 2012 and later: ServerMediaFoundation; for Windows Server 2008 R2: DesktopExperience). However, N editions do
not include certain media-related technologies; you can obtain that software from Microsoft or a third party.
For Linux VDA information, see the Linux Virtual Delivery Agent articles.
CT X131239 contains additional hypervisor support information, plus links to informatin about known issues. T he
Connections and resources article lists host information sources.
T he Remote PC Access Wake on LAN feature requires Microsoft System Center Conguration Manager minimum 2012.
T he following major.minor versions are supported, including updates to those versions (such as a, b, or c releases).
XenServer
VMware vSphere (vCenter + ESXi). No support is provided for vSphere vCenter Linked Mode operation.
System Center Virtual Machine Manager. Includes any version of Hyper-V that can register with the supported System
Center Virtual Machine Manager versions.
You can provision applications and desktops on supported Windows server operating systems.
T he Amazon Relational Database Service (RDS) is not supported.
See Citrix XenDesktop on AWS for additional information.
CloudPlatform
Microsoft Azure
HDX
UDP audio for Multi-Stream ICA is supported on Receiver for Windows and Citrix Receiver for Linux 13.
DirectX 9
Pixel Shader 2.0 (supported in hardware)
32 bits per pixel
1.5 GHz 32-bit or 64-bit processor
1 GB RAM
128 MB video memory on the graphic card or an integrated graphics processor
HDX queries the Windows device to verify that it has the required GPU capabilities, and then automatically reverts to
server-side desktop composition if it does not. List the devices with the required GPU capabilities that do not meet the
processor speed or RAM specications in the GPO group for devices excluded from Desktop Composition Redirection.
T he minimum available bandwidth is 1.5 Mbps; the recommended bandwidth is 5 Mbps. T hose values incorporate end-to-
end latency.
T he following clients are supported for Windows Media client-side content fetching, Windows Media redirection, and
realtime Windows Media multimedia transcoding: Citrix Receiver for Windows, Citrix Receiver for iOS, and Citrix Receiver for
Linux.
To use Windows Media client-side content fetching on Windows 8 devices, set the Citrix Multimedia Redirector as a default
program: in Control Panel > Programs > Def ault Programs > Set your def ault programs, select Citrix Multimedia
Redirector and click either Set this program as def ault or Choose def aults f or this program. GPU transcoding requires
an NVIDIA CUDA-enabled GPU with Compute Capability 1.1 or higher; see http://developer.nvidia.com/cuda/cuda-gpus.
Citrix Receiver for Windows (for second generation Flash Redirection features) - Second generation Flash Redirection
T he major version number of the Flash Player on the user device must be greater than or equal to the major version number
of the Flash Player on the server. If an earlier version of the Flash Player is installed on the user device, or if the Flash Player
cannot be installed on the user device, Flash content is rendered on the server.
Adobe Flash Player for Windows Internet Explorer (the ActiveX player)
Internet Explorer 11 (in non-Modern UI mode). You can use Internet Explorer versions 7-10, but Microsoft supports (and
Citrix recommends using) version 11. Flash redirection requires Internet Explorer on the server; with other browsers, Flash
content is rendered on the server.
Protected mode disabled in Internet Explorer (T ools > Internet Options > Security tab > Enable Protected Mode check
box cleared). Restart Internet Explorer to effect the change.
HDX 3D Pro
When installing a VDA for Windows Desktop OS, you can choose to install the HDX 3D Pro version.
T he physical or virtual machine hosting the application can use GPU Passthrough or Virtual GPU (vGPU):
GPU Passthrough is available with: Citrix XenServer; VMware vSphere and VMware ESX, where it is referred to as virtual
Direct Graphics Acceleration (vDGA); and with Microsoft Hyper-V in Windows Server 2016 where it is referred to as
Discrete Device Assignment (DDA).
vGPU is available with Citrix XenServer and VMware vSphere; see https://www.citrix.com/products/xenapp-
xendesktop/hdx-3d-pro.html.
Citrix recommends that the host computer have at least 4 GB of RAM and four virtual CPUs with a clock speed of 2.3 GHz
or higher.
For CPU-based compression (including lossless compression), HDX 3D Pro supports any display adapter on the host
computer that is compatible with the application being delivered.
For virtualized graphics acceleration using the NVIDIA GRID API, HDX 3D Pro can be used with supported NVIDIA GRID
cards (see NVIDIA GRID). T he NVIDIA GRID delivers a high frame rate, resulting in a highly interactive user experience.
Virtualized graphics acceleration is supported on the Intel Xeon Processor E3 Family of data center graphics platform.
For more information, see http://www.citrix.com/intel and http://www.intel.com/content/www/us/en/servers/data-
center-graphics.html
Virtualized graphics acceleration is supported with AMD RapidFire on the AMD FirePro S-series server cards (see AMD
Virtualization Solution).
User device:
HDX 3D Pro supports all monitor resolutions that are supported by the GPU on the host computer. However, for
optimum performance with the minimum recommended user device and GPU specifications, Citrix recommends a
For more information, see the HDX 3D Pro articles and www.citrix.com/xenapp/3d.
Supported clients: Citrix Receiver for Windows, Citrix Receiver for Mac, and Citrix Receiver for Linux.
Adobe Connect
Cisco WebEx
Citrix GoT oMeeting HDFaces
Google+ Hangouts
IBM Sametime
Media Foundation-based video applications on Windows 8.x, Windows Server 2012, and Windows Server 2012 R2
Microsoft Lync 2010 and 2013
Microsoft Office Communicator
Microsoft Skype 6.7
To use Skype on a Windows client, edit the registry on the client and the server:
Session Recording
Session Recording administration components
Microsoft SQL Server 2016 SP1 Enterprise, Express, and Standard editions
Microsoft SQL Server 2014 SP2 Enterprise, Express, and Standard editions
Microsoft SQL Server 2012 SP3 Enterprise, Express, and Standard editions
Other requirements:
Requirements:
Windows 10
Windows 8.1
Windows 7 SP1
T he seek response time depends on the size of the recording and your machine's hardware specications.
For VDAs for Windows Server OS, user authentication during printing operations requires the Universal Print Server to be
joined to the same domain as the VDA.
Standalone client and server component packages are also available for download.
Other
StoreFront 3.0.1 is the minimum supported version with this release. To use the zone preference feature, you must be using
minimum StoreFront 3.7 and NetScaler Gateway 11.0-65.x.
When using Provisioning Services with this release, the minimum supported Provisioning Services version is 7.0.
T he Microsoft Group Policy Management Console (GPMC) is required if you store Citrix policy information in Active
Directory rather than the Site Conguration database. If you install CitrixGroupPolicyManagement_x64.msi separately (for
example, on a machine that does not have a XenApp or XenDesktop core component installed), that machine must have
Visual Studio 2015 runtime installed. For more information, see the Microsoft documentation.
By default, the Citrix Receiver for Windows is installed when you install a VDA. For more information, see the Citrix Receiver
for Windows documentation.
See Local App Access for supported browser information for that feature.
See the Self-Service Password Reset documentation for support and requirements information.
Server: Windows Server 2008 R2 SP1, Windows Server 2012, and Windows Server 2012 R2
Client (with latest Citrix Receiver for Windows): Windows 7, Windows 8, and Windows 8.1
Mixed DPIs with multi-monitors. T he use of different DPIs between monitors is not supported in Citrix XenDesktop and
XenApp environments. You can verify the DPI (% scaling) using Windows Control Panel > Display options. If using a Windows
8.1 or Windows 10 client device, enabling the Let me choose one scaling level f or all my displays option in the Windows
Control Panel > Display options will congure the monitors appropriately. For more information, see CT X201696.
T his version of XenApp and XenDesktop is not compatible with AppDNA 7.8 and AppDNA 7.9. Citrix recommends using the
current AppDNA release.
XenApp and XenDesktop are virtualization solutions that give IT control of virtual machines, applications, licensing, and
security while providing anywhere access for any device.
XenApp and XenDesktop share a unied architecture called FlexCast Management Architecture (FMA). FMA's key features
are the ability to run multiple versions of XenApp or XenDesktop from a single Site and integrated provisioning.
T his illustration shows the key components in a typical XenApp or XenDesktop deployment, which is called a Site.
T he Delivery Controller is the central management component of a XenApp or XenDesktop Site. Each Site has one or
more Delivery Controllers. It is installed on at least one server in the data center. For Site reliability and availability,
Controllers should be installed on more than one server. If your deployment includes virtual machines hosted on a
hypervisor or cloud service, the Controller services communicate with the hypervisor to distribute applications and
desktops, authenticate and manage user access, broker connections between users and their virtual desktops and
applications, optimize use connections, and load-balance these connections.
T he Controller's Broker Service tracks which users are logged on and where, what session resources the users have,
and if users need to reconnect to existing applications. T he Broker Service executes PowerShell cmdlets and
communicates with a broker agent on the VDAs over TCP port 80. It does not have the option to use TCP port 443.
T he Monitor Service collects historical data and places it in the Monitor database. T his service uses TCP port 80 or
443.
T he Controller manages the state of desktops, starting and stopping them based on demand and administrative
conguration. In some editions, the Controller allows you to install Prole management to manage user
personalization settings in virtualized or physical Windows environments.
Database
At least one Microsoft SQL Server database is required for every XenApp or XenDesktop Site to store conguration
and session information. T his database stores the data collected and managed by the services that make up the
Controller. Install the database within your data center, and ensure it has a persistent connection to the Controller.
T he Site also uses a Conguration Logging database and a Monitoring database. By default, these are installed in the
T he VDA is installed on each physical or virtual machine in your Site that you make available to users; those machines
can deliver applications or desktops. T he VDA enables the machine to register with the Controller, which in turn allows
the machine and the resources it is hosting to be made available to users. VDAs establish and manage the connection
between the machine and the user device, verify that a Citrix license is available for the user or session, and apply
whatever policies have been congured for the session.
T he VDA communicates session information to the Broker Service in the Controller through the broker agent included
in the VDA. T he broker agent hosts multiple plugins and collects real-time data. It communicates with the Controller
over TCP port 80. It does not have the option to use TCP port 443.
T he word "VDA" is often used to refer to the agent as well as the machine on which it is installed.
VDAs are available for Windows server and desktop operating systems. VDAs for Windows server operating systems
allow multiple users to connect to the server at one time. VDAs for Windows desktop operating systems allow only
one user to connect to the desktop at a time. A Linux VDA is also available.
Citrix StoreFront
StoreFront authenticates users to Sites hosting resources, and manages stores of desktops and applications that
users access. It can host your enterprise application store, which gives users self-service access to the desktops and
applications that you make available to them. It also keeps track of users application subscriptions, shortcut names,
and other data to ensure users have a consistent experience across multiple devices.
Citrix Receiver
Installed on user devices and other endpoints (such as virtual desktops), Citrix Receiver provides users with quick,
secure, self-service access to documents, applications, and desktops from any of the user's devices, including
smartphones, tablets, and PCs. Citrix Receiver provides on-demand access to Windows, Web, and Software as a
Service (SaaS) applications. For devices that cannot install Citrix Receiver software, Citrix Receiver for HT ML5 provides
a connection through a HT ML5-compatible web browser.
Citrix Studio
Studio is the management console that enables you to congure and manage your XenApp and XenDesktop
deployment, eliminating the need for separate management consoles for managing delivery of applications and
desktops. Studio provides various wizards to guide you through the process of setting up your environment, creating
your workloads to host applications and desktops, and assigning applications and desktops to users. You can also use
Studio to allocate and track Citrix licenses for your Site.
Studio gets the information it displays from the Broker Service in the Controller, communicating over TCP port 80.
Director is a web-based tool that enables IT support and help desk teams to monitor an environment, troubleshoot
issues before they become system-critical, and perform support tasks for end users. You can use one Director
deployment to connect to and monitor multiple XenApp or XenDesktop Sites.
Director displays:
Real-time session data from the Broker Service in the Controller, which includes data the Broker Service gets
from the broker agent in the VDA.
Data about HDX trafc (also known as ICA trafc) captured by HDX Insight from the NetScaler, if your
deployment includes a NetScaler and your XenApp or XenDesktop edition includes HDX Insight.
You can also view and interact with a user's sessions through Director, using Windows Remote Assistance.
T he License Server manages your Citrix product licenses. It communicates with the Controller to manage licensing for
each user's session and with Studio to allocate license les. You must create at least one license server to store and
manage your license les.
T he hypervisor or cloud service hosts the virtual machines in your Site. T hese can be the VMs you use to host
applications and desktops, as well as VMs you use to host the XenApp and XenDesktop components. A hypervisor is
installed on a host computer dedicated entirely to running the hypervisor and hosting virtual machines.
Although many XenApp and XenDesktop deployments require a hypervisor, you don't need one to provide Remote PC
Access or when you are using Provisioning Services (included with some editions of XenApp and XenDesktop) instead
of Machine Creation Services (MCS) to provision VMs.
Additional components
T he following additional components, not shown in the illustration above, can also be included in XenApp or XenDesktop
deployments. For more information, see their documentation.
PVS is an optional component of XenApp and XenDesktop available with some editions. It provides an alternative to
MCS for provisioning virtual machines. Whereas MCS creates copies of a master image, PVS streams the master image
to user device. PVS doesnt require a hypervisor to do this, so you can use it to host physical machines. When PVS is
included in a Site, it communicates with the Controller to provide users with resources.
NetScaler Gateway
When users connect from outside the corporate rewall, XenApp and XenDesktop can use Citrix NetScaler Gateway
(formerly Access Gateway) technology to secure these connections with T LS. T he NetScaler Gateway or NetScaler
VPX virtual appliance is an SSL VPN appliance that is deployed in the demilitarized zone (DMZ) to provide a single
secure point of access through the corporate rewall.
NetScaler SD-WAN
In deployments where virtual desktops are delivered to users at remote locations such as branch ofces, Citrix
NetScaler SD-WAN (formerly Citrix CloudBridge, Branch Repeater, or WANScaler) technology can be employed to
optimize performance. Repeaters accelerate performance across wide-area networks, so with repeaters in the
network, users in the branch ofce experience LAN-like performance over the WAN. NetScaler SD-WAN can prioritize
different parts of the user experience so that, for example, the user experience does not degrade in the branch
location when a large le or print job is sent over the network. HDX WAN optimization provides tokenized
compression and data deduplication, dramatically reducing bandwidth requirements and improving performance.
T he Controller is made up of independent Windows services that manage resources, applications, and desktops, and
optimize and balance user connections. Each Site has one or more Controllers, and because sessions are dependent on
latency, bandwidth, and network reliability, all Controllers ideally should be on the same LAN.
Users never directly access the Controller. T he VDA serves as an intermediary between users and the Controller. When users
log on to the Site using StoreFront, their credentials are passed through to the Broker Service on the Controller, which
obtains their proles and available resources based on the policies set for them.
T he user selects the physical or virtual desktop or virtual application that is needed.
T he user's credentials move through this pathway to access the Controller, which determines which resources are needed
by communicating with a Broker Service. Citrix recommends that administrators place an SSL certicate on StoreFront to
encrypt the credentials coming from Citrix Receiver.
After the credentials are veried, information about available applications or desktops is sent back to the user through the
StoreFront-Citrix Receiver pathway. When the user selects applications or desktops from this list, that information goes
back down the pathway to the Controller, which determines the proper VDA to host the specic applications or desktop.
T he Controller sends a message to the VDA with the user's credentials, and then sends all the data about the user and the
connection to the VDA. T he VDA accepts the connection and sends the information back through the same pathways to
Citrix Receiver. A set of required parameters is collected on StoreFront. T hese parameters are then sent to Citrix Receiver,
either as part of the Receiver-StoreFront protocol conversation, or converted to an Independent Computing Architecture
(ICA) le and downloaded. As long as the Site was properly set up, the credentials remain encrypted throughout this
process.
T he ICA le is copied to the user's device and establishes a direct connection between the device and the ICA stack running
on the VDA. T his connection bypasses the management infrastructure (Citrix Receiver, StoreFront, and Controller).
T he connection between Citrix Receiver and the VDA uses the Citrix Gateway Protocol (CGP). If a connection is lost, the
Session Reliability feature enables the user to reconnect to the VDA rather than having to relaunch through the
management infrastructure. Session Reliability can be enabled or disabled in Citrix policies.
After the client connects to the VDA, the VDA noties the Controller that the user is logged on, and the Controller sends
this information to the Site database and starts logging data in the Monitoring database.
Within the Controller, the Broker Service reports session data for every session on the machine providing real-time data. T he
Monitor Service also tracks the real-time data and stores it as historical data in the Monitoring database.
Studio communicates only with the Broker Service; therefore, it accesses only to real-time data. Director communicates
with the Broker Service (through a plugin in the Broker Agent) to access the Site database.
Director can also access NetScaler Gateway to get information on the HDX data.
Machine Catalogs
Machine Catalogs are collections of virtual or physical machines that you manage as a single entity. T hese machines, and
the application or virtual desktops on them, are the resources you provide to your users. All the machines in a catalog have
Typically, you create a master image and use it to create identical VMs in the catalog. For VMs you can specify the
provisioning method for the machines in that catalog: Citrix tools (PVS or MCS) or other tools. Alternatively, you can use
your own existing images. In that case, you must manage target devices on an individual basis or collectively using third-
party electronic software distribution (ESD) tools.
Server OS machines: Virtual or physical machines based on a server operating system used for delivering XenApp
published apps, also known as server-based hosted applications, and XenApp published desktops, also known as server-
hosted desktops. T hese machines allow multiple users to connect to them at one time.
Desktop OS machines: Virtual or physical machines based on a desktop operating system used for delivering VDI
desktops (desktops running desktop operating systems that can be fully personalized, depending on the options you
choose), and VM-hosted apps (applications from desktop operating systems) and hosted physical desktops. Only one
user at a time can connect each of these desktops.
Remote PC Access: Enables remote users to access their physical office PCs from any device running Citrix Receiver. T he
office PCs are managed through the XenDesktop deployment, and require user devices to be specified in a whitelist.
Delivery Groups
Delivery Groups specify which users can access which applications and/or desktops on which machines. Delivery Groups
contain machines from your Machine Catalogs, and Active Directory users who have access to your Site. It often makes
sense to assign users to your Delivery Groups by their Active Directory group because both Active Directory groups and
Delivery Groups are ways of grouping users with similar requirements.
Each Delivery Group can contain machines from more than one Machine Catalog, and each catalog can contribute
machines to more than one Delivery Group, but each individual machine can only belong to one Delivery Group at a time.
You dene which resources users in the Delivery Group can access. For example, if you want to deliver different applications
to different users, one way to do this is to install all the applications you want to deliver on the master image for one
Machine Catalog and create enough machines in that catalog to distribute among several Delivery Groups. T hen you
congure each Delivery Group to deliver a different subset of the applications installed on the machines.
Application Groups
Application Groups provide application management and resource control advantages over using more Delivery Groups.
Using the tag restriction feature, you can use your existing machines for more than one publishing task, saving the costs
associated with deployment and managing additional machines. A tag restriction can be thought of as subdividing (or
partitioning) the machines in a Delivery Group. Application Groups can also be helpful when isolating and troubleshooting a
subset of machines in a Delivery Group.
T he System requirements article lists the supported functional levels for the forest and domain. To use Policy Modeling, the
domain controller must be running on Windows Server 2003 to Windows Server 2012 R2; this does not affect the domain
functional level.
Optionally, Virtual Delivery Agents (VDAs) can use information published in Active Directory to determine which Controllers
they can register with (discovery). T his method is supported primarily for backward compatibility, and is available only if the
VDAs are in the same Active Directory forest as the Controllers. For information about this discovery method see the
Delivery Controllers article and CT X118976.
Tip: Do not change the computer name or the domain membership of a Controller after the Site is congured.
Note: T his information applies to minimum version XenDesktop 7.1 and XenApp 7.5. It does not apply to earlier versions of
XenDesktop or XenApp.
In an Active Directory environment with multiple forests, if one-way or two-way trusts are in place you can use DNS
forwarders for name lookup and registration. To allow the appropriate Active Directory users to create computer accounts,
use the Delegation of Control wizard. Refer to Microsoft documentation for more information about this wizard.
No reverse DNS zones are necessary in the DNS infrastructure if appropriate DNS forwarders are in place between forests.
T he SupportMultipleForest key is necessary if the VDA and Controller are in separate forests, regardless of whether the
Active Directory and NetBios names are different. T he SupportMultipleForest key is only necessary on the VDA. Use the
following information to add the registry key:
You might need reverse DNS conguration if your DNS namespace is different than that of Active Directory.
If external trusts are in place during setup, the ListOfSIDs registry key is required. T he ListOfSIDs registry key is also
necessary if the Active Directory FQDN is different than the DNS FQDN or if the domain containing the Domain Controller
has a different Netbios name than the Active Directory FQDN. T o add the registry key, use the following information:
For a 32-bit or 64-bit VDA, locate the registry key
HKEY_LOCAL_MACHINE\Software\Citrix\VirtualDesktopAgent\ListOfSIDs
Name: ListOfSIDs
T ype: REG_SZ
Data: Security Identifier (SID) of the Controllers
When external trusts are in place, make the following changes on the VDA:
1. Locate the file <ProgramFiles>\Citrix\Virtual Desktop Agent\brokeragentconfig.exe.config.
2. Make a backup copy of the file.
3. Open the file in a text editing program such as Notepad.
4. Locate the text allowNtlm="false" and change the text to allowNtlm="true".
5. Save the file.
After adding the ListOfSIDs registry key and editing the brokeragent.exe.cong le, restart the Citrix Desktop Service to
apply the changes.
For more information about complex Active Directory environments, see CT X134971.
Site: (also known as Site Configuration) stores the running Site configuration, plus the current session state and
connection information.
Conf iguration Logging: (also known as Logging) stores information about Site configuration changes and
administrative activities. T his database is used when the Configuring Logging feature is enabled (default = enabled).
Monitoring: stores data used by Director, such as session and connection information.
Each Delivery Controller communicates with the Site database; Windows authentication is required between the Controller
and the databases. A Controller can be unplugged or turned off without affecting other Controllers in the Site. T his means,
however, that the Site database forms a single point of failure. If the database server fails, existing connections continue
to function until a user either logs off or disconnects. New connections cannot be established if the database server is
unavailable, except in certain cases when connection leasing is congured.
Citrix recommends that you back up the databases regularly so that you can restore from the backup if the database
server fails. T he backup strategy for each database may differ. For instructions, see CT X135207.
If your Site contains more than one zone, the Site database should always be in the primary zone. Controllers in every zone
communicate with that database.
High availability
T here are several high availability solutions to consider for ensuring automatic failover:
AlwaysOn Availability Groups: T his enterprise-level high availability and disaster recovery solution introduced in SQL
Server 2012 enables you to maximize availability for one or more databases. AlwaysOn Availability Groups requires that
the SQL Server instances reside on Windows Server Failover Clustering (WSFC) nodes. For more information, see
http://msdn.microsoft.com/en-us/library/hh510230.
SQL Server database mirroring: Mirroring the database ensures that, should you lose the active database server, an
automatic failover process happens in a matter of seconds, so that users are generally unaffected. T his method is more
expensive than other solutions because full SQL Server licenses are required on each database server; you cannot use
SQL Server Express edition in a mirrored environment.
SQL clustering: T he Microsoft SQL clustering technology can be used to automatically allow one server to take over
the tasks and responsibilities of another server that has failed. However, setting up this solution is more complicated, and
the automatic failover process is typically slower than alternatives such as SQL mirroring.
Using the hypervisor's high availability f eatures: With this method, you deploy the database as a virtual machine
and use your hypervisor's high availability features. T his solution is less expensive than mirroring because it uses your
existing hypervisor software and you can also use SQL Server Express edition. However, the automatic failover process is
slower, as it can take time for a new machine to start for the database, which may interrupt the service to users.
Note: Installing a Controller on a node in an SQL clustering or SQL mirroring installation is not supported.
T he Local Host Cache feature supplements the SQL Server high availability best practices by enabling users to connect and
reconnect to applications and desktops even when the Site database is not available. For more information, see the Local
If all Controllers in a Site fail, you can congure the VDAs to operate in high availability mode so that users can continue to
access and use their desktops and applications. In high availability mode, the VDA accepts direct ICA connections from
users, rather than connections brokered by the Controller. T his feature should be used only on the rare occasion when
communication with all Controllers fails; it is not an alternative to other high availability solutions. For more information, see
CT X 127564.
T he default installation uses the default Windows service accounts and permissions. See the Microsoft documentation for
details of these defaults, including the addition of Windows service accounts to the sysadmin role. T he Controller uses the
Network Service account in this conguration. T he Controller does not require any additional SQL Server roles or
permissions.
If required, you can select Hide instance for the database instance. When conguring the address of the database in
Studio, enter the instance's static port number, rather than its name. See the Microsoft documentation for details about
hiding an instance of SQL Server Database Engine.
Most production deployments, and any deployment that uses Microsoft high availability features, should use supported
non-Express editions of SQL Server installed on machines other than the server where the rst Controller is installed. T he
System requirements article lists the supported SQL Server versions. T he databases can reside on one or more machines.
Ensure the SQL Server software is installed before creating a Site. You don't have to create the database, but if you do, it
must be empty. Conguring Microsoft high availability technologies is also recommended.
T he Databases page offers two options for setting up the databases: automatic and using scripts. Generally, you can use
the automatic option if you (the Studio user and Citrix administrator) have the required database privileges; see Permissions
required to set up databases below.
You can change the location of a database later, after you create the Site; see Change database locations below.
To congure a Site to use a mirror database, complete the following and then proceed with the automatic or scripted
setup procedures.
Tip: To verify mirroring after creating the Site, run the PowerShell cmdlet get-congdbconnection to ensure that the
Failover Partner has been set in the connection string to the mirror.
If you later add, move, or remove a Delivery Controller in a mirrored database environment, see the Delivery Controllers
article.
Automatic setup
If you have the required database privileges, select the "Create and set up databases from Studio" option on the
Databases page of the Site creation wizard, and then provide the names and addresses of the principal databases.
If a database exists at an address you specify, it must be empty. If databases don't exist at a specied address, you are
informed that a database cannot be found, and then asked if you want the database to be created for you. When you
conrm that action, Studio automatically creates the databases, and then applies the initialization scripts for the principal
and replica databases.
Scripted setup
If you do not have the required database privileges, someone with those permissions must help, such as a database
administrator. Here's the sequence:
1. In the Site creation wizard, select the Generate scripts option. T his action generates six scripts: two for each of the
three databases (one for each principal database and another for each replica). You can indicate where to store the
scripts.
2. Give those scripts to your database administrator. T he Site creation wizard stops automatically at this point; you'll be
prompted when you return later to continue the Site creation.
T he database administrator then creates the databases. Each database should have the following characteristics:
Use a collation that ends with "_CI_AS_KS". Citrix recommends using a collation that ends with "_100_CI_AS_KS".
For optimum performance, enable the SQL Server Read-Committed Snapshot. For details, see CT X 137161.
High availability features should be configured, if desired.
T o configure mirroring, first set the database to use the full recovery model (simple model is the default). Back up the
principal database to a file and copy it to the mirror server. On the mirror database, restore the backup file to the mirror
server. T hen, start mirroring on the principal server.
T he database administrator uses the SQLCMD command-line utility or SQL Server Management Studio in SQLCMD mode
to run each of the xxx_Replica.sql scripts on the high availability SQL Server database instances (if high availability is
congured), and then run each of the xxx_Principal.sql scripts on the principal SQL Server database instances. See the
Microsoft documentation for SQLCMD details.
When all the scripts complete successfully, the database administrator gives the Citrix administrator the three principal
database addresses.
In Studio, you are prompted to continue the Site creation, and are returned to the Databases page. Enter the addresses. If
any of the servers hosting a database cannot be contacted, an error message is displayed.
Create a schema Create all service-specic schemas and add the securityadmin * db_owner
rst Controller to the Site
Add a Controller Add a Controller (other than the rst) to the securityadmin * db_owner
Site
Add a Controller (mirror Add a Controller login to the database server securityadmin *
server) currently in the mirror role of a mirrored
database
* While technically more restrictive, in practice, the securityadmin server role should be treated as equivalent to the
sysadmin server role.
When using Studio to perform these operations, the user account must be a member of the sysadmin server role.
ServerName
ServerName\InstanceName
ServerName,PortNumber
For an AlwaysOn Availability Group, specify the group's listener in the location eld.
You cannot change the location of the Conguration Logging database when mandatory logging is enabled.
1. Ensure a supported version of Microsoft SQL Server is installed on the server where you want the database to reside.
Set up high availability features as needed.
2. Select Conf iguration in the Studio navigation pane.
3. Select the database for which you want to specify a new location and then select Change Database in the Actions
pane.
4. Specify the new location and the database name.
5. If you want Studio to create the database and you have the appropriate permissions, click OK. When prompted, click OK,
and then Studio creates the database automatically. Studio attempts to access the database using your credentials; if
that fails, you are prompted for the database user's credentials. Studio then uploads the database schema to the
database. T he credentials are retained only for the database creation time frame.
6. If you do not want Studio to create the database, or you do not have sufficient permissions, click Generate script. T he
generated scripts include instructions for manually creating the database and a mirror database, if needed. Before
uploading the schema, ensure that the database is empty and that at least one user has permission to access and
change the database.
T his collection of delivery methods each with its own advantages and disadvantages provide the best user experience
in any use-case scenario.
Touch-screen devices, such as tablets and smartphones, are now standard in mobility. T hese devices can cause problems
when running Windows-based applications that typically utilize full-size screens and rely on right-click inputs for full
functionality.
XenApp with Citrix Receiver offers a secure solution that allows mobile-device users access to all the functionality in their
Windows-based apps without the cost of rewriting those apps for native mobile platforms.
T he XenApp published apps delivery method utilizes HDX Mobile technology that solves the problems associated with
mobilizing Windows applications. T his method allows Windows applications to be refactored for a touch experience while
maintaining features such as multitouch gestures, native menu controls, camera, and GPS functions. Many touch features
are available natively in XenApp and XenDesktop and do not require any application source code changes to activate.
Upgrading physical machines is a daunting task many businesses face every three to ve years, especially if the business
needs to maintain the most up-to-date operating systems and applications. Growing businesses also face daunting
overhead costs of adding new machines to their network.
T he VDI Personal vDisk delivery method provides fully personalized desktop operating systems to single users on any
machine or thin client using server resources. Administrators can create virtual machines whose resources such as
processing, memory, and storage are stored in the networks data center.
T his can extend the life of older machines, keep software up to date, and minimize downtime during upgrades.
Network security is an ever-growing problem, especially when working with contractors, partners, and other third-party
contingent workers who need access to a companys apps and data. T he workers may also need loaner laptops or other
devices, which cause additional cost concerns.
Data, applications, and desktops are stored behind the rewall of the secure network with XenDesktop and XenApp, so the
only thing the end user transmits is user-device inputs and outputs, such as keystrokes, mouse clicks, audio, and screen
With a VDI with Personal vDisk deployment, administrators can utilize thin clients or users personal devices by creating a
virtual machine on a network server and providing a single-user desktop operating system. T his allows IT to maintain
security with third-party workers without the need of purchasing expensive equipment.
Accelerate Migration
When switching to a new operating system, IT can face the challenge of delivering legacy and incompatible applications.
With virtual-machine-hosted apps, users can run older applications through Citrix Receiver on the upgraded virtual machine
without any compatibility issues. T his allows IT additional time to resolve and test application compatibility issues, ease
users into the transition, and make help desk calls more efcient.
Enable designers and engineers by virtualizing prof essional 3-D graphics apps
Many design rms and manufacturing companies rely heavily on professional 3-D graphics applications. T hese companies
face nancial strain from the costs of powerful hardware to support this type of software and also logistic problems that
come with the sharing of large design les via FT P, email, and similar ad hoc methods.
XenDesktops hosted physical desktop delivery method provides a single desktop image to workstations and blade servers
without the need of hypervisors to run graphic-intensive 3-D applications on a native operating system.
All les are saved in a central data center within the network, so sharing large design les to other users in the network is
faster and more secure because the les are not being transferred from one workstation to another.
Businesses that need large-scale call centers face the difcult challenge of maintaining adequate stafng for peak periods
while not overprovisioning machines during less busy hours.
T he Pooled VDI delivery method provides multiple users access to a standardized desktop dynamically at a minimal cost
when provisioning a large number of users. T he pooled machines are allocated on a per-session, rst-come, rst-served
basis.
T here is less day-to-day management of these virtual machines because any change made during the session is discarded
when the user logs off. T his also increases security.
T he XenApp hosted desktops delivery method is another viable option for transforming call centers. T his method hosts
multiple user desktops on a single server-based operating system.
T his is a more cost-efcient method than Pooled VDI, but with XenApp hosted desktops, users are restricted from installing
applications, changing system settings, and restarting the server.
Use case
You want inexpensive server-based delivery to minimize the cost of delivering applications to a large number of users,
while providing a secure, high-definition user experience.
Your users perform well-defined tasks and do not require personalization or offline access to applications. Users may
include task workers such as call center operators and retail workers, or users that share workstations.
Application types: any application.
User experience
User requests one or more applications from StoreFront, their Start menu, or a URL you provide to them.
Applications are delivered virtually and display seamlessly in high definition on user devices.
Depending on profile settings, user changes are saved when the user's application session ends. Otherwise, the changes
are deleted.
Application processing takes place on hosting machines, rather than on the user devices. T he hosting machine can be a
physical or a virtual machine.
Applications and desktops reside on a server OS machine.
Machines become available through Machine Catalogs.
Machines from Machine Catalogs are organized into Delivery Groups that deliver the same set of applications to groups
of users.
Server OS machines support Delivery Groups that host either desktops or applications, or both.
Server OS machines run multiple sessions from a single machine to deliver multiple applications and desktops to multiple,
simultaneously connected users. Each user requires a single session from which they can run all their hosted applications.
For example, a user logs on and requests an application. One session on that machine becomes unavailable to other
users. A second user logs on and requests an application which that machine hosts. A second session on the same
machine is now unavailable. If both users request additional applications, no additional sessions are required because a
user can run multiple application using the same session. If two more users log on and request desktops, and two
sessions are available on that same machine, that single machine is now using four sessions to host four different
users.
1. Install the applications you want to deliver on a master image running a supported Windows server OS.
2. Create a Machine Catalog for this master image or update an existing catalog with the master image.
3. Create a Delivery Group to deliver the applications and desktops to users. If you are delivering applications, select those
you want to deliver.
Use Case
You want a client-based application delivery solution that is secure, provides centralized management, and supports a
large number of users per host server (or hypervisor), while providing users with applications that display seamlessly in
high-definition.
Your users are internal, external contractors, third-party collaborators, and other provisional team members. Your users
do not require offline access to hosted applications.
Application types: Applications that might not work well with other applications or might interact with the operation
system, such as Microsoft .NET framework. T hese types of applications are ideal for hosting on virtual machines.
Applications and desktops on the master image are securely managed, hosted, and run on machines within your
datacenter, providing a more cost effective application delivery solution.
On log on, users can be randomly assigned to a machine within a Delivery Group that is configured to host the same
application. You can also statically assign a single machine to deliver an application to a single user each time that user
logs on. Statically assigned machines allow users to install and manage their own applications on the virtual machine.
Running multiple sessions is not supported on desktop OS machines. T herefore, each user consumes a single machine
within a Delivery Group when they log on, and users must be online to access their applications.
T his method may increase the amount of server resources for processing applications and increase the amount of
storage for users' personal vDisks.
User experience
Desktop OS machines run a single desktop session from a single machine. When accessing applications only, a single user
can use multiple applications (and is not limited to a single application) because the operating system sees each
application as a new session.
Within a Delivery Group, when users log on they can access either a statically assigned machine (each time the user logs
on to the same machine), or a randomly assigned machine that is selected based on session availability.
1. Install the applications you want to deliver on a master image running a supported Windows desktop OS.
2. Create a Machine Catalog for this master image or update an existing catalog with the master image.
3. When defining the desktop experience for the machine catalog, decide whether you want users to connect to a new
VM each time they log in or connect to the same machine each time they log in.
4. Create a Delivery Group to deliver the application to users.
VDI desktops are hosted on virtual machines and provide each user with a desktop operating system.
VDI desktops require more resources than XenApp published desktops, but do not require that applications installed on
them support server-based operating systems. In additional, depending on the type of VDI desktop you choose, these
desktop can be assigned to individual users and allow these users a high degree of personalization.
When you create a Machine Catalog for VDI desktops, you create one of these types of desktops:
Random non-persistent desktops, also known as pooled VDI desktops. Each time users logs on to use one of these
desktops, they connect to a dynamically selected desktop in a pool of desktops based on a single master image. All
changes to the desktop are lost when the machine reboots.
Static non-persistent desktop. T he first time a user logs on the use one off these desktops, the user is assigned a
desktop from a pool of desktops based on a single master image. After the first use, each time a user logs in to use one
of these desktop, the user connects to the same desktop that user was assigned on first use. All changes to the
desktop are lost when the machine reboots.
Static persistent, also known as VDI with Personal vDisk. Unlike other types of VDI desktops, these desktops can be fully
personalized by users. T he first time a user logs on to use one of these desktops, the user is assigned a desktop from a
pool of desktops based on a single master image. Subsequent logons from that user connect to the same desktop that
was assigned on first use. Changes to the desktop are retained when the machine reboots because they are stored in a
Personal vDisk.
For port information about other components such as StoreFront and Provisioning Services, see the component's current
"System requirements" article.
T he table lists only incoming ports; outgoing ports are usually determined by the operating system and use unrelated
numbers. Information for outgoing ports is not normally needed for the purposes listed above.
Some of these ports are registered with the Internet Assigned Numbers Authority (IANA). Details about these assignments
are available at http://www.iana.org/assignments/port-numbers; however, the descriptive information held by IANA does
not always reect today's usage.
Additionally, the operating system on the VDA and Delivery Controller will require incoming ports for its own use. See the
Microsoft Windows documentation for details.
VDA ICA/HDX with Session TCP, UDP 2598 EDT protocol requires 2598 to be
Reliability open for UDP.
VDA ICA/HDX over WebSocket TCP 8008 Citrix Receiver for HT ML5, and
Prepare
Review Prepare to install and complete any necessary tasks.
Where to find information about concepts, features, differences from earlier releases, system requirements, and
databases.
Considerations when deciding where to install core components.
Permission and Active Directory requirements.
Information about the available installers, tools, and interfaces.
Create a Site
After you install the core components and launch Studio, you are automatically guided to create a Site.
For machines with a Linux operating system, follow the guidance in Linux Virtual Delivery Agent.
For a Remote PC Access deployment, install a VDA for Desktop OS on each ofce PC. If you need only the core VDA
services, use the standalone VDAWorkstationCoreSetup.exe installer and your existing Electronic Software Distribution
(ESD) methods. (Prepare to install contains complete information about the available VDA installers.)
To allow StoreFront to use authentication options such as SAML assertions, install the Citrix Federated Authentication
Service.
To enable end users to have greater control over their user accounts, install Self-Service Password Reset. For details, see the
Self-Service Password Reset documentation.
Optionally, integrate more Citrix components into your XenApp or XenDesktop deployment.
Provisioning Services is an optional component of XenApp and XenDesktop that provisions machines by streaming a
master image to target devices.
Citrix NetScaler Gateway is a secure application access solution that provides administrators with granular application-
level policy and action controls to secure access to applications and data.
Citrix NetScaler SD-WAN is a set of appliances that optimize WAN performance.
For installation guidance, see the documentation for these components, features, and technologies.
A catalog can contain physical or virtual machines (VMs). Virtual machines can be created from a master image. When using
a hypervisor or cloud service to provide VMs, you rst create a master image on that host. T hen, when you create the
catalog, you specify that image, which is used when creating VMs.
A Delivery Group species which users can access machines in a selected catalog and the applications available to those
users.
You can use the full-product installer on the XenApp and XenDesktop ISO to deploy many components and technologies.
You can use a standalone VDA installer to install VDAs. All installers offer graphical and command line interfaces. See
Installers.
T he product ISO contains sample scripts that install, upgrade, or remove VDAs for machines in Active Directory. You
can also use the scripts to manage master images used by Machine Creation Services (MCS) and Provisioning Services
(PVS). For details, see Install VDAs using scripts.
As an automated alternative to using the installers, Citrix Smart Tools uses blueprints to create a XenApp and XenDesktop
deployment. For details, see Smart Tools product documentation.
You can install the core components on the same server or on different servers.
Installing all the core components on one server can work for evaluation, test, or small production deployments.
T o accommodate future expansion, consider installing components on different servers. For example, installing Studio on
a different machine than the server where you installed the Controller allows you to manage the site remotely.
For most production deployments, installing core components on separate servers is recommended.
You can install both a Delivery Controller and a VDA for Server OS on the same server. Launch the installer and select the
Delivery Controller (plus any other core components you want on that machine). T hen launch the installer again and select
the Virtual Delivery Agent for Server OS.
Ensure that each operating system has the latest updates. For example, installation of a Controller on Windows Server
2012 R2 or a VDA on Windows 8.1 or Windows Server 2012 R2 fails if Windows update KB2919355 is not installed.
Ensure that all machines have synchronized system clocks. T he Kerberos infrastructure that secures communication
between the machines requires synchronization.
https://www.citrix.com/blogs/2015/12/17/windows-10-optimization-for-xendesktop/
https://www.citrix.com/blogs/2016/04/25/fine-tuning-windows-10-optimization-impact-on-storage-logon-time/
https://www.citrix.com/blogs/2016/01/19/windows-10-optimizations-the-untold-results/
To use the standalone VDA installer, you must have elevated administrative privileges or use Run as administrator.
System requirements lists the supported Active Directory functional levels. Active Directory contains more information.
You must have at least one domain controller running Active Directory Domain Services.
Do not install any XenApp or XenDesktop components on a domain controller.
Do not use a forward slash (/) when specifying Organizational Unit names in Studio.
T he Windows user account used to install the Citrix License Server is automatically congured as a Delegated
Administration full administrator on the license server.
When you create objects before, during, and after installation, specify unique names for each object. For example, provide
unique names for networks, groups, catalogs, and resources.
If a component does not install successfully, the installation stops with an error message. Components that installed
successfully are retained. You do not need to reinstall them.
Analytics are collected automatically when you install (or upgrade) components. By default, that data is uploaded to Citrix
automatically when the installation completes. Also, when you install components, you are automatically enrolled in the
Citrix Customer Experience Improvement Program (CEIP), which uploads anonymous data. During installation, you can also
choose to participate in other Citrix technologies (such as Smart Tools) that collect diagnostics for maintenance and
troubleshooting. For information about these programs, see Citrix Insight Services.
T he Citrix Receiver for Windows is included by default when you install a VDA, except when using the
VDAWorkstationCoreSetup.exe installer. You can exclude the Citrix Receiver from the installation. You or your users can
download and install (and upgrade) Citrix Receiver and other Citrix Receivers from the Citrix website. Alternatively, you can
make those Citrix Receivers available from your StoreFront server. See Make Citrix Receiver installation les available on the
server, or the equivalent content in the StoreFront version you're using.
T he Print Spooler Service is enabled by default on supported Windows servers. If you disable this service, you cannot
successfully install a VDA for Windows Server OS, so ensure that this service is enabled before installing a VDA.
When you install the VDA, a new local user group called Direct Access Users is created automatically. On a VDA for Desktop
OS, this group applies only to RDP connections. On a VDA for Server OS, this group applies to ICA and RDP connections.
T he VDA must have valid Controller addresses with which to communicate. Otherwise, sessions cannot be established. You
can specify Controller addresses when you install the VDA or later. Just remember that it must be done.
After installing a VDA on a Windows Server 2012 R2 system, use the Kerberos Enable Tool (XASsonKerb.exe) to ensure the
correct operation of Citrix Kerberos authentication. T he tool is in the Support > Tools > XASsonKerb folder on the
installation media. You must have local administrator privileges to use the tool. Run xassonkerb.exe -install from a command
prompt on the server. If you later apply an update that changes the registry location
HKLM\System\CurrentControlSet\Control\LSA\OSCong, run the command again. To see all available tool options, run the
command with the -help parameter.
A restart is required at the end of the VDA installation. T hat restart occurs automatically by default.
Ensure that a supported .NET Framework version is installed before beginning the VDA installation.
For Windows Server OS machines, install and enable the RDS role services before installing the VDA.
If you are using the graphical interface or the command line interface without the /noreboot option, the machine
restarts automatically after installing the prerequisite.
If you are using the command line interface with the /noreboot option, you must initiate the restart.
After each restart, run the installer or command again to continue the VDA installation.
Installers
Full-product installer
Using the full-product installer provided in the XenApp and XenDesktop ISO, you can:
Install, upgrade, or remove core XenApp and XenDesktop components: Delivery Controller, Studio, Director, StoreFront,
License Server
Install or upgrade Windows VDAs for server or desktop operating systems
Install the Universal Print Server UpsServer component on your print servers
Install the Federated Authentication Service
Install the Self-Service Password Reset Service
To deliver a desktop from a Server OS for one user (for example, for web development), use the full-product installer's
command line interface. For details, see Server VDI.
Standalone VDA installers are available on the Citrix download pages. T he standalone VDA installers are much smaller than
the full-product ISO. T hey more easily accommodate deployments that:
Use Electronic Software Distribution (ESD) packages that are staged or copied locally
Have physical machines
Have remote offices
By default, les in the self-extracting standalone VDAs are extracted to the Temp folder. More disk space is required on the
machine when extracting to the Temp folder than when using the full-product installer. However, les extracted to the
Temp folder are automatically deleted after the installation completes. Alternatively, you can use the /extract command
with an absolute path.
VDAServerSet up.exe:
Installs a VDA for Desktop OS. It supports all the VDA for Desktop OS options that are available with the full-product
installer.
Installs a VDA for Desktop OS that is optimized for Remote PC Access deployments or core VDI installations. Remote PC
Access uses physical machines. Core VDI installations are VMs that are not being used as a master image. It installs only the
core services necessary for VDA connections such deployments. T herefore, it supports only a subset of the options that
are valid with the full-product or VDAWorkstationSetup installers.
T his installer does not install or contain the components used for:
App-V.
Profile management. Excluding Citrix Profile management from the installation affects Citrix Director displays. For details,
see Install VDAs.
Machine Identity Service.
Personal vDisk or AppDisks.
T he VDAWorkstationCoreSetup.exe installer does not install or contain a Citrix Receiver for Windows.
In the graphical interface: Selecting the Remote PC Access option on the Environment page and clearing the Citrix
Receiver check box on the Components page.
In the command line interface: Specifying the /remotepc and /components vda options.
In the command line interface: Specifying /components vda and /exclude "Citrix Personalization for App-V - VDA"
"Personal vDisk" "Machine Identity Service" "Citrix User Profile Manager" "Citrix User Profile Manager WMI Plugin".
You can install the omitted components/features later by running the full-product installer. T hat action installs all missing
components.
You can congure XenApp or XenDesktop to provision resources in Azure Resource Manager either when you create the
XenApp or XenDesktop Site (which includes creating a connection), or when you create a host connection later (after
creating the Site).
Azure Disk Encryption is not supported when using Machine Creation Services.
T here are two ways to establish a host connection to Azure Resource Manager:
You have a user account in your subscription's Azure Active Directory tenant.
T he Azure AD user account is also a co-administrator for the Azure subscription you want to use for provisioning
resources.
1. On the Connection page, select the Microsof t Azure connection type and your Azure environment.
2. On the Connection Details page, enter your Azure subscription ID and a name for the connection. T he connection
name can contain 1-64 characters, and cannot contain only blank spaces or the characters \/;:#.*?=<>|[]{}"'()'). After you
enter the subscription ID and connection name, the Create new button is enabled.
3. Enter the Azure Active Directory account username and password.
4. Click Sign in.
Use the details f rom a previously-created service principal to connect to Azure Resource Manager
To create a service principal manually, connect to your Azure Resource Manager subscription and use the PowerShell
cmdlets provided below.
Prerequisites:
$SubscriptionId: Azure Resource Manager SubscriptionID for the subscription where you want to provision VDAs.
$AADUser: Azure AD user account for your subscriptions AD tenant.
Make the $AADUser the co-administrator for your subscription.
$ApplicationName: Name for the application to be created in Azure AD.
$ApplicationPassword: Password for the application. You will use this password as the application secret when creating
the host connection.
Login-AzureRmAccount.
Step 2: Select the Azure Resource Manager subscription where you want to create the service principal.
Step 6: From the output window of the PowerShell console, note the ApplicationId. You will provide that ID when creating
the host connection.
1. On the Connection page, select the Microsof t Azure connection type and your Azure environment.
2. On the Connection Details page, enter your Azure subscription ID and a name for the connection. (T he connection
name can contain 1-64 characters, and cannot contain only blank spaces or the characters \/;:#.*?=<>|[]{}"'()').
3. Click Use existing. Provide the subscription ID, subscription name, authentication URL, management URL, storage suffix,
Active Directory ID or tenant ID, application ID, and application secret for the existing service principal. After you enter
the details, the OK button is enabled. Click OK.
4. Indicate which tools to use to create the virtual machines, and then click Next. T he service principal details you provided
will be used to connect to your Azure subscription. (You cannot progress beyond this page in the wizard until you provide
valid details for the Use existing option.)
A master image is the template that will be used to create the VMs in a Machine Catalog. Before creating the Machine
Catalog, create a master image in Azure Resource Manager. For information about master images in general, see the Create
Machine Catalogs article.
T he Operating System and Machine Management pages do not contain Azure-specific information. Follow the
guidance in the Create Machine Catalogs article.
Select a storage type: standard or premium. T he storage type affects which machine sizes are offered on the Virtual
Machines page of the wizard. Both storage types make multiple synchronous copies of your data within a single data
center. For details about Azure storage types and storage replication, see the following:
https://azure.microsoft.com/en-us/documentation/articles/storage-introduction/
https://azure.microsoft.com/en-us/documentation/articles/storage-premium-storage/
https://azure.microsoft.com/en-us/documentation/articles/storage-redundancy/
Select whether or not to use existing on-premises Windows Server licenses. Doing so in conjunction with using
existing on-premises Windows Server images utilizes Azure Hybrid Use Benets (HUB). More details are available at
https://azure.microsoft.com/pricing/hybrid-use-benet/
HUB reduces the cost of running VMs in Azure to the base compute rate since it waives the price of additional
Windows Server licenses from the Azure gallery. You need to bring your on-premises Windows Servers images to Azure
to use HUB. Azure gallery images are not supported. On-premises Windows Client licenses are currently not supported.
See https://blogs.msdn.microsoft.com/azureedu/2016/04/13/how-can-i-use-the-hybrid-use-benet-in-
azure/%23comment-145
To check if the provisioned Virtual Machines are successfully utilizing HUB, run the powershell command
and check that the license type is Windows_Server. Additional instructions are available at
https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-windows-hybrid-use-benet-licensing/
On the Virtual Machines page, indicate how many VMs you want to create; you must specify at least one. Select a
machine size. After you create a Machine Catalog, you cannot change the machine size. If you later want a different
size, delete the catalog and then create a new catalog that uses the same master image and specifies the desired
machine size.
T he Network Cards, Computer Accounts, and Summary pages do not contain Azure-specific information. Follow the
guidance in the Create Machine Catalogs article.
Connection conguration
When using Studio to create a Microsoft Azure connection, you need information from the Microsoft Azure Publish
Settings le. T he information in that XML le for each subscription looks similar to the sample below (your actual
management certicate will be much longer):
<Subscription
ServiceManagementUrl="https://management.core.windows.net"
Id="o1455234-0r10-nb93-at53-21zx6b87aabb7p"
Name="Test1"
ManagementCerticate=";alkjdaksdj;akjsd;akjsd; sdjfklasdlaskjdfkluqweiopruaiopdfaklsdjfjsdilfasdkl;fjerioup" />
T he following procedure assumes you are creating a connection from Studio, and have launched either the Site creation
wizard or the connection creation wizard.
1. In a browser, go to https://manage.windowsazure.com/publishsettings/index.
2. Download the Publish Settings file.
3. In Studio, on the Connection page of the wizard, after you select the Microsoft Azure connection type, click Import.
4. f you have more than one subscription, you are prompted to select the subscription you want.
Power actions using a connection are subject to thresholds. Generally, the default values are appropriate and should not be
changed. However, you can edit a connection and change them (you cannot change these values when you create the
connection). For details, see Edit a connection.
Virtual machines
When creating a Machine Catalog in Studio, selecting the size of each virtual machine depends on the options presented
by Studio, the cost and performance of the selected VM instance type, and scalability.
Studio presents all of the VM instance options that Microsoft Azure makes available in a selected region; Citrix cannot
change this presentation. T herefore, you should be familiar with your applications and their CPU, memory, and I/O
requirements. Several choices are available at difference price and performance points; see the following Microsoft articles
to better understand the options.
MSDN Virtual Machine and Cloud Service Sizes for Azure: https://msdn.microsoft.com/en-
us/library/azure/dn197896.aspx
Virtual Machine Pricing: http://azure.microsoft.com/en-us/pricing/details/virtual-machines
Basic tier: VMs prexed with "Basic" represent the basic disk. T hey are limited primarily by the Microsoft supported IOPS
level of 300. T hese are not recommended for Desktop OS (VDI) or Server OS RDSH (Remote Desktop Session Host)
workloads.
A Extra small, small, medium, large, extra large, A5, A6, A7, A8, A9, A10, A11. Medium and large are
recommended to test using Desktop OS (VDI) or Server OS (RDSH) workloads, respectively.
D Standard_D1, D2, D3, D4, D11, D12, D13, D14. T hese VMs offer SSD for temporary storage.
DS Standard_DS1, DS2, DS3, DS4, DS11, DS12, DS13, DS14. T hese VMs offer local SSD storage for all disks.
When provisioning machines in Azure premium storage, be sure to select a machine size that is supported in the premium
storage account.
For US list pricing, the cost of each VM instance type per hour is available at
http://azure.microsoft.com/en-us/pricing/details/virtual-machines/.
When working with cloud environments, it is important to understand your actual computing requirements. For proof of
concept or other testing activities, it can be tempting to leverage the high-performance VM instance types. It may also be
tempting to use the lowest-performing VMs to save on costs. T he better goal is to use a VM appropriate for the task.
Starting with the best-performing may not get the results you need, and will become very expensive over time - in some
cases, within a week. For lower-performing VM instance types with a lower cost, the performance and usability may not be
appropriate for the task.
For Desktop OS (VDI) or Server OS (RDSH) workloads, testing results using LoginVSI against its medium workload found
that instance types Medium (A2) and Large (A3) offered the best price/performance ratio.
Medium (A2) and Large (A3 or A5) represent the best cost/performance for evaluating workloads. Anything smaller is not
recommended. More capable VM series may offer your applications or users the performance and usability they demand;
however, it is best to baseline against one of these three instance types to determine if the higher cost of a more capable
VM instance type provides true value.
Scalability
Several constraints affect the scalability of catalogs in a hosting unit. Some constraints, such as the number of CPU cores
in an Azure subscription, can be mitigated by contacting Microsoft Azure support to increase the default value (20). Others,
such as the number of VMs in a virtual network per subscription (2048), cannot change.
To scale up the number of VMs in a catalog or a host, contact Microsoft Azure support. T he Microsoft Azure default limits
prevent scaling beyond a certain number of VMs; however, this limit changes often, so check the latest information:
http://azure.microsoft.com/en-us/documentation/articles/azure-subscription-service-limits/.
Microsoft recommends a limit of 40 standard disk VM images per cloud service. When scaling, consider the number of cloud
services required for the number of VMs in the entire connection. Also consider VMS needed to provide the hosted
applications.
Contact Microsoft Azure support to determine if the default CPU core limitations must be increased to support your
workloads.
T his release supports the VMM versions listed in the System requirements article.
You can use Machine Creation Services to provision Generation 1 Desktop or Server OS VMs. When creating VMs with MCS,
Generation 2 VMs do not appear in the selection list for a master VM.
Upgrade VMM
A mixed Hyper-V cluster is not supported. An example of a mixed cluster is one in which half the cluster is running Hyper-
V 2008 and the other is running Hyper-V 2012.
For Machine Catalogs created with MCS on SMB 3 file shares for VM storage, make sure that credentials meet the
following requirements so that calls from the Controller's Hypervisor Communications Library (HCL) connect successfully to
SMB storage:
VMM user credentials must include full read write access to the SMB storage.
Storage virtual disk operations during VM life cycle events are performed through the Hyper-V server using the VMM user
credentials.
When you use SMB as storage, enable the Authentication Credential Security Support Provider (CredSSP) from the
Controller to individual Hyper-V machines when using VMM 2012 SP1 with Hyper-V on Windows Server 2012. For more
information, see CT X137465.
Using a standard PowerShell V3 remote session, the HCL uses CredSSP to open a connection to the Hyper-V machine. T his
feature passes Kerberos-encrypted user credentials to the Hyper-V machine, and the PowerShell commands in the session
on the remote Hyper-V machine run with the credentials provided (in this case, those of the VMM user), so that
communication commands to storage work correctly.
T he following tasks use PowerShell scripts that originate in the HCL and are then sent to the Hyper-V machine to act on
the SMB 3.0 storage.
Consolidate Master Image - A master image creates a new MCS provisioning scheme (machine catalog). It clones and
flattens the master VM ready for creating new VMs from the new disk created (and removes dependency on the original
master VM).
ConvertVirtualHardDisk on the root\virtualization\v2 namespace
Example:
$ims = Get-WmiObject -class $class -namespace " root\virtualization\v2" ;
$result = $ims.ConvertVirtualHardDisk($diskName, $vhdastext)
$result
Create dif f erence disk - Creates a difference disk from the master image generated by consolidating the master image.
T he difference disk is then attached to a new VM.
CreateVirtualHardDisk on the root\virtualization\v2 namespace
Example:
Download identity disks - As with uploads, the identity disks pass though the Hyper-V machine to the HCL. T he
following process creates a folder that only has VMM user permissions on the Hyper-V server if it does not exist.
1. T he HyperV machine copies the disk from the SMB storage to local Hyper-V storage through a PowerShell script
running in the PowerShell V3 remote session.
2. HCL reads the disk from the Hyper-V machine's administrator share into memory.
3. HCL deletes the file from the administrator share.
Personal vDisk creation - If the administrator creates the VM in a Personal vDisk machine catalog, you must create an
empty disk (PvD).
T he call to create an empty disk does not require direct access to the storage. If you have PvD disks that reside on
different storage than the main or operating system disk, then the use remote PowerShell to create the PvD in a
directory folder that has the same name of the VM from which it was created. For CSV or LocalStorage, do not use
remote PowerShell. Creating the directory before creating an empty disk avoids VMM command failure.
Install vCenter Server and the appropriate management tools. (No support is provided for vSphere vCenter Linked Mode
operation.)
If you plan to use MCS, do not disable the Datastore Browser feature in vCenter Server (described in
https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2101567). If you
disable this feature, MCS does not work correctly.
Required privileges
Create a VMware user account and one or more VMware roles with a set or all of the privileges listed below. Base the roles'
creation on the specic level of granularly required over the users permissions to request the various XenApp or
XenDesktop operations at any time. To grant the user specic permissions at any point, associate them with the respective
role, at the DataCenter level at a minimum.
T he following tables show the mappings between XenApp and XenDesktop operations and the minimum required VMware
privileges.
vSphere 5.0, Update 2 and vSphere 5.1, Update 1: Virtual machine > State
> Create snapshot
VirtualMachine.State.CreateSnapshot
vSphere 5.5: Virtual machine > Snapshot management > Create
snapshot
If you want the VMs you create to be tagged, add the following permissions for the user account:
To ensure that you use a clean base image for creating new VMs, tag VMs created with Machine Creation Services to
exclude them from the list of VMs available to use as base images.
Power management
Create AppDisks (valid for VMware vSphere minimum version 5.5 and XenApp and XenDesktop minimum version 7.8)
Delete AppDisks (valid for VMware vSphere minimum version 5.5 and XenApp and XenDesktop minimum version 7.8 )
If you are unable to use a digital certicate issued from a certicate authority, and your organization's security policy
permits it, you can use the VMware-installed self-signed certicate. Add the VMware vCenter certicate to each Controller.
Follow this procedure:
1. Add the fully qualified domain name (FQDN) of the computer running vCenter Server to the hosts file on that server,
located at %SystemRoot%/WINDOWS/system32/Drivers/etc/. T his step is required only if the FQDN of the computer
running vCenter Server is not already present in the domain name system.
2. Obtain the vCenter certificate using any of the following methods:
From the vCenter server:
1. Copy the file rui.crt from the vCenter server to a location accessible on your Delivery Controllers.
2. On the Controller, navigate to the location of the exported certificate and open the rui.crt file.
Download the certificate using a web browser. If you are using Internet Explorer, depending on your user account,
you may need to right-click on Internet Explorer and choose Run as Administrator to download or install the
certificate.
1. Open your web browser and make a secure web connection to the vCenter server; for example
https://server1.domain1.com
2. Accept the security warnings.
3. Click on the address bar where it shows the certificate error.
4. View the certificate and click on the Details tab.
5. Select Copy to file and export in .CER format, providing a name when prompted to do so.
6. Save the exported certificate.
7. Navigate to the location of the exported certificate and open the .CER file.
Import directly from Internet Explorer running as an administrator:
1. Open your web browser and make a secure web connection to the vCenter server; for example
https://server1.domain1.com.
2. Accept the security warnings.
3. Click on the address bar where it shows the certificate error.
4. View the certificate.
Import the certificate into the certificate store on each of your Controllers:
1. Click Install certificate, select Local Machine, and then click Next.
2. Select Place all certificates in the following store, and then click Browse.
3. If you are using Windows Server 2008 R2:
1. Select the Show physical stores check box.
2. Expand T rusted People.
Create a master VM
If you are using Studio to create VMs, rather than selecting an existing Machine Catalog, specify the following information
when setting up your hosting infrastructure to create virtual desktops.
1. Select the VMware vSphere host type.
2. Enter the address of the access point for the vCenter SDK.
3. Enter the credentials for the VMware user account you set up earlier that has permissions to create new VMs. Specify
the username in the form domain/username.
T he VMware SSL thumbprint feature addresses a frequently-reported error when creating a host connection to a VMware
vSphere hypervisor. Previously, administrators had to manually create a trust relationship between the Delivery Controllers in
the Site and the hypervisor's certicate before creating a connection. T he VMware SSL thumbprint feature removes that
manual requirement: the untrusted certicate's thumbprint is stored on the Site database so that the hypervisor can be
continuously identied as trusted by XenApp or XenDesktop, even if not by the Controllers.
When creating a vSphere host connection in Studio, a dialog box allows you to view the certicate of the machine you are
connecting to. You can then choose whether to trust it.
Citrix Connector 7.5 f or Conf iguration Manager 2012 Citrix Connector provides a bridge between Configuration
Manager and XenApp or XenDesktop. T he Connector enables you to unify day-to-day operations across the physical
environments you manage with Configuration Manager and the virtual environments you manage with XenApp or
XenDesktop. For information about the Connector, see Citrix Connector 7.5 for System Center Configuration Manager
2012 .
Conf iguration Manager Wake Proxy f eature T he Remote PC Access Wake on LAN feature requires Configuration
Manager. For more information, see below.
XenApp and XenDesktop properties XenApp and XenDesktop properties enable you to identify Citrix virtual
desktops for management through Configuration Manager. T hese properties are automatically used by the Citrix
Connector but can also be manually configured, as described in the following section.
Properties
Properties are available to Microsoft System Center Conguration Manager to manage virtual desktops.
Boolean properties displayed in Conguration Manager may appear as 1 or 0, not true or false.
T he properties are available for the Citrix_virtualDesktopInfo class in the Root\Citrix\DesktopInformation namespace.
Property names come from the Windows Management Instrumentation (WMI) provider.
Property Description
IsAssigned True to assign the desktop to a user, set to False for a random desktop.
OSChangesPersist False if the desktop operating system image is reset to a clean state every time it is
restarted; otherwise, true.
PersistentDataLocation T he location where Conguration Manager stores persistent data. T his is not accessible
to users.
PersonalvDiskDriveLetter For a desktop with a Personal vDisk, the drive letter you assign to the Personal vDisk.
BrokerSiteName, Determined when the desktop registers with the Controller; they are null for a desktop
DesktopCatalogName, that has not fully registered.
DesktopGroupName,
HostIdentier
To collect the properties, run a hardware inventory in Conguration Manager. To view the properties, use the Conguration
Manager Resource Explorer. In these instances, the names may include spaces or vary slightly from the property names. For
example, BrokerSiteName may appear as Broker Site Name.
Configure Configuration Manager to collect Citrix WMI properties from the Citrix VDA
Create query-based device collections using Citrix WMI properties
Create global conditions based on Citrix WMI properties
Use global conditions to define application deployment type requirements
You can also use Microsoft properties in the Microsoft class CCM_DesktopMachine in the Root\ccm_vdi namespace. For
more information, see the Microsoft documentation.
To congure the Remote PC Access Wake on LAN feature, complete the following before installing a VDA on the ofce
PCs and using Studio to create or update the Remote PC Access deployment:
Configure ConfigMgr 2012, 2012 R2, or 2016 within the organization. T hen deploy the ConfigMgr client to all Remote PC
Access machines, allowing time for the scheduled SCCM inventory cycle to run (or force one manually, if required). T he
access credentials you specify in Studio to configure the connection to ConfigMgr must include collections in the scope
and the Remote T ools Operator role.
For Intel Active Management T echnology (AMT ) support:
T he minimum supported version on the PC must be AMT 3.2.1.
After you install the VDA on office PCs, enable or disable power management when you create the Remote PC Access
deployment in Studio.
If you enable power management, specify connection details: the ConfigMgr address and access credentials, plus a
name.
If you do not enable power management, you can add a power management (Configuration Manager) connection later
and then edit a Remote PC Access machine catalog to enable power management and specify the new power
management connection.
You can edit a power management connection to congure the use of the CongMgr Wake Proxy and magic packets, as
well as change the packet transmission method.
Install and register the Nutanix plugin in your XenApp or XenDesktop environment.
Create a connection to the Nutanix Acropolis hypervisor.
Create a Machine Catalog that uses a snapshot of a master image you created on the Nutanix hypervisor.
For more information, see the Nutanix Acropolix MCS Plugin Installation Guide, available at the Nutanix Support Portal:
https://portal.nutanix.com.
1. Obtain the Nutanix plugin from Nutanix, and install it on the Delivery Controllers.
2. Verify that a Nutanix Acropolis folder has been created in C:\Program Files\Common
Files\Citrix\HCLPlugins\CitrixMachineCreation\v1.0.0.0.
3. Run C:\Program Files\Common Files\Citrix\HCLPlugins\RegisterPlugin.exe PluginRoot C:\Program Files\Common
Files\Citrix\HCLPlugins\CitrixMachineCreation\v1.0.0.0.
4. Restart the Citrix Host Service, Citrix Broker Service, and Citrix Machine Creation Service.
5. Run the following PowerShell cmdlets to verify that the Nutanix Acropolis plugin has been registered:
Add-PSSnapin Citrix*
Get-HypHypervisorPlugin
In the Site Setup or Add Connection and Resources wizard, select the Nutanix connection type on the Connection page,
and then specify the hypervisor address and credentials, plus a name for the connection. On the Network page, select a
network for the hosting unit.
For information about master images in general, see the Create Machine Catalogs article.
For Nutanix procedures for creating images and snapshots, see the Nutanix documentation referenced above.
T he Operating System and Machine Management pages do not contain Nutanix-specic information. Follow the
guidance in the Create Machine Catalogs article.
On the Container page, which is unique to Nutanix, select the container where the VMs' disks will be placed.
On the Master Image page, select the image snapshot. Acropolis snapshot names must be prexed with "XD_" to be used
in XenApp and XenDesktop. Use the Acropolis console to rename your snapshots, if needed. If you rename snapshots,
restart the Create Catalog wizard to see a refreshed list.
On the Virtual Machines page, indicate the number of virtual CPUs and the number of cores per vCPU.
T he Network Cards, Computer Accounts, and Summary pages do not contain Nutanix-specic information. Follow the
guidance in the Create Machine Catalogs article.
Important
Ensure that you download and use the 7.14.1 XenApp and XenDesktop ISO and VDAs. (T he le name contains the version number.)
Do not use the original 7.14 versions.
T he core components are the Delivery Controller, Studio, Director, StoreFront, and License Server.
Important: Before you start an installation, review Prepare to install. Also, review this article before starting an installation.
T his article describes the installation wizard sequence when installing core components. Command-line equivalents are
provided. For more information, see Install using the command line.
Log on to the machine where you are installing the core components, using a local administrator account.
Insert the DVD in the drive or mount the ISO le. If the installer does not launch automatically, double-click the AutoSelect
application or the mounted drive.
(If the machine already has XenApp or XenDesktop components installed on it, this page does not appear.)
If you've already installed a Controller (on this machine or another) and want to install another component, select the
component from the Extend Deployment section.
Location: By default, components are installed in C:\Program Files\Citrix. T he default is fine for most deployments. If
you specify a different location, it must have execute permissions for network service.
Components: By default, the check boxes for all core components are selected. Installing all core components on one
server is fine for proof of concept, test, or small production deployments. For larger production environments, Citrix
recommends installing Director, StoreFront, and the License Server on separate servers.
Select only the components you want to install on this machine. After you install components on this machine, you
can run the installer again on other machines to install other components.
An icon alerts you when you choose not to install a required core component on this machine. T hat alert reminds you
to install that component, although not necessarily on this machine.
Click Next.
Choose whether to install Microsoft SQL Server Express for use as the Site database. By default, this selection is
enabled. If you're not familiar with the XenApp and XenDesktop databases, review Databases.
When you install Director, Windows Remote Assistance is installed automatically. You choose whether to enable
shadowing in Windows Remote Assistance for use with Director user shadowing. Enabling shadowing opens T CP port
3389. By default, this feature is enabled. T he default setting is fine for most deployments. T his feature appears only
Click Next.
Command-line options: /nosql (to prevent installation), /no_remote_assistance (to prevent enabling)
By default, the ports on the Firewall page are opened automatically if the Windows Firewall Service is running, even if the
rewall is not enabled. T he default setting is ne for most deployments. For port information, see Network ports.
Click Next.
(T he graphic shows the port lists when you install all the core components on this machine. T hat type of installation is
usually done only for test deployments.)
When installing or upgrading a Delivery Controller, the Smart Agent page offers several options:
Enable connections to Smart T ools and Call Home. T his is the recommended selection.
Enable connections to Call Home. During an upgrade, this option does not appear if Call Home is already enabled or if
the installer encounters an error related to the Citrix T elemetry Service.
Do not enable connections to Smart T ools or Call Home.
If you install StoreFront (but not a Controller), the wizard displays the Call Home page, which allows you to participate in
Call Home. If you install other core components (but not a Controller or StoreFront), the wizard does not display either the
Smart Tools or Call Home pages.
If you choose an option to enable connections to Smart Tools and/or Call Home:
1. Click Connect.
2. Provide your Citrix or Citrix Cloud credentials.
3. After your credentials are validated, the process downloads a Smart Agent certificate. After this completes successfully,
a green check mark appears next to the Connect button. If an error occurs during this process, change your
participation selection (to "I do not want to "). You can enroll later.
4. Click Next to continue with the installation wizard.
Click Finish.
Next steps
After you install all the required core components, use Studio to create a Site.
At any time, you can use the full-product installer to extend your deployment with the following components:
Universal Print Server server component: Launch the installer on the print server. Select Universal Print Server in the
Extend Deployment section. Accept the license agreement, then proceed to the end of the wizard. T here is nothing else
to specify or select. T o install this component form the command line, see Install using the command line.
Federated Authentication Service: See Federated Authentication Service.
Self-Service Password Reset Service: See the current Self-Service Password Reset Service documentation.
Important
Ensure that you download and use the 7.14.1 XenApp and XenDesktop ISO and VDAs. (T he le name contains the version number.)
Do not use the original 7.14 versions.
T here are two types of VDAs for Windows machines: VDA for Server OS and VDA for Desktop OS. (For information about
VDAs for Linux machines, see the Linux Virtual Delivery Agent documentation.)
Important: Before you start an installation, review Prepare to install. For example, the machine should have the latest
Windows updates. If required updates are not present (such as KB2919355), installation fails.
Before installing VDAs, you should have already installed the core components. You can also create the Site before
installing VDAs.
T his article describes the installation wizard sequence when installing a VDA. Command-line equivalents are provided. For
details, see Install using the command line.
Use your Citrix account credentials to access the XenApp and XenDesktop download page. Download the appropriate
package:
Click Start next to the product to install: XenApp or XenDesktop. (If the machine already has a XenApp or XenDesktop
component installed, this page does not appear.)
For example, when you run the installer on a Windows 10 machine, the VDA for Desktop OS option is available. T he VDA for
Server OS option is not offered.
Master image: (default) You are installing the VDA on a machine image. You plan to use Citrix tools (Machine Creation
Services or Provisioning Services) to create VMs from that master image.
Enable connections to a server machine (if installing on a server) or Remote PC Access (if installing on a desktop
machine): You are installing the VDA on a physical machine or on a VM that was provisioned without a VDA. If you
choose the Remote PC Access option, the following components are not installed/enabled:
App-V
User Profile Manager
Machine Identify Service
Personal vDisk
Click Next.
If you are using the VDAWorkstationCoreSetup.exe installer, this page does not appear in the wizard and the command-line
options are not valid.
T he standard VDA mode is recommended for most desktops, including those enabled with Microsoft RemoteFX. T he
standard VDA mode is the default.
T he HDX 3D Pro VDA mode optimizes the performance of graphics-intensive programs and media-rich applications. HDX
3D Pro VDA mode is recommended if the machine accesses a graphics processor for 3D rendering.
For Remote PC Access, the VDA is usually configured with the standard VDA mode. For Remote PC Access configured
with HDX 3D Pro, monitor blanking is supported with
Intel Iris Pro graphics and Intel HD graphics 5300 and above (5th Generation Intel Core Processors and 6th Generation
Intel Core i5 Processors)
NVIDIA Quadro and NVIDIA GRID GPUs
AMD RapidFire
Usually best for virtual desktops without graphics Usually best for data center desktops with graphics
hardware acceleration, and for Remote PC Access. hardware acceleration, unless more than four monitors are
necessary.
Any GPU can be used for Remote PC Access, with some Supports GPU acceleration with any GPU. However, console
app compatibility limitations: blanking, non-standard screen resolutions and true multi-
monitor support require NVIDIA GRID, Intel Iris Pro, or AMD
On Windows 7, 8, and 8.1, GPU acceleration for
RapidFire graphics.
DirectX feature levels up to 9.3. Some DirectX 10, 11,
12 applications may not run if they do not tolerate Leverages graphics vendor's driver for broadest application
fallback to DirectX 9. compatibility:
H.264 hardware encoding available with Intel Iris Pro H.264 hardware encoding available with Intel Iris Pro
graphics processors. graphics processors and NVIDIA cards.
Click Next .
Location: By default, components are installed in C:\Program Files\Citrix. T his default is fine for most deployments. If
you specify a different location, that location must have execute permissions for network service.
Click Next.
Command-line options: /installdir, "/components vda" to prevent Citrix Receiver for Windows installation
T he Additional Components page contains check boxes to enable or disable installation of other features and
technologies with the VDA. T his page does not appear if:
You are using the VDAWorkstationCoreSetup.exe installer. Also, the command-line options for the additional
components are not valid with that installer.
You are upgrading a VDA and all the additional components are already installed. (If some of the additional components
are already installed, the page lists only components that are not installed.)
Install this component if you use applications from Microsoft App-V packages. For details, see App-V.
Command-line option: /exclude "Citrix Personalization for App-V VDA" to prevent component installation
Valid only when installing a VDA for Desktop OS on a VM. Installs components used for AppDisk and Personal vDisk.
Command-line option: /exclude "Personal vDisk" to prevent AppDisk and Personal vDisk component installation
T his component manages user personalization settings in user proles. For details, see Prole Management.
Excluding Citrix Prole management from the installation affects the monitoring and troubleshooting of VDAs with
Citrix Director. On the User details and EndPoint pages, the Personalization panel and the Logon Duration panel fail.
On the Dashboard and Trends pages, the Average Logon Duration panel display data only for machines that have
Prole management installed.
Even if you are using a third-party user prole management solution, Citrix recommends that you install and run the
Citrix Prole management Service. Enabling the Citrix Prole management Service is not required.
Command-line option: /exclude "Citrix User Prole Manager" to prevent component installation
T his plug-in provides Prole management runtime information in WMI (Windows Management Instrumentation)
objects (for example, prole provider, prole type, size, and disk usage). WMI objects provide session information to
Director.
Command-line option: /exclude "Citrix User Prole Manager WMI Plugin" to prevent component installation
T his service prepares the master image for a MCS-provisioned catalog. T he service also manages each provisioned
machine's unique Active Directory identity.
If you select "Create a master image" on the Environment page (Step 4), items on the Additional Components page
are enabled by default.
If you select "Enable Remote PC Access" or "Enable connections to a server machine" on the Environment page, items
on the Additional Components page are disabled by default.
Do it manually: (default): Enter the FQDN of an installed Controller and then click Add. If you've installed additional
Controllers, add their addresses.
Do it later (Advanced): If you choose this option, the wizard asks you to confirm that's what you want to do before
continuing. T o specify addresses later, you can either rerun the installer or use Citrix Group Policy. T he wizard also
reminds you on the Summary page.
Choose locations f rom Active Directory: Valid only when the machine is joined to a domain and the user is a domain
user.
Let Machine Creation Services do it automatically: Valid only when using MCS to provision machines.
Click Next. If you selected "Do it later (Advanced)," you are prompted to conrm that you will specify Controller addresses
later.
Other considerations:
T he address cannot contain the characters { | } ~ [ \ ] ^ ' : ; < = > ? & @ ! " # $ % ( ) + / ,
If you specify addresses during VDA installation and in Group Policy, the policy settings override settings provided during
installation.
Successful VDA registration requires that the firewall ports used to communicate with the Controller are open. T hat
action is enabled by default on the Firewall page of the wizard.
After you specify Controller locations (during or after VDA installation), you can use the auto-update feature to update
the VDAs when Controllers are added or removed. For details about how VDAs discover and register with Controllers, see
Delivery Controllers.
On the Features page, use the check boxes to enable or disable features you want to use.
Valid only when installing a VDA on a VM, not a physical machine. When this feature is enabled (default), the
optimization tool is used for VDAs running in a VM on a hypervisor. VM optimization includes disabling ofine les,
disabling background defragmentation, and reducing event log size. For details, see CT X125874.
If you are using the VDAWorkstationCoreSetup.exe installer, this feature does not appear in the wizard and the
command-line option is not valid. If you are using another installer in a Remote PC Access environment, disable this
feature.
When this feature is enabled, Windows Remote Assistance is used with the user shadowing feature of Director.
Windows Remote Assistance opens the dynamic ports in the rewall. (Default = disabled)
Enable this feature if voice-over-IP is widely used in your network. T he feature reduces latency and improves audio
resilience over lossy networks. It allows audio data to be transmitted using RT P over UDP transport. (Default =
disabled)
Framehawk:
When this feature is enabled, bidirectional UDP ports 3224-3324 are opened. (Default = disabled)
You can change the port range later with the "Framehawk display channel port range" Citrix policy setting. You must
then open local rewall ports. A UDP network path must be open on any internal (VDA to Citrix Receiver or NetScaler
Gateway) and external (NetScaler Gateway to Citrix Receiver) rewalls. If NetScaler Gateway is deployed, Framehawk
datagrams are encrypted using DT LS (default UDP port 443). For details, see the Framehawk article.
Valid only when installing a VDA for Desktop OS on a VM. T his check box is available only if the Citrix AppDisk /
Personal vDisk check box is selected on the Additional Components page. When this check box is enabled, AppDisks
and Personal vDisks can be used. For details, see AppDisks and Personal vDisks.
If you are using the VDAWorkstationCoreSetup.exe installer, this feature does not appear in the wizard and the
command-line option is not valid.
Click Next.
On the Firewall page, by default, the ports are opened automatically if the Windows Firewall Service is running, even if the
Click Next.
T he Summary page lists what will be installed. Use the Back button to return to earlier wizard pages and change selections.
If prerequisites aren't already installed/enabled, the machine may restart once or twice. See Prepare to install.
After your credentials are validated (or if you choose not to participate), click Next.
Click Finish. By default, the machine restarts automatically. (Although you can disable this automatic restart, the VDA
cannot be used until the machine restarts.)
After you install all VDAs, launch Studio. If you haven't created a Site yet, Studio automatically guides you to that task.
After that's done, Studio guides you to create a machine catalog and then a Delivery Group. See:
Create a Site
Create machine catalogs
Create Delivery Groups
1. From the Windows feature for removing or changing programs, select Citrix Virtual Delivery Agent or Citrix Remote
PC Access/VDI Core Services VDA. T hen right-click and select Change.
2. Select Customize Virtual Delivery Agent Settings. When the installer launches, you can change:
Controller addresses
T CP/IP port to register with the Controller (default = 80)
Whether to open Windows Firewall ports automatically
Troubleshoot
If your deployment uses Microsoft System Center Conguration Manager, a VDA installation might appear to fail with exit
code 3, even though the VDA installed successfully. To avoid the misleading message, you can wrap your installation in a
CMD script or change the success codes in your Conguration Manager package. For more information, see the forum
discussion at http://discussions.citrix.com/topic/350000-sccm-install-of-vda-71-fails-with-exit-code-3/.
In the Studio display for a Delivery Group, the "Installed VDA version" entry in the Details pane might not be the version
installed on the machines. T he machine's Windows Programs and Features display shows the actual VDA version.
Important
Ensure that you download and use the 7.14.1 XenApp and XenDesktop ISO and VDAs. (T he le name contains the version number.)
Do not use the original 7.14 versions.
T his article applies to installing components on machines with Windows operating systems. For information about VDAs for
Linux operating systems, see the Linux Virtual Delivery Agent documentation.
In this article:
Important: T his article describes how to issue product installation commands. Before beginning any installation, review the
Prepare to install article. T hat article includes descriptions of the available installers.
To see command execution progress and return values, you must be the original administrator or use Run as administrator.
For more information, see the Microsoft command documentation.
As a complement to using the installation commands directly, sample scripts are provided on the product ISO that install,
upgrade, or remove VDAs machines in Active Directory. For details, see Install VDAs using scripts.
1. Download the product package from Citrix. Citrix account credentials are required to access the download site.
2. Unzip the file. Optionally, burn a DVD of the ISO file.
3. Log on to the server where you are installing the components, using a local administrator account.
4. Insert the DVD in the drive or mount the ISO file.
5. From the \x64\XenDesktop Setup directory on the media, run the appropriate command.
Run the XenDesktopServerSetup.exe command, with the options listed in Command-line options for installing core
components.
Run the XenDesktopVDASetup.exe command with the options listed in Command-line options for installing a VDA.
Follow the guidance in Install the Universal Print Server using the command line.
Either extract the files from the package to an existing directory first and then run the installation command, or just run
the package.
To extract the les before installing them, use /extract with the absolute path, for example
.\VDAWorkstationCoreSetup.exe /extract %temp%\CitrixVDAInstallMedia. (T he directory must exist. Otherwise, the
extract fails.) T hen in a separate command, run XenDesktopVdaSetup.exe from the directory containing the
extracted content (in the example above, CitrixVDAInstallMedia). Use the valid options in Command-line options for
installing a VDA.
To run the downloaded package, just run its name: VDAServerSetup.exe, VDAWorkstationSetup.exe, or
VDAWorkstationCoreSetup.exe. Use the valid options in Command-line options for installing a VDA.
DESKTOPDIRECTOR: Director
STOREFRONT : StoreFront
If this option is omitted, all components are installed (or removed, if the /remove option is also specied).
/congure_rewall
Opens all ports in the Windows rewall used by the components being installed, if the Windows Firewall Service is
running, even if the rewall is not enabled. If you are using a third-party rewall or no rewall, you must manually open
the ports.
/disableexperiencemetrics
Prevents automatic upload of analytics collected during installation, upgrade, or removal to Citrix.
/exclude
Prevents installation of one or more comma-separated features, services, or technologies, enclosed in quotation
marks. Valid values are:
"Local Host Cache Storage (LocalDB)": Prevents installation of the database used for Local Host Cache. T his option
has no effect on whether or not SQL Server Express is installed for use as the Site database.
"Smart Tools Agent": Prevents installation of the Citrix Smart Tools agent.
/help or /h
/installdir <directory>
Existing empty directory where components will be installed. Default = c:\Program Files\Citrix.
/logpath <path>
/no_remote_assistance
Valid only when installing Director. Disables the user shadowing feature that uses Windows Remote Assistance.
/noreboot
Prevents a restart after installation. (For most core components, a restart is not enabled by default.)
/nosql
Prevents installation of Microsoft SQL Server Express on the server where you are installing the Controller. If this
option is omitted, SQL Server Express is installed for use as the Site database. (T his option has no effect on the
installation of SQL Server Express LocalDB used for Local Host Cache.)
/quiet or /passive
No user interface appears during the installation. T he only evidence of the installation process is in Windows Task
Manager. If this option is omitted, the graphical interface launches.
/remove
/removeall
/sendexperiencemetrics
Automatically sends analytics collected during the installation, upgrade, or removal to Citrix. If this option is omitted
(or /disableexperiencemetrics is specied), the analytics are collected locally, but not sent automatically.
/tempdir <directory>
/xenapp
T he following command installs a XenApp Controller, Studio, and SQL Server Express on the server. Firewall ports required
/baseimage
Valid only when installing a VDA for Desktop OS on a VM. Enables the use of Personal vDisks with a master image. For
details, see Personal vDisk.
For example, to install the VDA but not Citrix Receiver, specify /components vda.
T his option is not valid when using the VDAWorkstationCoreSetup.exe installer. T hat installer cannot install a Citrix
Receiver.
Space-separated FQDNs of Controllers with which the VDA can communicate, enclosed in quotation marks. Do not
specify both the /site_guid and /controllers options.
/disableexperiencemetrics
Prevents the automatic upload of analytics collected during installation, upgrade, or removal to Citrix.
/enable_framehawk_port
/enable_hdx_3d_pro
/enable_hdx_ports
Opens ports in the Windows rewall required by the Controller and enabled features (except Windows Remote
Assistance), if the Windows Firewall Service is detected, even if the rewall is not enabled. If you are using a different
T ip: To open the UDP ports that HDX adaptive transport uses to communicate with the Controller, specify the
/enable_hdx_udp_ports option, in addition to the /enable_hdx_ports option.
/enable_hdx_udp_ports
Opens UDP ports in the Windows rewall that are required by HDX adaptive transport, if the Windows Firewall Service
is detected, even if the rewall is not enabled. If you are using a different rewall or no rewall, you must congure
the rewall manually. For port information, see Network ports.
T ip: To open additional ports that the VDA uses to communicate with the Controller and enabled features, specify
the /enable_hdx_ports option, in addition to the /enable_hdx_udp_ports option.
/enable_real_time_transport
Enables or disables use of UDP for audio packets (Real-T ime Audio Transport for audio). Enabling this feature can
improve audio performance. Include the /enable_hdx_ports option if you want the UDP ports opened automatically
when the Windows Firewall Service is detected.
/enable_remote_assistance
Enables the shadowing feature in Windows Remote Assistance for use with Director. If you specify this option,
Windows Remote Assistance opens the dynamic ports in the rewall.
Prevents installation of one or more comma-separated optional components, enclosed in quotation marks. For
example, installing or upgrading a VDA on an image that is not managed by MCS does not require the Personal vDisk
or Machine Identity Service components. Valid values are:
Personal vDisk
Excluding Citrix Prole management from the installation (using the /exclude "Citrix User Prole Manager" option)
affects monitoring and troubleshooting of VDAs with Citrix Director. On the User details and EndPoint pages, the
Personalization panel and the Logon Duration panel fail. On the Dashboard and Trends pages, the Average Logon
Duration panel display data only for machines that have Prole management installed.
Even if you are using a third-party user prole management solution, Citrix recommends that you install and run the
Citrix Prole management Service. Enabling the Citrix Prole management Service is not required.
T his option is not valid when using the VDAWorkstationCoreSetup.exe installer. T hat installer automatically excludes
/h or /help
/hdxashv2only
/installdir <directory>
Existing empty directory where components will be installed. Default = c:\Program Files\Citrix.
/logpath <path>
Log le location. T he specied folder must exist. T he installer does not create it. Default =
"%T EMP%\Citrix\XenDesktop Installer"
/masterimage
Valid only when installing a VDA on a VM. Sets up the VDA as a master image.
/nocitrixwddm
Valid only on Windows 7 machines that do not include a WDDM driver. Disables installation of the Citrix WDDM driver.
/nodesktopexperience
Valid only when installing a VDA for Server OS. Prevents enabling of the Enhanced Desktop Experience feature. T his
feature is also controlled with the Enhanced Desktop Experience Citrix policy setting.
/noreboot
Prevents a restart after installation. T he VDA cannot be used until after a restart.
/optimize
Valid only when installing a VDA on a VM. Enables optimization for VDAs running in a VM on a hypervisor. VM
optimization includes disabling ofine les, disabling background defragmentation, and reducing event log size. Do not
specify this option for Remote PC Access deployments. For more information, see CT X125874.
Valid only when the /recong option is specied. Port number to enable for communications between the VDA and
the Controller. T he previously congured port is disabled, unless it is port 80.
No user interface appears during the installation. T he only evidence of the installation and conguration process is in
Windows Task Manager. If this option is omitted, the graphical interface launches.
/recong
Customizes previously congured VDA settings when used with the /portnumber, /controllers, or /enable_hdx_ports
options. If you specify this option without also specifying the /quiet option, the graphical interface for customizing
the VDA launches.
/remotepc
Valid only for Remote PC Access deployments. Excludes installation of the following components on a Desktop OS:
Personal vDisk
T his option is not valid when using the VDAWorkstationCoreSetup.exe installer. T hat installer automatically excludes
installation of these components.
/remove
/removeall
/sendexperiencemetrics
Automatically sends analytics collected during the installation, upgrade, or removal to Citrix. If this option is omitted
(or the /disableexperiencemetrics option is specied), the analytics are collected locally, but not sent automatically.
/servervdi
Installs a VDA for Desktop OS on a supported Windows server. Omit this option when installing a VDA for Server OS
on a Windows server. Before using this option, see Server VDI.
T his option should be used only with the full-product VDA installer. T his option is not available in the graphical
interface.
/site_guid <guid>
Globally Unique Identier of the site Active Directory Organizational Unit (OU). T his associates a virtual desktop with a
Site when you are using Active Directory for discovery (auto-update is the recommended and default discovery
method). T he site GUID is a site property displayed in Studio. Do not specify both the /site_guid and /controllers
/tempdir <directory>
/virtualmachine
Valid only when installing a VDA on a VM. Overrides detection by the installer of a physical machine, where BIOS
information passed to VMs makes them appear as physical machines.
T he following command installs a VDA for Desktop OS and Citrix Receiver to the default location on a VM. T his VDA will be
used as a master image. T he VDA will register initially with the Controller on the server named 'Contr-Main' in the domain
'mydomain.' T he VDA will use Personal vDisks, the optimization feature, and Windows Remote Assistance.
T he following command installs a Core Services VDA on a Desktop OS for use in a Remote PC Access or VDI deployment.
Citrix Receiver and other non-core services are not installed. T he address of a Controller is specied, and ports in the
Windows Firewall Service will be opened automatically. T he administrator will handle restarts.
On a supported 32-bit operating system: From the \x86\Universal Print Server\ directory on the Citrix installation media,
run UpsServer_x86.msi.
On a supported 64-bit operating system: From the \x64\Universal Print Server\ directory on the Citrix installation media,
run UpsServer_x64 .msi.
After you install the Universal Print Server component on your print servers, congure it using the guidance in Provision
printers.
T he installation media contains sample scripts that install, upgrade, or remove Virtual Delivery Agents (VDAs) for machines in
Active Directory. You can also use the scripts to maintain master images used by Machine Creation Services and Provisioning
Services.
Required access:
T he scripts need Everyone Read access to the network share where the VDA installation command is located. T he
installation command is XenDesktopVdaSetup.exe in the full product ISO, or VDAWorkstationSetup.exe or
VDAServerSetup.exe in a standalone installer.
Logging details are stored on each local machine. T o log results centrally for review and analysis, the scripts need
Everyone Read and Write access to the appropriate network share.
To check the results of running a script, examine the central log share. Captured logs include the script log, the installer log,
and the MSI installation logs. Each installation or removal attempt is recorded in a time-stamped folder. T he folder title
indicates the operation result with the prex PASS or FAIL. You can use standard directory search tools to nd a failed
installation or removal in the central log share. T hose tools offer an alternative to searching locally on the target machines.
Important: Before beginning any installation, read and complete the tasks in Prepare to install.
Troubleshoot
T he script generates internal log les that describe script execution progress. T he script copies a
Kickoff_VDA_Startup_Script log to the central log share within seconds of starting the deployment. You can verify that
the overall process is working. If this log is not copied to the central log share as expected, troubleshoot further by
inspecting the local machine. T he script places two debugging log les in the %temp% folder on each machine:
Kickoff_VDA_Startup_Script_<DateT imeStamp>.log
VDA_Install_ProcessLog_<DateT imeStamp>.log
Running as expected.
Properly detecting the target operating system.
Correctly configured to point to the ROOT of the DEPLOYSHARE share (contains the file named AutoSelect.exe).
Capable of authenticating to both the DEPLOYSHARE and LOG shares.
When you create a Site, you are automatically enrolled in the Citrix Customer Experience Improvement Program (CEIP). CEIP
collects anonymous statistics and usage information, and then sends it to Citrix. T he rst data package is sent to Citrix
approximately seven days after you create the Site. You can change your enrollment at any time after Site creation. Select
Conguration in the Studio navigation pane, then the Product Support tab, and follow the guidance. For details, see
http://more.citrix.com/XD-CEIP.
T he user who creates a Site becomes a full administrator; for more information, see Delegated Administration.
Review this article before you start the Site creation wizard.
To create a Site:
Open Studio if it is not already open. You are automatically guided to the action that starts the Site creation wizard. T he
wizard pages cover the following conguration:
Application and desktop delivery Site. When you create an application and desktop delivery Site, you can further
choose to create a full deployment Site (recommended) or an empty Site. An empty Site is only partially configured, and
is usually created by advanced administrators.
Remote PC Access Site. A Remote PC Access Site allows designated users to remotely access their office PCs through
a secure connection.
If you create an application and desktop delivery deployment now, you can add a Remote PC Access deployment later.
Conversely, if you create a Remote PC Access deployment now, you can add a full deployment later.
Type a name for the Site. After the Site is created, its name appears at the top of the Studio navigation pane: Citrix
Studio (site-name).
Databases
T he Databases page contains selections for setting up the Site, Monitoring, and Conguration Logging databases. For
details about database setup choices and requirements, see Databases.
If you choose to install SQL Server Express for use as the Site database (the default), a restart occurs after that software
is installed. T hat restart does not occur if you choose not to install the SQL Server Express software for use as the Site
database.
If you are not using the default SQL Server Express, ensure the SQL Server software is installed on the machines before
creating a Site. System requirements lists the supported versions.
If you want to add more Controllers to the Site, and have already installed the Controller software on other servers, you
Licensing
Consider whether you will use existing licenses or the 30-day free trial that allows you to add license les later. You can also
add or download license les from within the Site creation wizard. For details, see the Licensing documentation.
Specify the License Server address in the form name:[port ]. T he name must be an FQDN, NetBIOS, or IP address. FQDN is
recommended. If you omit the port number, the default is 27000. Click Connect. You cannot proceed to the next page in
the wizard until a successful connection is made to the License Server.
If you are using VMs on a hypervisor or cloud service to deliver applications and desktops, you can optionally create the rst
connection to that host. You can also specify storage and network resources for that connection. After creating the Site,
you can modify this connection and resources, and create more connections. For details, see Connections and resources.
If you are not using VMs on a hypervisor or cloud service (or if you use Studio to manage desktops on dedicated blade
PCs), select the connection type None.
If you are conguring a Remote PC Access Site and plan to use the Wake on LAN feature, select the Microsof t
System Center Conguration Manager type.
In addition to the connection type, specify whether you will use Citrix tools (such as Machine Creation Services) or other
tools to create VMs.
Storage and Network pages: See Host storage, Storage management, and Storage selection for details about storage
types and management methods.
Additional Features
You can select features to customize your Site. When you select the check box for an item that requires information, a
conguration box appears.
AppDNA Integration
Valid if you use AppDisks and have installed AppDNA. AppDNA integration allows analysis of applications in the
AppDisks. You can then review compatibility issues and take remedial actions to resolve those issues. For more
information, see AppDisks.
App-V Publishing
Select this feature if you use applications from Microsoft App-V packages on App-V servers. Provide the URL of the
App-V management server and the URL and port number of the App-V publishing server.
If you use applications from App-V packages on network share locations only, you do not need to select this feature.
Remote PC Access
If you use the Wake on LAN feature, complete the conguration steps on the Microsoft System Center Conguration
Manager before creating the Site. For details, see Microsoft System Center Conguration Manager.
If you're using the Wake on LAN feature, specify the Microsoft System Center Configuration Manager address,
credential, and connection information on the Power Management page.
Specify users or user groups on the Users page. T here is no default action that automatically adds all users. Also, specify
machine accounts (domain and OU) information on the Machine Accounts page.
To add user information, click Add Users. Select users and user groups, and then click Add users.
To add machine accounts information, click Add machine accounts. Select the machine accounts, and then click Add
machine accounts. Click Add OUs. Select the domain and Organizational Units, and indicate whether to include items
in subfolders. Click Add OUs.
When you create a Remote PC Access Site, a machine catalog named Remote PC User Machine Accounts is created
automatically. T he catalog contains all the machine accounts you added in the Site creation wizard. A Delivery Group
named Remote PC User Desktops is created automatically. T he group contains all the users and user groups you added.
Summary
T he last page of the Site creation wizard summarizes the information you specied. Use the Back button if you want to
change anything. When you're nished, click Create and the Site creation begins.
T he site test functionality might fail for a Controller installed on Windows Server 2016. T he failure occurs when a local SQL
Server Express is used for the Site database and the SQL Server Browser service is not started. To avoid this failure,
complete the following tasks.
1. Enable the SQL Server Browser service (if necessary) and then start it.
2. Restart the SQL Server (SQLEXPRESS) service.
Troubleshoot
After conguring the Site, you can install Studio and add it through the MMC as a snap-in on a remote machine. If you later
attempt to remove that snap-in, the MMC might stop responding. As a workaround, restart the MMC.
Studio guides you to create the rst machine catalog after you create the Site. After you create the rst catalog, Studio
guides you to create the rst Delivery Group. Later, you can change the catalog you created, and create more catalogs.
Overview
When you create a catalog of VMs, you specify how to provision those VMs. You can use Citrix tools such as Machine
Creation Services (MCS) or Provisioning Services (PVS). Or, you can use your own tools to provide machines.
If you use PVS to create machines, see the Provisioning Services documentation for instructions.
If you use MCS to provision VMs, you provide a master image (or snapshot) to create identical VMs in the catalog.
Before you create the catalog, you first use hypervisor or cloud service tools to create and configure the master image.
T his process includes installing a Virtual Delivery Agent (VDA) on the image. T hen you create the machine catalog in
Studio. You select that image (or a snapshot of an image), specify the number of VMs to create in the catalog, and
configure additional information.
If your machines are already available (so you do not need master images), you must still create one or more machine
catalogs for those machines.
When using MCS or PVS to create the rst catalog, you use the host connection that you congured when you created
the Site. Later (after you create your rst catalog and Delivery Group), you can change information about that connection
or create more connections.
After you complete the catalog creation wizard, tests run automatically to ensure that it is congured correctly. When the
tests complete, you can view a test report. You can run the tests at any time from Studio.
Tip: If you are creating a catalog using the PowerShell SDK directly, you can specify a hypervisor template (VMTemplates),
rather than an image or a snapshot.
A VDA must be registered with a Delivery Controller to be considered when launching brokered sessions. Unregistered VDAs
can result in underutilization of otherwise available resources. T here are a variety of reasons a VDA might not be registered,
many of which an administrator can troubleshoot. Studio provides troubleshooting information in the catalog creation
wizard, and after you add a catalog to a Delivery Group.
In the catalog creation wizard, after you add existing machines, the list of computer account names indicates whether
each machine is suitable for adding to the catalog. Hover over the icon next to each machine to display an informative
message about that machine.
If the message identies a problematic machine, you can either remove that machine (using the Remove button), or add
the machine. For example, if a message indicates that information could not be obtained about a machine (perhaps
because it had never registered with a Delivery Controller), you might choose to add the machine anyway.
Here's a brief overview of default MCS actions after you provide information in the catalog creation wizard.
If you selected a master image (rather than a snapshot), MCS creates a snapshot.
MCS creates a full copy of the snapshot and places the copy on each storage location defined in the host connection.
MCS adds the machines to Active Directory, which creates unique identities.
MCS creates the number of VMs specified in the wizard, with two disks defined for each VM. In addition to the two
disks per VM, a master is also stored in the same storage location. If you have multiple storage locations defined, each
gets the following disk types:
T he full copy of the snapshot (noted above), which is read-only and shared across the just-created VMs.
A unique 16 MB identity disk that gives each VM a unique identity. Each VM gets an identity disk.
A unique difference disk to store writes made to the VM. T his disk is thin provisioned (if supported by the host
storage) and increases to the maximum size of the master image, if necessary. Each VM gets a difference disk. T he
difference disk holds changes made during sessions. It is permanent for dedicated desktops. For pooled desktops, it is
deleted and a new one created after each restart.
Alternatively, when creating VMs to deliver static desktops, you can specify (on the Machines page of the catalog creation
wizard) thick (full copy) VM clones. Full clones do not require retention of the master image on every data store. Each VM
has its own le.
T he master image contains the operating system, non-virtualized applications, VDA, and other software.
Good to know:
A master image might also be known as a clone image, golden image, base VM, or base image. Host vendors and cloud
service providers may use different terms.
When using PVS, you can use a master image or a physical computer as the master target device. PVS uses different
terminology than MCS to refer to images; see the Provisioning Services documentation for details.
Ensure that the hypervisor or cloud service has enough processors, memory, and storage to accommodate the number
of machines created.
Configure the correct amount of hard disk space needed for desktops and applications. T hat value cannot be changed
later or in the machine catalog.
Remote PC Access machine catalogs do not use master images.
Microsoft KMS activation considerations when using MCS: If your deployment includes 7.x VDAs with a XenServer 6.1 or
6.2, vSphere, or Microsoft System Center Virtual Machine Manager host, you do not need to manually re-arm Microsoft
Windows or Microsoft Office. If your deployment includes a 5.x VDA with a XenServer 6.0.2 host, see CT X128580.
Install and configure the following software on the master image:
Important: If you are using PVS or MCS, do not run Sysprep on master images.
1. Using your hypervisors management tool, create a master image and then install the operating system, plus all service packs and updates.
Specify the number of vCPUs. You can also specify the vCPU value if you create the machine catalog using PowerShell. You cannot specify
the number of vCPUs when creating a catalog using Studio. Configure the amount of hard disk space needed for desktops and applications.
That value cannot be changed later or in the catalog.
2. Ensure that the hard disk is attached at device location 0. Most standard master image templates configure this location by default, but
some custom templates might not.
3. Install and configure the software listed above on the master image.
4. When using PVS, create a VHD file for the vDisk from your master target device before you join the master target device to a domain. See
the Provisioning Services documentation for details.
5. If you are not using MCS, join the master image to the domain where applications and desktops are members. Ensure that the master
image is available on the host where the machines are created. If you are using MCS, joining the master image to a domain is not required.
The provisioned machines are joined to the domain specified in the catalog creation wizard.
6. Citrix recommends that you create and name a snapshot of your master image so that it can be identified later. If you specify a master
image rather than a snapshot when creating a catalog, Studio creates a snapshot, but you cannot name it.
When using XenServer for your hosting infrastructure, GPU-capable machines require a dedicated master image. T hose VMs
require video card drivers that support GPUs. Congure GPU-capable machines to allow the VM to operate with software
that uses the GPU for operations.
Important: If you are using a master image, ensure that you have installed a VDA on the image before creating the
catalog.
From Studio:
If you already created a Site but havent yet created a machine catalog, Studio guides you to the correct starting place
to create a catalog.
If you already created a catalog and want to create another, select Machine Catalogs in the Studio navigation pane.
T hen select Create Machine Catalog in the Actions pane.
T he wizard walks you through the items described below. T he wizard pages you see may differ, depending on the selections
you make.
Operating system
Server OS: A Server OS catalog provides hosted shared desktops and applications. T he machines can be running
supported versions of the Windows or Linux operating systems, but the catalog cannot contain both. (See the Linux
VDA documentation for details about that OS.)
Desktop OS: A Desktop OS catalog provides VDI desktops and applications that can be assigned to various different
users.
Remote PC Access: A Remote PC Access catalog provides users with remote access to their physical office desktop
machines. Remote PC Access does not require a VPN to provide security.
Machine management
T his page does not appear when you are creating Remote PC Access catalogs.
T he Machine Management page indicates how machines are managed and which tool you use to deploy machines.
Choose whether or not machines in the catalog will be power managed through Studio.
Machines are power managed through Studio or provisioned through a cloud environment, for example, VMs or blade
PCs. T his option is available only if you already configured a connection to a hypervisor or cloud service.
Machines are not power managed through Studio, for example, physical machines.
If you indicated that machines are power managed through Studio or provisioned through a cloud environment, choose
which tool to use to create VMs.
Citrix Machine Creation Services (MCS) Uses a master image to create and manage virtual machines. Machine
catalogs in cloud environments use MCS. MCS is not available for physical machines.
Citrix Provisioning Services (PVS) Manages target devices as a device collection. A PVS vDisk imaged from a master
target device delivers desktops and applications. T his option is not available for cloud deployments.
Other A tool that manages machines already in the data center. Citrix recommends that you use Microsoft System
Center Configuration Manager or another third-party application to ensure that the machines in the catalog are
consistent.
T he Desktop Experience page determines what occurs each time a user logs on. Select one of:
Users connect to a new (random) desktop each time they log on.
Users connect to the same (static) desktop each time they log on.
If you choose the second option and are using PVS to provision the machines, you can congure how user changes to the
desktop are handled:
Master image
T his page appears only when you are using MCS to create VMs.
Select the connection to the host hypervisor or cloud service, and then select the snapshot or VM created earlier. If you are
creating the rst catalog, the only available connection will be the one you congured when you created the Site.
Remember:
When you are using MCS or PVS, do not run Sysprep on master images.
If you specify a master image rather than a snapshot, Studio creates a snapshot, but you cannot name it.
To enable use of the latest product features, ensure the master image has the latest VDA version installed. Do not change
the default minimum VDA selection. However, if you must use an earlier VDA version, see VDA versions and functional levels.
An error message appears if you select a snapshot or VM that is not compatible with the machine management technology
you selected earlier in the wizard.
When you are using a cloud service or platform to host VMs (such as Azure Resource Manager, Nutanix, or Amazon Web
Services), the catalog creation wizard may contain additional pages specic to that host.
Device Collection
T his page appears only when using PVS to create VMs. It displays the device collections and the devices that have not
already been added to catalogs.
Select the device collections to use. See the Provisioning Services documentation for details.
Machines
T his page does not appear when you are creating Remote PC Access catalogs.
T he title of this page depends on what you selected on the Machine Management page: Machines, Virtual Machines, or
VMs and users.
T he Devices page lists the machines in the device collection that you selected on the previous wizard page. You
cannot add or remove machines on this page.
Add (or import a list of) Active Directory machine account names. You can change the Active Directory account name
for a VM after you add/import it. If you specied static machines on the Desktop Experience wizard page, you can
optionally specify the Active Directory user name for each VM you add.
After you add or import names, you can use the Remove button to delete names from the list, while you are still on
this wizard page.
An icon and tooltip for each machine added (or imported, or from a PVS device collection) help identify machines that
might not be eligible to add to the catalog, or be unable to register with a Delivery Controller. For details, see VDA
versions and functional levels.
Use fast copy clones for more efficient storage use and faster machine creation.
Use full copy clones for better data recovery and migration support, with potentially reduced IOPS after the machines
are created.
A drop-down near the bottom of the Machines (or Devices) page allows you to select the minimum VDA level that will
successfully register; this sets the catalog's minimum functional level. By default, the most current functional level is
selected for on-premises deployments. If you follow the Citrix recommendation to always install and upgrade VDAs and
A XenApp and XenDesktop release might not include a new VDA version, or the new VDA does not impact the
functional level. In such cases, the functional level might indicate a VDA version that is earlier than the installed or
upgraded components. For example, although XenApp and XenDesktop 7.14 contain a 7.14 VDA that supports new
and enhanced features, the default functional level ("7.9 ...") remains the most current. T herefore, after installing or
upgrading components from 7.9, 7.11, 7.12, or 7.13 to 7.14, you do not need to change the default functional level.
In Citrix Cloud deployments, Studio uses a default functional level that can be earlier than the most current.
T he selected functional level affects the list of machines above it. In the list, a tooltip next to each entry indicates whether
the machine's VDA is compatible with the catalog at that functional level.
Messages are posted on the page if the VDA on each machine does not meet or exceed the minimum functional level
selected. You can continue with the wizard, but be aware that those machines will likely not be able to register with a
Controller later. Alternatively, you can:
Remove the machines containing older VDAs from the list, upgrade their VDAs and then add them back to the catalog.
Choose a lower functional level; however, that will prevent access to the latest product features.
A message is also posted if a machine was not be added to the catalog because it is the wrong machine type. Examples
include attempting to add a server to a Desktop OS catalog, or adding a Desktop OS machine originally created for random
allocation to a catalog of static machines.
To enable the caching of temporary data, the VDA on each machine in the catalog must be minimum version 7.9.
You specify whether temporary data uses shared or local storage when you create the connection that the catalog uses;
for details, see Connections and resources. Enabling and conguring the temporary cache in the catalog includes two check
boxes and values: Memory allocated to cache (MB) and Disk cache size (GB). T he default values differ according to the
connection type. Generally, the default values are sufcient for most cases; however, take into account the space needed
for:
T emporary data files created by Windows itself, including the Windows page file.
User profile data.
ShareFile data that is synced to users' sessions.
Data that may be created or copied by a session user or any applications users may install inside the session.
Windows will not allow a session to use an amount of cache disk that is signicantly larger than the amount of free space
on the original master image from which machines in the machine catalog are provisioned. For example, there is no benet
specifying a 20 GB cache disk if there is only 10 GB of free space on the master image.
If you enable the Disk cache size check box, temporary data is initially written to the memory cache. When the memory
cache reaches its congured limit (the Memory allocated to cache value), the oldest data is moved to the temporary data
T he memory cache is part of the total amount of memory on each machine; therefore, if you enable the Memory
allocated to cache check box, consider increasing the total amount of memory on each machine.
If you clear the Memory allocated to cache check box and leave the Disk cache size check box enabled, temporary data
is written directly to the cache disk, using a minimal amount of memory cache.
Changing the Disk cache size from its default value can affect performance. T he size must match user requirements and
the load placed on the machine.
Important: If the disk cache runs out of space, the user's session becomes unusable.
If you clear the Disk cache size check box, no cache disk will be created. In this case, specify a Memory allocated to
cache value that is large enough to hold all of the temporary data; this is feasible only if large amounts of RAM are
available for allocation to each VM.
If you clear both check boxes, temporary data is not cached; it is written to the difference disk (located in the OS storage)
for each VM. (T his is the provisioning action in releases earlier than 7.9.)
Do not enable caching if you intend to use this catalog to create AppDisks.
You cannot change the cache values in a machine catalog after it is created.
T his page does not appear when you are creating Remote PC Access catalogs.
If you plan to use multiple NICs, associate a virtual network with each card. For example, you can assign one card to access
a specic secure network, and another card to access a more commonly-used network. You can also add or remove NICs
from this page.
Machine accounts
Specify the Active Directory machine accounts or Organizational Units (OUs) to add that correspond to users or user
groups. Do not use a forward slash (/) in an OU name.
You can choose a previously-congured power management connection or elect not to use power management. If you
want to use power management but a suitable connection hasn't been congured yet, you can create that connection
later and then edit the machine catalog to update the power management settings.
Computer accounts
Each machine in the catalog must have a corresponding Active Directory computer account. Indicate whether to create
new accounts or use existing accounts, and the location for those accounts.
If you create new accounts, you must have access to a domain administrator account for the domain where the
machines will reside.
Specify the account naming scheme for the machines that will be created, using hash marks to indicate where
sequential numbers or letters will appear. Do not use a forward slash (/) in an OU name. A name cannot begin with a
number. For example, a naming scheme of PC-Sales-## (with 0-9 selected) results in computer accounts named PC-
Sales-01, PC-Sales-02 , PC-Sales-03, and so on.
If you use existing accounts, either browse to the accounts or click Import and specify a .csv file containing account
names. T he imported file content must use the format:
[ADComputerAccount]
ADcomputeraccountname.domain
...
Ensure that there are enough accounts for all the machines youre adding. Studio manages these accounts, so either
allow Studio to reset the passwords for all the accounts or specify the account password, which must be the same
for all accounts.
For catalogs containing physical machines or existing machines, select or import existing accounts and assign each machine
to both an Active Directory computer account and to a user account.
For machines created with PVS, computer accounts for target devices are managed differently; see the Provisioning
Services documentation.
On the Summary page of the wizard, review the settings you specied. Enter a name and description for the catalog; this
information appears in Studio.
After reviewing the information you specied, click Finish to start the catalog creation.
Introduction
Add machines to a Machine Catalog
Delete machines from a Machine Catalog
Change a Machine Catalog description or change Remote PC Access settings
Rename a Machine Catalog
Move a Machine Catalog to another zone
Delete a Machine Catalog
Manage Active Directory computer accounts in a Machine Catalog
Update a Machine Catalog
Upgrade a Machine Catalog
Introduction
You can add or remove machines from a Machine Catalog, as well as rename, change the description, or manage a catalog's
Active Directory computer accounts.
Maintaining catalogs can also include making sure each machine has the latest OS updates, anti-virus software updates,
operating system upgrades, or conguration changes.
For Machine Catalogs containing pooled random machines created using Machine Creation Services (MCS), you can
maintain machines by updating the master image used in the catalog and then updating the machines. T his enables you
to efficiently update large numbers of user machines. For machines created using Provisioning Services, updates to
machines are propagated through the vDisk. See the Provisioning Services documentation for details.
For catalogs containing static, permanently assigned machines, and for Remote PC Access Machine catalogs, you
manage updates to users' machines outside of Studio, either individually or collectively using third-party software
distribution tools.
For information about creating and managing connections to host hypervisors and cloud services, see Connections and
resources.
Make sure the virtualization host (hypervisor or cloud service provider) has sufficient processors, memory, and storage to
accommodate the additional machines.
Make sure that you have enough unused Active Directory computer accounts. If you are using existing accounts, the
number of machines you can add is limited by the number of accounts available.
If you use Studio to create Active Directory computer accounts for the additional machines, you must have appropriate
domain administrator permission.
T he machines are created as a background process, and can take a lot of time when creating a large number of machines.
Machine creation continues even if you close Studio.
Choose whether to delete the machines being removed. If you choose to delete the machines, indicate whether the Active
Directory accounts for those machines should be retained, disabled, or deleted.
Caution: Moving a catalog to a different zone than the hypervisor or cloud service containing the VMs in that catalog can
affect performance.
All users are logged off and that no disconnected sessions are running.
Maintenance mode is turned on for all machines in the catalog so that new connections cannot be made.
All machines in the catalog are powered off.
T he catalog is not associated a Delivery Group in other words, the Delivery Group does not contain machines from the
catalog.
Free unused machine accounts by removing Active Directory computer accounts from Desktop OS and Server OS
Machine Catalogs. T hose accounts can then be used for other machines.
Add accounts so that when more machines are added to the catalog, the computer accounts are already in place. Do
not use a forward slash (/) in an OU name.
Note: You can also indicate whether Active Directory accounts should be retained, disabled, or deleted when you remove
machines from a catalog or delete a catalog.
For catalogs that use Provisioning Services, you must publish a new vDisk to apply changes to the catalog. For details, see
the Provisioning Services documentation.
Before you update the Machine Catalog, either update an existing master image or create a new one on your host
hypervisor.
1. On your hypervisor or cloud service provider, take a snapshot of the current VM and give the snapshot a meaningful
name. T his snapshot can be used to revert (roll back) machines in the catalog, if needed.
2. If necessary, power on the master image, and log on.
3. Install updates or make any required changes to the master image.
4. If the master image uses a personal vDisk, update the inventory.
5. Review these operating system optimization guides and apply the optimizations for your environment: Windows 7
Optimization Guide and Windows 8/8.1 Virtual Desktop Optimization Guide.
6. Power off the VM.
7. T ake a snapshot of the VM, and give the snapshot a meaningful name that will be recognized when the catalog is
updated in Studio. Although Studio can create a snapshot, Citrix recommends that you create a snapshot using the
hypervisor management console, and then select that snapshot in Studio. T his enables you to provide a meaningful
name and description rather than an automatically generated name. For GPU master images, you can change the master
image only through the XenServer XenCenter console.
Tip: If you are updating a catalog using the PowerShell SDK directly, rather than Studio, you can specify a hypervisor
template (VMTemplates), as an alternative to an image or a snapshot of an image.
Rollout strategy
Updating the image on the next shutdown is provided when you are using the Citrix Connector for System Center
Conguration Manager.
If you choose to update the image immediately, congure a distribution time and notications.
Distribution time: You can choose to update all machines at the same time, or specify the total length of time it should
take to begin updating all machines in the catalog. An internal algorithm determines when each machine is updated and
restarted during that interval.
Notif ication: In the left notification dropdown, choose whether to display a notification message on the machines
before an update begins. By default, no message is displayed. If you choose to display a message 15 minutes before the
update begins, you can choose (in the right dropdown) to repeat the message every five minutes after the initial
message. By default, the message is not repeated. Unless you choose to update all machines at the same time, the
notification message displays on each machine at the appropriate time before the update begins, calculated by an
internal algorithm.
After you roll out an updated/new master image, you can roll it back. T his might be necessary if issues occur with the
newly-updated machines. When you roll back, machines in the catalog are rolled back to the last working image. Any new
features that require the newer image will no longer be available. As with the rollout, rolling back a machine includes a
restart.
T he rollback is applied only to machines that need to be reverted. For machines that have not been updated with the
new/updated master image (for example, machines with users who have not logged off), users do not receive notication
messages and are not forced to log off.
If youre using Provisioning Services, upgrade the VDA version in the Provisioning Services console.
Start the upgraded machines so that they register with the Controller. T his lets Studio determine that the machines in
the Machine Catalog need upgrading.
After the catalog upgrade completes, you can revert the machines to their previous VDA versions by selecting the catalog
and then selecting Undo in the Actions pane.
Note: If you have Windows XP or Windows Vista machines, they must use an earlier VDA version, and will not be able to use
the latest product features. If you cannot upgrade those machines to a currently supported Windows operating system,
Citrix recommends you keep them in a separate catalog.
Creating a Delivery Group is the next step in conguring your deployment after creating a Site and creating a Machine
Catalog. Later, you can change the initial settings in the rst Delivery Group and create other Delivery Groups. T here are
also features and settings you can congure only when editing a Delivery Group, not when creating it.
For Remote PC Access, when you create a Site, a Delivery Group named Remote PC Access Desktops is automatically
created.
1. If you have created a Site and a Machine Catalog, but haven't yet created a Delivery Group, Studio will guide you to the
correct starting place to create a Delivery Group. If you have already created a Delivery Group and want to create
another, select Delivery Groups in the Studio navigation pane and then select Create Delivery Group in the Actions
pane.
2. T he Create Delivery Group wizard launches with an Introduction page, which you can remove from future launches of
this wizard.
3. T he wizard then guides you through the pages described below. When you are done with each page, click Next until you
reach the final page.
Machines
Select a Machine Catalog and select the number of machines you want to use from that catalog.
Good to know:
T his page appears only if you chose a Machine Catalog containing static (assigned) desktop OS machines. Choose either
Applications or Desktops on the Delivery Type page; you cannot enable both.
(If you selected machines from a Server OS or Desktop OS random (pooled) catalog, the delivery type is assumed to be
applications and desktops: you can deliver applications, desktops, or both.
AppDisks
To add an AppDisk, click Add. T he Select AppDisks dialog box lists available AppDisks in the left column. T he right column
lists the applications on the AppDisk. (Selecting the Applications tab above the right column lists applications in a format
similar to a Start menu; selecting the Installed packages tab lists applications in a format similar to the Programs and
Features list.)
Users
Specify the users and user groups who can use the applications and desktops in the Delivery Group.
A Sites user access list, which is not configured through Studio. By default, the application entitlement policy rule
includes everyone; see the PowerShell SDK BrokerAppEntitlementPolicyRule cmdlets for details.
Application Groups (if configured).
Delivery Groups.
Applications.
T he list of users who can access an application through StoreFront is formed by the intersection of the above user lists. For
example, to congure the use of application A to a particular department, without unduly restricing access to other
groups:
Use the default application entitlement policy rule that includes everyone.
Configure the Delivery Group user list to allow all headquarters users to use any of the applications specified in the
Delivery Group.
(If Application Groups are configured) Configure the Application Group user list to allow members of the Administration
and Finance business unit to access applications A through L.
Configure application As properties to restrict its visibility to only Accounts Receivable staff in Administration and
Finance.
Authenticated
Unauthenticated (anonymous)
For Delivery Groups containing Server OS machines, you can allow users to access applications and desktops without
presenting credentials to StoreFront or Citrix Receiver. For example, at kiosks, the application might require credentials,
but the Citrix access portal and tools do not. An Anonymous Users Group is created when you install the rst Delivery
Controller.
To grant access to unauthenticated users, each machine in the Delivery Group must have a VDA for Windows Server
OS (minimum version 7.6) installed. When unauthenticated users are enabled, you must have an unauthenticated
StoreFront store.
Unauthenticated user accounts are created on demand when a session is launched, and named AnonXYZ, in
which XYZ is a unique three-digit value.
Unauthenticated user sessions have a default idle timeout of 10 minutes, and are logged off automatically when the
client disconnects. Reconnection, roaming between clients, and Workspace Control are not supported.
Enable access f or Add/assign users and Enable the "Give access to unauthenticated
user groups? users" check box?
Applications
Good to know:
From Start menu: Applications that are discovered on a machine created from the master image in the selected
catalog. When you select this source, a new page launches with a list of discovered applications; select those you want
to add and then click OK.
Manually def ined: Applications located in the Site or elsewhere in your network. When you select this source, a new
page launches where you type the path to the executable, working directory, optional command line arguments, and
display names for administrators and users. After entering this information, click OK.
Existing: Applications previously added to the Site, perhaps in another Delivery Group. When you select this source, a
new page launches with a list of discovered applications; select those you want to add and then click OK.
App-V: Applications in App-V packages. When you select this source, a new page launches where you select the App-V
server or the Application Library. Select the applications you want to add from the resulting display and then click OK. For
more information, see the App-V article.
If an application source or application is not available or valid, it is either not visible or cannot be selected. For example, the
Existing source is not available if no applications have been added to the Site. Or, an application might not be compatible
with the supported session types on machines in the selected Machine Catalog.
T he title of this page depends on the Machine Catalog you chose earlier in the wizard:
If you chose a Machine Catalog containing pooled machines, this page is titled Desktops.
If you chose a Machine Catalog containing assigned machines and specified "Desktops" on the Delivery T ype page, this
page is titled Desktop User Assignments.
If you chose a Machine Catalog containing assigned machines and specified "Applications" on the Delivery T ype page,
this page is titled Application Machine User Assignments.
In the Display name and Description fields, type the information to be displayed in Receiver.
T o add a tag restriction to a desktop, select Restrict launches to machines with this tag and then select the tag
from the dropdown. (See the T ags article for more information.)
Using the radio buttons, indicate who can launch a desktop (for groups with pooled machines) or who will be assigned a
machine when they launch the desktop (for groups with assigned machines). T he users can be either everyone who can
access this Delivery Group, or specific users and user groups.
If the group contains assigned machines, specify the maximum number of desktops per user. T his must be a value of one
or greater.
Enable or disable the desktop (for pooled machines) or desktop assignment rule (for assigned machines). Disabling a
desktop stops desktop delivery; disabling a desktop assignment rule stops desktop auto-assignment to users.
When you are finished with the dialog box, click OK.
Summary
Enter a name for the Delivery Group. You can also (optionally) enter a description, which will appear in Receiver and in Studio.
Introduction
Change user settings in a Delivery Group
Add or remove users in a Delivery Group
Change the delivery type of a Delivery Group
Change StoreFront addresses
Add, change, or remove a tag restriction for a desktop
Upgrade a Delivery Group or revert an upgrade
Manage Remote PC Access Delivery Groups
Shut down and restart machines in a Delivery Group
Power manage machines in a Delivery Group
Create a restart schedule for machines in a Delivery Group
Create multiple restart schedules for machines in a Delivery Group
Prevent users from connecting to a machine (maintenance mode) in a Delivery Group
Change assignments of machines to users in a Delivery Group
Change the maximum number of machines per user in a Delivery Group
Load manage machines in Delivery Groups
Remove a machine from a Delivery Group
Restrict access to machines in a Delivery Group
Update a machine in a Delivery Group
Log off or disconnect a session, or send a message to Delivery Group users
Configure session prelaunch and session linger
Introduction
T his article describes the procedures for managing Delivery Groups. In addition to changing settings specied when creating
the group, you can congure other settings that are not available when you create a Delivery Group.
See Applications for information about managing applications in Delivery Groups, including how to add and remove
applications in a Delivery Group, and change application properties.
Managing Delivery Groups requires the Delegated Administration permissions of the Delivery Group Administrator built-in
role. See Delegated Administration for details.
Tip: In the Studio display for a Delivery Group, the "Installed VDA version" in the Details pane might differ from the actual
version installed on the machines. T he machine's Windows Programs and Features display shows the actual VDA version.
VDAs that are not registered with a Delivery Controller are not considered when launching brokered sessions, which results
in underutilization of otherwise available resources. T here are various reasons a VDA might not be registered, many of which
an administrator can troubleshoot. Studio provides troubleshooting information in the catalog creation wizard, and after
you add a catalog to a Delivery Group.
For messages about functional level, see VDA versions and functional levels.
Setting Description
T ime zone
Enable Secure ICA Secures communications to and from machines in the Delivery Group using SecureICA, which
encrypts the ICA protocol (default level is 128-bit; the level can be changed using the SDK).
Citrix recommends using additional encryption methods such as T LS encryption when
traversing public networks. Also, SecureICA does not check data integrity.
For Delivery Groups containing physical Desktop OS machines, you can import user information from a .csv le after you
create the Delivery Group. You can also export user information to a .csv le. T he .csv le can contain data from a previous
product version.
T he rst line in the .csv le must contain comma-separated column headings (in any order), which can include:
ADComputerAccount, AssignedUser, VirtualMachine, and HostId. Subsequent lines in the le contain comma-separated
data. T he ADComputerAccount entries can be common names, IP addresses, distinguished names, or domain and computer
name pairs.
Before changing an application only or desktops and applications type to a desktops only type, delete all applications
from the group.
You can also specify StoreFront server address by selecting Conguration > StoreFront in the Studio navigation pane.
If you use Provisioning Services, upgrade the VDA version in the Provisioning Services console.
Start the machines containing the upgraded VDA so that they can register with a Delivery Controller. T his process tells
Studio what needs upgrading in the Delivery Group.
If you must continue to use earlier VDA versions, newer product features may not be available. For more information, see
the Upgrade articles.
Before starting the upgrade process, Studio tells you which, if any, machines cannot be upgraded and why. You can then
cancel the upgrade, resolve the machine issues, and then start the upgrade again.
After the upgrade completes, you can revert the machines to their previous states by selecting the Delivery Group and then
selecting Undo in the Actions pane.
T he Delivery Group-to-machine catalog association has a priority value. Priority determines which Delivery Group that
machine is assigned to when it registers with the system or when a user needs a machine assignment: the lower the value,
the higher the priority. If a Remote PC Access machine catalog has multiple Delivery Group assignments, the software
selects the match with the highest priority. You can set this priority value using the PowerShell SDK.
When rst created, Remote PC Access machine catalogs are associated with a Delivery Group. T his means that machine
To add or remove a Remote PC Access machine catalog association with a Delivery Group:
Force shut down. Forcibly powers off the machine and refreshes the list of machines.
Restart. Requests the operating system to shut down and then start the machine again. If the operating system
cannot comply, the machine remains in its current state.
Force restart. Forcibly shuts down the operating system and then restarts the machine.
Suspend. Pauses the machine without shutting it down, and refreshes the list of machines.
Shut down. Requests the operating system to shut down.
For non-force actions, if the machine does not shut down within 10 minutes, it is powered off. If Windows attempts to
install updates during the shutdown, there is a risk that the machine will be powered off before the updates nish.
Citrix recommends that you prevent Desktop OS machine users from selecting Shut down within a session. See the
Microsoft policy documentation for details.
You can also shut down and restart machines on a connection; see the Connections and resources article.
In Delivery Groups containing pooled machines, virtual Desktop OS machines can be in one of the following states:
In Delivery Groups containing static machines, virtual Desktop OS machines can be:
During normal use, static Delivery Groups typically contain both permanently allocated and unallocated machines. Initially, all
machines are unallocated (except for those manually allocated when the Delivery Group was created). As users connect,
machines become permanently allocated. You can fully power manage the unallocated machines in those Delivery Groups,
but only partially manage the permanently allocated machines.
Pools and buf f ers: For pooled Delivery Groups and static Delivery Groups with unallocated machines, a pool (in this
instance) is a set of unallocated or temporarily allocated machines that are kept in a powered-on state, ready for users to
connect; a user gets a machine immediately after logon. T he pool size (the number of machines kept powered-on) is
congurable by time of day. For static Delivery Groups, use the SDK to congure the pool.
A buffer is an additional standby set of unallocated machines that are turned on when the number of machines in the pool
falls below a threshold that is a percentage of the Delivery Group size. For large Delivery Groups, a signicant number of
machines might be turned on when the threshold is exceeded, so plan Delivery Group sizes carefully or use the SDK to
adjust the default buffer size.
Power state timers: You can use power state timers to suspend machines after users have disconnected for a specied
amount of time. For examples, machines will suspend automatically outside of ofce hours if users have been disconnected
for at least 10 minutes. Random machines or machines with personal vDisks automatically shut down when users log off,
unless you congure the ShutdownDesktopsAfterUse Delivery Group property in the SDK.
You can congure timers for weekdays and weekends, and for peak and nonpeak intervals.
Partial power management of permanently allocated machines: For permanently allocated machines, you can set
power state timers, but not pools or buffers. T he machines are turned on at the start of each peak period, and turned off
at the start of each off-peak period. You do not have the ne control that you have with unallocated machines over the
number of machines that become available to compensate for machines that are consumed.
A restart schedule species when to periodically restart all the machines in a Delivery Group.
You cannot perform an automated power-on or shutdown from Studio, only a restart.
For example, let's say you use one Delivery Group for all machines in the company. You want to restart every machine at
least once every week (on Sunday night), but the machines used by the accounting team should be restarted daily. You can
set up a weekly schedule for all machines, and a daily schedule for just the machines used by the accounting team.
Schedule overlap
Multiple schedules might overlap. In the example above, the machines used by accounting are affected by both schedules,
and might be restarted twice on Sunday.
T he scheduling code is designed to avoid restarting the same machine more often than needed, but it cannot be
guaranteed. If both schedules coincide precisely in start and duration times, it is more likely that the machines will be
restarted only once. However, the more the schedules differ in start and/or duration times, the more likely two restarts will
occur. Also, the number of machines affected by the schedules can also inuence the chances of an overlap. In the
example, the weekly schedule that restarts all machines could initiate restarts signicantly faster than the daily schedule
(depending on the congured duration for each).
Requirements
Support for creating multiple restart schedules and using tag restrictions in a restart schedule is currently available only
through the PowerShell command line, using RebootScheduleV2 PowerShell cmdlets that are new in XenApp and
XenDesktop 7.12. (T hese are referred to as the "V2" cmdlets throughout this article.)
Studio currently uses earlier V1 RebootSchedule PowerShell cmdlets, and will not display schedules that are created with
the V2 cmdlets.
After you create a restart schedule that uses a tag restriction, and then later use Studio to remove the tag from an
affected machine during a restart interval (cycle) or add the tag to additional machines during a restart cycle, those
changes will not take effect until the next restart cycle. (T he changes will not affect the current restart cycle.)
PowerShell cmdlets
Use the following RebootScheduleV2 cmdlets from the command line to create multiple schedules and use tag restrictions
in the schedules.
Get-BrokerRebootScheduleV2 Get-BrokerRebootSchedule
Remove-BrokerRebootScheduleV2 Remove-BrokerRebootSchedule
Rename-BrokerRebootScheduleV2 -
For complete cmdlet syntax and parameter descriptions, enter Get-Help f ull <cmdlet-name>.
Terminology reminder: In the PowerShell SDK, the DesktopGroup parameter identies the Delivery Group.
If you're familiar with the Studio interface for creating a restart schedule, all of those parameters are available when using
the V2 cmdlet to create or update a schedule. Additionally, you can:
Conguration
If you congure a restart schedule that uses a tag restriction, you must also add (apply) that tag to the machines that you
want the schedule to affect. (For more information, see Tags.)
After creating and adding (applying) tags, use the RestrictToTag parameter to specify the tag name when creating or
editing the schedule with the V2 cmdlet.
Studio currently uses the V1 RebootSchedule cmdlets. If you have a restart schedule that was created before you
upgraded to 7.12 (minimum), you can continue to manage it in Studio with V1 cmdlets, but you cannot use Studio to add a
tag restriction to that schedule, or to create additional schedules (because Studio does not support the V2 cmdlets). As
long as you use the V1 cmdlets for your existing schedule, Studio will display correct information about the restart schedule.
Alternatively, you can edit your existing schedule from the command line, using the new V2 RebootSchedule cmdlets. When
using the new V2 cmdlets, you can use the tag restriction parameters in that schedule, and create additional restart
schedules. However, after you use V2 cmdlets to change your existing schedule, Studio will not display complete schedule
When a Server OS machine is in maintenance mode, users can connect to existing sessions, but cannot start new
sessions.
When a Desktop OS machine (or a PC using Remote PC Access) is in maintenance mode, users cannot connect or
reconnect. Current connections remain connected until they disconnect or log off.
Windows Remote Desktop Connection (RDC) settings also affect whether a Server OS machine is in maintenance mode.
Maintenance mode is on when any of the following occur:
You can also turn maintenance mode on or off for a connection (which affects the machines that use that connection), or
for a machine catalog (which affects the machines in that catalog).
Load Management measures the server load and determines which server to select under the current environment
conditions. T his selection is based on:
Server maintenance mode status: A Server OS machine is considered for load balancing only when maintenance mode is
off.
Server load index: Determines how likely a server delivering Server OS machines is to receive connections. T he index is a
combination of load evaluators: the number of sessions and the settings for performance metrics such as CPU, disk, and
memory use. You specify the load evaluators in load management policy settings.
You can monitor the load index in Director, Studio search, and the SDK.
In Studio, the Server Load Index column is hidden by default. To display it, select a machine, right-select a column heading
and then choose Select Column. In the Machine category, select Load Index.
In the SDK, use the Get-BrokerMachine cmdlet. For details, see CT X202150.
A server load index of 10000 indicates that the server is fully loaded. If no other servers are available, users might receive a
message that the desktop or application is currently unavailable when they launch a session.
Concurrent logon tolerance policy setting: T he maximum number of concurrent requests to log on to the server. (T his
setting is equivalent to load throttling in XenApp versions earlier than 7.5.)
If all servers are at or higher than the concurrent logon tolerance setting, the next logon request is assigned to the server
with the lowest pending logons. If more than one server meets these criteria, the server with the lowest load index is
selected.
Keep in mind that machines may contain personal data, so use caution before allocating the machine to another user. You
may want to reimage the machine.
You can also remove a machine from a Delivery Group through the connection the machine uses. For details, see
Connections and resources.
Restrict access f or administrators using Delegated Administration scopes. You can create and assign a scope that
permits administrators to access all applications, and another scope that provides access to only certain applications. See
the Delegated Administration article for details.
Restrict access f or users through SmartAccess policy expressions that lter user connections made through
NetScaler Gateway.
Restrict access f or users through exclusion lters on access policies that you set in the SDK. Access policies are applied
to Delivery Groups to rene connections. For example, you can restrict machine access to a subset of users, and you can
specify allowed user devices. Exclusion lters further rene access policies. For example, for security you can deny access to
a subset of users or devices. By default, exclusion lters are disabled.
For example, for a teaching lab on a subnet in the corporate network, to prevent access from that lab to a particular
Delivery Group, regardless of who is using the machines in the lab, use the following command: Set-BrokerAccessPolicy -
Name VPDesktops_Direct -ExcludedClientIPFilterEnabled $True -
You can use the asterisk (*) wildcard to match all tags that start with the same policy expression. For example, if you add
the tag VPDesktops_Direct to one machine and VPDesktops_Test to another, setting the tag in the Set-
BrokerAccessPolicy script to VPDesktops_* applies the lter to both machines.
To choose a different master image, select Master image, and then select a snapshot.
To apply changes and notify machine users, select Rollout notication to end-users. T hen specify: when to update the
master image: now or on the next restart, the restart distribution time (the total time to begin updating all machines in the
group), and whether users will be notied of the restart, plus the message they will receive.
You can congure power state timers for Desktop OS machines to automatically handle unused sessions. See the Power
manage machines section for details.
T he session prelaunch and session linger features help specied users access applications quickly, by starting sessions
before they are requested (session prelaunch) and keeping application sessions active after a user closes all applications
(session linger).
By default, session prelaunch and session linger are not used: a session starts (launches) when a user starts an application,
and remains active until the last open application in the session closes.
Considerations:
T he Delivery Group must support applications, and the machines must be running a VDA for Windows Server OS,
minimum version 7.6.
T here are several ways to specify how long an unused session remains active if the user does not start an application: a
congured timeout and server load thresholds. You can congure all of them; the event that occurs rst causes the unused
session to end.
Timeout: A configured timeout specifies the number of minutes, hours, or days an unused prelaunched or lingering
session remains active. If you configure too short a timeout, prelaunched sessions will end before they provide the user
benefit of quicker application access. If you configure too long a timeout, incoming user connections might be denied
because the server doesn't have enough resources.
You cannot disable this timeout from Studio, but you can in the SDK (New/Set-BrokerSessionPreLaunch cmdlet). If
you disable the timeout, it will not appear in the Studio display for that Delivery Group or in the Edit Delivery Group
wizard.
Thresholds: Automatically ending prelaunched and lingering sessions based on server load ensures that sessions remain
open as long as possible, assuming server resources are available. Unused prelaunched and lingering sessions will not cause
denied connections because they will be ended automatically when resources are needed for new user sessions.
You can congure two thresholds: the average percentage load of all servers in the Delivery Group, and the maximum
percentage load of a single server in the Delivery Group. When a threshold is exceeded, the sessions that have been in
the prelaunch or lingering state for the longest time are ended, sessions are ended one-by-one at minute intervals
until the load falls below the threshold. (While the threshold is exceeded, no new prelaunch sessions are started.)
Servers with VDAs that have not registered with the Controller and servers in maintenance mode are considered fully
loaded. An unplanned outage causes prelaunch and lingering sessions end automatically to free capacity.
4. A prelaunched session is replaced with a regular session when the user starts an application. If the user does not start an
application (the prelaunched session is unused), the following settings affect how long that session remains active.
When a specified time interval elapses. You can change the time interval (1-99 days, 1-2376 hours, or 1-142,560
minutes).
When the average load on all machines in the Delivery Group exceeds a specified percentage (1-99%).
When the load on any machine in the Delivery Group exceeds a specified percentage (1-99%).
Recap: A prelaunched session remains active until one of the following events occurs: a user starts an application, the
specied time elapses, or a specied load threshold is exceeded.
Introduction
Application Groups let you manage collections of applications. You can create Application Groups for applications shared
across different Delivery Groups or used by a subset of users within Delivery Groups. Application Groups are optional; they
offer an alternative to adding the same applications to multiple Delivery Groups. Delivery Groups can be associated with
more than one Application Group, and an Application Group can be associated with more than one Delivery Group.
Using Application Groups can provide application management and resource control advantages over using more Delivery
Groups:
T he logical grouping of applications and their settings lets you manage those applications as a single unit. For example,
you dont have to add (publish) the same application to individual Delivery Groups one at a time.
Session sharing between Application Groups can conserve resource consumption. In other cases, disabling session sharing
between Application Groups may be beneficial.
You can use the tag restriction feature to publish applications from an Application Group, considering only a subset of
the machines in selected Delivery Groups. With tag restrictions, you can use your existing machines for more than one
publishing task, saving the costs associated with deploying and managing additional machines. A tag restriction can be
thought of as subdividing (or partitioning) the machines in a Delivery Group. Using an Application Group or desktops with
a tag restriction can be helpful when isolating and troubleshooting a subset of machines in a Delivery Group.
Example congurations
Example 1
T he following graphic shows a XenApp or XenDesktop deployment that includes Application Groups:
Application Group 1 is associated with Delivery Group 1. T he applications in Application Group 1 can be accessed by the
users specied in Application Group 1, as long as they are also in the user list for Delivery Group 1. T his follows the guidance
that the user list for an Application Group should be a subset (a restriction) of the user lists for the associated Delivery
Groups. T he settings in Application Group 1 (such as application session sharing between Application Groups, associated
Delivery Groups) apply to applications and users in that group. T he settings in Delivery Group 1 (such as anonymous user
support) apply to users in Application Groups 1 and 2, because those Application Groups have been associated with that
Delivery Group.
Application Group 2 is associated with two Delivery Groups: 1 and 2. Each of those Delivery Groups can be assigned a
priority in Application Group 2, which indicates the order in which the Delivery Groups will be checked when an application is
launched. Delivery Groups with equal priority are load balanced. T he applications in Application Group 2 can be accessed by
the users specied in Application Group 2, as long as they are also in the user lists for Delivery Group 1 and Delivery Group 2.
Example 2:
T his simple layout uses tag restrictions to limit which machines will be considered for certain desktop and application
launches. T he site has one shared Delivery Group, one published desktop, and one Application Group congured with two
applications.
Tags have been added to each of the three machines (VDA 101-103).
T he Application Group was created with the "Orange" tag restriction, so each of its applications (Calculator and Notepad)
can be launched only on machines in that Delivery Group that have the tag "Orange": VDA 102 and 103.
For more comprehensive examples and guidance for using tag restrictions in Application Groups (and for desktops), see the
Tags article.
By default, an Application Group is enabled. After you create an Application Group, you can edit the group to change this
setting; see the Manage Application Groups article.
By default, application session sharing between Application Groups is enabled; see Session sharing between Application
Groups below.
Citrix recommends that your Delivery Groups be upgraded to the current version. T his requires (1) upgrading VDAs on the
machines used in the Delivery Group, then (2) upgrading the Machine Catalogs containing those machines, and then (3)
upgrading the Delivery Group. For details, see Manage Delivery Groups. To use Application Groups, your core components
must be minimum version 7.9.
Creating Application Groups requires the Delegated Administration permission of the Delivery Group Administrator built-in
role. See the Delegated Administration article for details.
T his article refers to "associating" an application with more than one Application Group to differentiate that action from
adding a new instance of that application from an available source. Similarly, Delivery Groups are associated with
Application Groups (and vice versa), rather than being additions or components of one another.
When you use Application Groups you can congure application session sharing in the following three ways which extend
the standard session sharing behavior available when you are using only Delivery Groups:
You can enable application session sharing between Application Groups, or you can disable it to limit application session
sharing only to applications in the same Application Group.
Application Group 1 contains Microsoft Ofce applications such as Word and Excel. Application Group 2 contains
other applications such as Notepad and Calculator, and both Application Groups are attached to the same Delivery
Group. A user who has access to both Application Groups starts an application session by launching Word, and then
launches Notepad. If the controller nds that the users existing session running Word is suitable for running Notepad
then Notepad is started within the existing session. If Notepad cannot be run from the existing session for example
if the tag restriction excludes the machine that the session is running on then a new session on a suitable machine
is created rather than using session sharing.
You create an Application Group for each version of the software suite, and add the applications for each version of
the software suite to the corresponding Application Group. If session sharing between groups is disabled for each of
those Application Groups, a user specied in those groups can run applications of the same version in the same
session, and can still run other applications at the same time, but not in the same session. If the user launches one of
the different-versioned applications (that are in a different Application Group), or launches any application that is not
contained in an Application Group, then that application is launched in a new session.
IMPORTANT: T his session sharing between Application Groups feature is not a security sandboxing feature. It is not
foolproof, and it cannot prevent users from launching applications into their sessions through other means (for example,
through Windows Explorer).
If a machine is at capacity, new sessions are not started on it. New applications are started in existing sessions on the
machine as needed using session sharing (providing that this complies with the session sharing restrictions described here).
You can only make prelaunched sessions available to Application Groups which have application session sharing allowed.
(Sessions which use the session linger feature are available to all Application Groups.) T hese features must be enabled and
congured in each of the Delivery Groups associated with the Application Group; you cannot congure them in the
Application Groups.
By default, application session sharing between Application Groups is enabled when you create an Application Group; you
cannot change this when you create the group. After you create an Application Group, you can edit the group to change
this setting; see the Manage Application Groups article.
You can prevent application session sharing between applications which are in the same Application Group.
You want your users to access multiple simultaneous full screen sessions of an application on separate monitors.
You create an Application Group and add the applications to it. If session sharing is prohibited between applications in
that Application Group, when a user specied in it starts one application after another they launch in separate
sessions, and the user can move each to a separate monitor.
By default, application session sharing is enabled when you create an Application Group; you cannot change this when you
create the group. After you create an Application Group, you can edit the group to change this setting; see the Manage
Application Groups article.
1. Select Applications in the Studio navigation pane, and then select Create Application Group in the Actions pane.
2. T he Create Application Group wizard launches with an Introduction page, which you can remove from future launches
of this wizard.
Delivery Groups
All Delivery Groups are listed, with the number of machines each contains.
T he Compatible Delivery Groups list contains Delivery Groups you can select. Compatible Delivery Groups contain
random (not permanently or statically assigned) server or desktop OS machines.
T he Incompatible Delivery Groups list contains Delivery Groups you cannot select. Each entry explains why it is not
compatible, such as containing static assigned machines.
An Application Group can be associated with Delivery Groups containing shared (not private) machines that can deliver
applications.
You can also select Delivery Groups containing shared machines that deliver desktops only, if (1) the Delivery Group contains
shared machines and was created with an earlier XenDesktop 7.x version, and (2) you have Edit Delivery Group permission.
T he Delivery Group type is automatically converted to "desktops and applications" when the Create Application Group
wizard is committed.
Although you can create an Application Group that has no associated Delivery Groups perhaps to organize applications or
to serve as storage for applications not currently in use the Application Group cannot be used to deliver applications until
it species at least one Delivery Group. Additionally, you cannot add applications to the Application Group from the From
Start menu source if there are no Delivery Groups specied.
T he Delivery Groups you select specify the machines that will be used to deliver applications. Select the check boxes next
to the Delivery Groups you want to associate with the Application Group.
To add a tag restriction, select Restrict launches to machines with the tag and then select the tag from the dropdown.
See the Tags article for full details.
Users
Specify who can use the applications in the Application Group. You can either allow all users and user groups in the Delivery
Groups you selected on the previous page, or select specic users and user groups from those Delivery Groups. If you
restrict use to users you specify, then only the users specied in the Delivery Group and the Application Group can access
the applications in this Application Group. Essentially, the user list in the Application Group provides a lter on the user lists in
the Delivery Groups.
Enabling or disabling application use by unauthenticated users is available only in Delivery Groups, not in Application Groups.
Active Directory user lists are specied when you create or edit the following:
T he entitlement user list for the delivery group, which is not configured through Studio. By default, the application
entitlement policy rule includes everyone; see the PowerShell SDK BrokerAppEntitlementPolicyRule cmdlets for details.
T he Application Group user list.
T he Delivery Group user list.
T he Application visibility property.
T he list of users who can access an application through StoreFront is formed by the intersection of the above user lists. For
Use the default application entitlement policy rule that includes everyone.
Configure the Delivery Group user list to allow all headquarters users to use any of the applications specified in the
Delivery Group.
Configure the Application Group user list to allow members of the Administration and Finance business unit to access
applications named A through L.
Configure application As properties to restrict its visibility to only Accounts Receivable staff in Administration and
Finance.
Applications
Good to know:
By default, new applications you add are placed in a folder named Applications. You can specify a different folder. If you
try to add an application and one with the same name already exists in that folder, you are prompted to rename the
application you are adding. If you agree with the suggested unique name, the application is added with that new name;
otherwise, you must rename it yourself before it can be added. For details, see Manage application folders.
You can change an application's properties (settings) when you add it, or later. See Change application properties. If you
publish two applications with the same name to the same users, change the Application name (for user) property in
Studio; otherwise, users will see duplicate names in Citrix Receiver.
When you add an application to more than one Application Group, a visibility issue can occur if you do not have
sufficient permission to view the application in all of those groups. In such cases, either consult an administrator with
greater permissions or have your scope extended to include all the groups to which the application was added.
Source Description
From Start menu Applications that are discovered on a machine in the selected Delivery Groups. When you
select this source, a new page launches with a list of discovered applications. Select the
check boxes of applications to add, and then click OK.
T his source cannot be selected if you (1) selected Application Groups that have no
associated Delivery Groups, (2) selected Application Groups with associated Delivery Groups
that contain no machines, or (3) selected a Delivery Group containing no machines.
Manually dened Applications located in the Site or elsewhere in your network. When you select this source, a
new page launches where you type the path to the executable, working directory, optional
command line arguments, and display names for administrators and users. After entering this
information, click OK.
Existing Applications previously added to the Site. When you select this source, a new page launches
with a list of discovered applications. Select the check boxes of applications to add and
then click OK.
T his source cannot be selected (or might not appear) if App-V is not congured for the Site.
As noted, certain entries in the Add dropdown will not be selectable if there is no valid source of that type. Sources that
are incompatible are not listed at all (for example, you cannot add Application Groups to Application Groups, so that source
is not listed when you create an Application Group.
Scopes
This page appears only if you have previously created a scope. By default, the All scope is selected. For more information, see the Delegated
Administration article.
Summary
Enter a name for the Application Group. You can also (optionally) enter a description.
Introduction
Enable or disable an Application Group
Enable or disable application session sharing between Application Groups
Disable application session sharing within an Application Group
Rename an Application Group
Add, remove, or change priority of Delivery Group associations with an Application Group
Add, change, or remove a tag restriction in an Application Group
Add or remove users in an Application Group
Change scopes in an Application Group
Delete an Application Group
Introduction
T his article describes the procedures for managing Application Groups you created.
See Applications for information about managing applications in Application Groups or Delivery Groups, including how to:
Managing Application Groups requires the Delegated Administration permissions of the Delivery Group Administrator built-in
role. See Delegated Administration for details.
An Application Group is enabled when you create it; you cannot change this when you create the group.
When you disable application session sharing within an Application Group, each application in that group launches in a new
application session. If a suitable disconnected session is available which is running the same application, it is reconnected.
For example, if you launch Notepad, and there is a disconnected session with Notepad running, that session is reconnected
instead of creating a new one. If multiple suitable disconnected sessions are available, one of the sessions is chosen to
reconnect to, in a random but deterministic manner: if the situation reoccurs in the same circumstances, the same session is
chosen, but the session is not necessarily predictable otherwise.
You can use the Broker PowerShell SDK either to disable application session sharing for all applications in an existing
Application Group, or to create an Application Group with application session sharing disabled.
To disable session sharing, use the Broker PowerShell cmdlets New-BrokerApplicationGroup or Set-
BrokerApplicationGroup with the parameter SessionSharingEnabled set to False and the parameter
SingleAppPerSession set to True.
For example to create an Application Group with application session sharing disabled for all applications in the group:
For example to disable application session sharing between all applications in an existing Application Group:
T o enable the SingleAppPerSession property you must set SessionSharingEnabled property to False. T he two properties
must not be enabled at the same time. T he SessionSharingEnabled parameter refers to sharing sessions between
Application Groups.
Application session sharing only works for applications which are associated with Application Groups but are not
associated with Delivery Groups. (All applications associated directly with a Delivery Group share sessions by default.)
If an application is assigned to multiple Application Groups, make sure that the groups do not have conflicting settings
(for example, one having the option set to T rue, the other set to False) which results in unpredictable behavior.
You can also select Delivery Groups containing shared machines that deliver desktops only, if (1) the Delivery Group contains
shared machines and was created with an earlier XenDesktop 7.x version, and (2) you have Edit Delivery Group permission.
T he Delivery Group type is automatically converted to "desktops and applications" when the Edit Application Group dialog is
committed.
Deleting an application does not delete it from its original source, but if you want to make it available again, you must add
it again.
T he Virtual Delivery Agent (VDA) is installed on the ofce PC; it registers with the Delivery Controller and manages the HDX
connection between the PC and the end user client devices. Remote PC Access supports a self-service model; after you set
up the whitelist of machines that users are permitted to access, those users can join their ofce PCs to a Site themselves,
without administrator intervention. T he Citrix Receiver running on their client device enables access to the applications and
data on the ofce PC from the Remote PC Access desktop session.
A user can have multiple desktops, including more than one physical PC or a combination of physical PCs and virtual
desktops.
Note: Sleep mode and hibernation mode are not supported for Remote PC Access. Remote PC Access is valid only for
XenDesktop licenses; sessions consume licenses in the same way as other XenDesktop sessions.
If you modify Active Directory after a machine has been added to a machine catalog, Remote PC Access does not
reevaluate that assignment. You can manually reassign a machine to a different catalog, if needed.
If you move or delete OUs, those used for Remote PC Access can become out of date. VDAs might no longer be
associated with the most appropriate (or any) machine catalog or Delivery Group.
You can put machines in one or more Remote PC Access machine catalogs.
When choosing machine accounts for a catalog, select the lowest applicable OU to avoid potential conicts with machines
in another catalog. For example, in the case of bank/ofcers/tellers, select tellers.
You can allocate all machines from one Remote PC Access machine catalog through one or more Delivery Groups. For
example, if one group of users requires certain policy settings and another group requires different settings, assigning the
users to different Delivery Groups enables you to lter the HDX policies according to each Delivery Group.
If your IT infrastructure assigns responsibility for servicing users based on geographic location, department, or some other
category, you can group machines and users accordingly to allow for delegated administration. Ensure that each
administrator has permissions for both the relevant catalogs and the corresponding Delivery Groups.
Consider whether to enable the Windows Remote Assistance checkbox when you install the VDA on the ofce PC. T his
option allows help desk teams using Director to view and interact with a user sessions using Windows Remote Assistance.
Consider how you will deploy the VDA to each ofce PC. Citrix recommends using electronic software distribution such as
Active Directory scripts and Microsoft System Center Conguration Manager. T he installation media contains sample Active
Directory scripts.
Connect the keyboard and mouse directly to the PC or laptop, not to the monitor or other components that can be turned
off. If you must connect input devices to components such as monitors, they should not be turned off.
Remote PC Access can be used on most laptop computers. To improve accessibility and deliver the best connection
experience, congure the laptop power saving options to those of a desktop PC. For example:
Citrix supports Remote PC Access on Surface Pro devices with Windows 10. To improve accessibility and deliver the best
connection experience, congure the Surface device in a similar way to a desktop or laptop computer. For example:
Multiple users with remote access to the same ofce PC see the same icon in Citrix Receiver. When any user remotely logs
on to the PC, that resource appears as unavailable to other users.
By default, a remote users session is automatically disconnected when a local user initiates a session on that machine (by
pressing CT RL+AT L+DEL). To prevent this automatic action, add the following registry entry on the ofce PC, and then
restart the machine.
Caut ion: Editing the registry incorrectly can cause serious problems that may require you to reinstall your operating system. Citrix
cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk.
Be sure to back up the registry before you edit it.
HKLM\SOFTWARE\Citrix\PortICA\RemotePC "SasNotication"=dword:00000001
RpcaMode (dword):
1 = The remote user will always win if he does not respond to the messaging UI in the specied timeout period.
2 = The local user will always win. If this setting is not specied, the remote user will always win by default.
RpcaTimeout (dword):
The number of seconds given to the user before the type of mode to enforce is determined. If this setting is not specied, the
default value is 30 seconds. The minimum value here should be 30 seconds. The user must restart the machine for these changes
to take place.
When user wants to forcibly get the console access: The local user can press Ctr+Alt+Del twice in a gap of 10 seconds to get
local control over a remote session and force a disconnect event.
After the registry change and machine restart, if a local user presses CTRL+ALT+DEL to log on to that PC while it is in use by a
remote user, the remote user receives a prompt asking whether or not to allow or deny the local user's connection. Allowing the
connection will disconnect the remote user's session.
For Remote PC Access, the VDA is usually congured using the standard VDA option. For Remote PC Access congured
with HDX 3D Pro, monitor blanking is supported with Intel Iris Pro graphics and Intel HD graphics 5300 and above (5th
Generation Intel Core Processors and 6th Generation Intel Core i5 Processors), and NVIDIA Quadro and NVIDIA GRID GPUs.
For more information, see Prepare to install and GPU acceleration for Windows Desktop OS.
Wake on LAN
Remote PC Access supports Wake on LAN, which gives users the ability to turn on physical PCs remotely. T his feature
enables users to keep their ofce PCs turned off when not in use, saving energy costs. It also enables remote access when
a machine has been turned off inadvertently, such as during weather events.
PCs that have the Wake on LAN option enabled in the BIOS. T his support includes wake-up proxy and raw magic
packets, and is available when using Microsoft System Cemter Configuration Manager (ConfigMgr) 2012, ConfigMgr
2012 R2, and ConfigMgr 2016.
Congure CongMgr to use the Wake on LAN feature. T hen, when you use Studio to create a Remote PC Access
deployment (or when you add another power management connection to be used for Remote PC Access), enable the
power management feature and specify CongMgr access information.
For conguration details, see Conguration Manager and Remote PC Access Wake on LAN.
If you will use the Remote PC Access power management feature (also known as Remote PC Access Wake on LAN),
complete the conguration tasks on the PCs and on Microsoft System Center Conguration Manager (CongMgr) before
creating the Remote PC Access deployment in Studio. See Conguration Manager and Remote PC Access Wake on LAN for
details.
Creating a Remote PC Access Site creates a default machine catalog named Remote PC Access Machines and a default
Delivery Group named Remote PC Access Desktops.
On the Operating System page, select Remote PC Access and choose a power management connection. You can also
choose not to use power management. If there are no configured power management connections, you can add one
after you finish the machine catalog creation wizard (connection type = Microsoft Configuration Manager Wake on
LAN), and then edit the catalog, specifying that new connection.
On the Machine Accounts page, you can select from the machine accounts or Organizational Units (OUs) displayed, or
add machine accounts and OUs.
Install the VDA on the of ce PCs used f or local and remote access. Typically, you deploy the VDA automatically using
your package management software; however, for proof-of-concept or small deployments, you can install the VDA
manually on each ofce PC. T here are several ways you can install a desktop VDA for a Remote PC Access deployment.
Graphic interface: Select Remote PC Access on the Environment page of the wizard. T he components on the
Additional Components page are not selected by default. T hey are not required for Remote PC Access operation.
Command-line interface: specify the /remotepc option. T his option prevents the installation of the following
components (which are equivalent to the items on the Additional Components page in the wizard):
Alternatively, you can use the /exclude option to exclude each of these components.
Use the VDAWorkstationCoreSetup.exe installer. Neither Citrix Receiver nor any additional components can be installed
with this installer.
After the VDA is installed, the next domain user that logs on to a console session (locally or through RDP) on the ofce PC
is automatically assigned to the Remote PC Access desktop. If additional domain users log on to a console session, they are
also added to the desktop user list, subject to any restrictions you have congured.
To use RDP connections outside of your XenApp or XenDesktop environment, you must add users or groups to the Direct
Access Users group.
Instruct users to download and install Citrix Receiver onto each client device they will use to access the of ce
PC remotely. Citrix Receiver is available from http://www.citrix.com or the application distribution systems for supported
mobile devices.
T he PC uses AMT power commands (if they are supported), plus any of the enabled advanced settings. If the PC does not
use AMT power commands, it uses the advanced settings.
Troubleshooting
T he Delivery Controller writes the following diagnostic information about Remote PC Access to the Windows Application
Event log. Informational messages are not throttled. Error messages are throttled by discarding duplicate messages.
When power management for Remote PC Access is enabled, subnet-directed broadcasts might fail to start machines that
are located on a different subnet from the Controller. If you need power management across subnets using subnet-
directed broadcasts, and AMT support is not available, try the Wake-up proxy or Unicast method (ensure those settings are
enabled in the advanced properties for the power management connection).
5.0 and 5.0 SP1 XenDesktop 7 through current 7.0 through current
5.0 SP3 and 5.1 XenDesktop 7.6 through current 7.6.300 through current
T he App-V client does not support ofine access to applications. App-V integration support includes using SMB shares for
applications. T he HT T P protocol is not supported.
If you're not familiar with App-V, see the Microsoft documentation. Here's a recap of the App-V components mentioned in
this article:
Management server. Provides a centralized console to manage App-V infrastructure and delivers virtual applications to
both the App-V Desktop Client and a Remote Desktop Services Client. T he App-V management server authenticates,
requests, and provides the security, metering, monitoring, and data gathering required by the administrator. T he server
uses Active Directory and supporting tools to manage users and applications.
Publishing server. Provides App-V clients with applications for specific users, and hosts the virtual application package
for streaming. It fetches the packages from the management server.
Applications are available seamlessly without any pre-conguration or changes to operating system settings. You can
launch App-V applications from Server OS and Desktop OS Delivery Groups:
Modied App-V application properties are implemented when the application is started. For example, for applications with a
modied display name or customized icon, the modication appears when users start the application.
Management methods
You can use App-V packages created with the App-V sequencer and then located on either App-V servers or network
shares.
App-V servers: Using applications from packages on App-V servers requires ongoing communication between Studio and
the App-V servers for discovery, configuration, and downloading to the VDAs. T his incurs hardware, infrastructure, and
administration overhead. Studio and the App-V servers must remain synchronized, particularly for user permissions.
T his is called the dual admin management method because App-V package and application access requires both
Studio and the App-V server consoles. T his method works best in closely coupled App-V and Citrix deployments.
Network share: Packages placed on a network share removes Studio's dependence on the App-V server and database
infrastructure, thereby lowering overhead. (You still need to install the Microsoft App-V client on each VDA.)
T his is called the single admin management method because App-V package and application use requires only the
Studio console. You browse to the network share and add one or more App-V packages from that location to the
Site-level Application Library.
Application Library is a Citrix term for a caching repository that stores information about App-V packages. T he
Application Library also stores information about other Citrix application delivery technologies.
You can use one or both management methods simultaneously. In other words, when you add applications to Delivery
Groups, the applications can come from App-V packages located on App-V servers and/or on a network share.
When you select Conguration > App-V Publishing in the Studio navigation pane, the display shows App-V package
names and sources. T he source column indicates whether the packages are located on the App-V server or cached in the
Application Library. When you select a package, the details pane lists the applications in the package.
Isolation groups
When you use the App-V single admin method, creating isolation groups allow you to specify interdependent groups of
applications that must run in the sandbox. T his feature is similar, but not identical to, App-V connection groups. Instead of
the mandatory and optional package terminology used by the App-V management server, Citrix uses automatic and explicit
for package deployment options.
T his allows you to create isolation groups containing a mix of automatically included applications that are available globally
to all users. Plus, the group can contain a set of plug-ins and other applications (that might have specic licensing
constraints), which you can limit to a certain set of users (identied through Delivery Groups) without having to create more
isolation groups.
For example, application "app-a" requires JRE 1.7 to run. You can create an isolation group containing app-a (with an explicit
deployment type) and JRE 1.7 (with an automatic deployment type). T hen, add those App-V packages to one or more
Delivery Groups. When a user launches app-a, JRE 1.7 is automatically deployed with it.
You can add an application to more than one App-V isolation group. However, when a user launches that application, the
rst isolation group to which that application was added is always used. You cannot order or prioritize other isolation
groups containing that application.
Setup
The following table summarizes the sequence of setup tasks for using App-V in XenApp and XenDesktop.
X X Deploy App-V
Optionally, change App-V publishing server settings. Citrix recommends using the SDK cmdlets on the Controller. See the
SDK documentation for details.
If you previously used GPO policy settings to manage publishing server settings, the GPO settings override any App-V
integration settings, including cmdlet settings. T his can result in App-V application launch failure. Citrix recommends that
you remove all GPO policy settings and then use the SDK to congure those settings.
For either management method, create application packages using the App-V sequencer. See the Microsoft
documentation for details.
For single admin management, make the packages available on a UNC or SMB shared network location. Ensure that the
Studio administrator who adds applications to Delivery Groups has at least read access to that location.
For dual admin management, publish the packages on the App-V management server from a UNC path. (Publishing from
HT T P URLs is not supported.)
Regardless of whether packages are on the App-V server or on a network share, ensure the packages have appropriate
security permissions to allow the Studio administrator to access them. Network shares must be shared with Authenticated
users to ensure that both the VDA and Studio have read access by default.
Important
Citrix recommends using the PowerShell cmdlets on the Controller to specify App-V server addresses if those servers use
nondefault property values. See the SDK documentation for details. If you change App-V server addresses in Studio, some server
connection properties you specify might be reset to default values. T hese properties are used on the VDAs to connect to App-V
publishing servers. If this happens, recongure the nondefault values for any reset properties on the servers.
T his procedure is valid only for the dual admin management method.
Specify App-V management and publishing server addresses for the dual admin management method either during or after
Site creation. You can do this during or after creating the Site.
On the App-V page of the wizard, enter the URL of the Microsoft App-V management server, and the URL and port
number of the App-V publishing server. Test the connection before continuing with the wizard. If the test fails, see
the Troubleshoot section below.
1. Select Conf iguration > App-V Publishing in the Studio navigation pane.
Later, if you want to remove all links to the App-V management and publishing servers and stop Studio from discovering
App-V packages from those servers, select Remove Microsof t Server in the Actions pane. T his action is allowed only if no
applications in packages on those servers are currently published in any Delivery Groups. If they are, you must remove those
applications from the Delivery Groups before you can remove the App-V servers.
Machines containing VDAs must have two sets of software installed to support App-V: one from Microsoft and the other
from Citrix.
T his software retrieves virtual applications, publishes the applications on the client, and automatically sets up and
manages virtual environments at runtime on Windows devices. T he App-V client stores user-specic virtual application
settings, such as registry and le changes in each user's prole.
T he App-V client is available from Microsoft. Install a client on each machine containing a VDA, or on the master
image that is used in a machine catalog to create VMs.
T ip: After you install the App-V client, with Administrator permissions, run the PowerShell Get-
AppvClientConguration cmdlet, and ensure that EnablePackageScripts is set to 1. If it is not set to 1, run Set-
AppvClientConguration -EnablePackageScripts $true.
T he Citrix App-V component software is installed and enabled by default when you install a VDA. T hat process also
creates an account with local administrator permissions for accessing the App-V publishing components.
You can control this default action during VDA installation. In the graphical interface, clear the Citrix Personalization
f or App-V - VDA check box on the Additional Components page. In the command line interface, include the
/exclude "Citrix Personalization f or App-V - VDA" option.
If you expressly disable installation of the Citrix App-V components during VDA installation, but later want to use App-
V applications: In the Windows machine's Programs and Features list, right-click the Citrix Virtual Delivery Agent
entry and then select Change. A wizard launches. In the wizard, enable the option that installs and enables App-V
publishing components.
T hese procedures are valid only for the single admin management method.
You must have at least read access to the network share containing the App-V packages.
1. Select Conf iguration > App-V Publishing in the Studio navigation pane.
2. Select Add Packages in the Actions pane.
Removing an App-V package from the Application Library removes it from the Studio App-V Publishing node display.
However, it does not remove its applications from Delivery Groups, and those applications can still be launched. T he
package remains in its physical network location. (T his effect differs from removing an App-V application from a Delivery
Group.)
1. Select Conf iguration > App-V Publishing in the Studio navigation pane.
2. Select one or more packages to be removed.
3. Select Remove Package in the Actions pane.
Removing an isolation group does not remove the application packages. It removes only the grouping.
T he following procedure focuses on how to add App-V applications to Delivery Groups. For complete details about creating
a Delivery Group, see Create Delivery Groups.
Step 1: Choose whether you want to create a new Delivery Group or add App-V applications to an existing Delivery Group:
Step 2: On the Applications page of the wizard, click the Add drop-down to display application sources. Select App-V.
Step 3: On the Add App-V Applications page, choose the App-V source: the App-V server or the Application Library. T he
resulting display includes the application names plus their package names and package versions. Select the check boxes
next to the applications you want to add. T hen click OK.
Good to know:
If you change an App-V application's properties when adding them to a Delivery Group, the changes are made when the
application is started. For example, if you modify an application's display name or icon when adding it to the group, the
change appears when a user starts the application.
If you later edit a Delivery Group containing App-V applications, there is no change in App-V application performance if
you change the group's delivery type from desktops and applications to applications only.
Troubleshoot
Issues that can occur only when using the dual admin method are marked (DUAL).
(DUAL) T here is a PowerShell connection error when you select Conguration > App-V Publishing in the Studio
navigation pane.
Is the Studio administrator also an App-V server administrator? T he Studio administrator must belong to the
"administrators" group on the App-V management server so that they can communicate with it.
(DUAL) T he Test connection operation returns an error when you specify App-V server addresses in Studio.
Is the App-V server powered on? Either send a Ping command or check the IIS Manager; each App-V server should be in a
Started and Running state.
Is PowerShell remoting enabled on the App-V server? If not, see http://technet.microsoft.com/en-
us/magazine/ff700227.aspx.
Is the Studio administrator also an App-V server administrator? T he Studio administrator must belong to the
"administrators" group on the App-V management server so that they can communicate with it.
Is file sharing enabled on the App-V server? Enter \\< App-V server FQDN> in Windows Explorer or with the Run
command.
Does the App-V server have the same file sharing permissions as the App-V administrator? On the App-V server, add an
entry for\\<App-V Server FQDN> in Stored User Names and Passwords, specifying the credentials of the user who has
If the Studio machine and the App-V server are in different Active Directory domains that do not have a trust
relationship, from the PowerShell console on the Studio machine, run winrm s winrm/Cong/client
@(TrustedHosts="< App-V server FQDN>").
If TrustedHosts is managed by GPO, the following error message will display: "T he cong setting TrustedHosts cannot
be changed because use is controlled by policies. T he policy would need to be set to Not Congured to change the
cong setting." In this case, add an entry for the App-V server name to the TrustedHosts policy in GPO (Administrative
Templates > Windows Components > Windows Remote Management (WinRM) > WinRM Client).
Is the Studio administrator also an App-V management server administrator? T he Studio administrator must belong to
the "administrators" group on the App-V management server so that they can communicate with it.
Is the App-V management server running? Either send a Ping command or check the IIS Manager; each App-V server
should be in a Started and Running state.
Is PowerShell remoting enabled on both App-V servers? If not, see http://technet.microsoft.com/en-
us/magazine/ff700227.aspx.
Do packages have the appropriate security permissions for the Studio administrator to access?
If these steps do not resolve the issues, enable and examine the logs.
Logs
App-V conguration-related logs are located at C:\CtxAppvLogs. T he application launch logs are located at:
To enable Studio and VDA logs used for App-V, you must have administrator privileges. You will also need a text editor such
as Notepad.
Overview
Managing applications and managing the images they are installed on can be a challenge. T he Citrix AppDisks feature is a
solution. AppDisks separate applications and groups of applications from the operating system, enabling you to manage
them independently.
You can create different AppDisks containing applications designed for individual user groups, and then assemble the
AppDisks on a master image of your choice. Grouping and managing applications this way gives you ner control of
applications, and reduces the number of master images you maintain. T his simplies IT administration and enables you to be
more responsive to user needs. You deliver the applications in AppDisks through Delivery Groups.
If your deployment also includes Citrix AppDNA, you can integrate the AppDisks feature with it; AppDNA allows XenApp
and XenDesktop to perform automatic analysis of applications on a per-AppDisk basis. Using AppDNA helps make the most
of the AppDisks feature. Without it, application compatibility is not tested or reported.
AppDisks differ from other application-provisioning technologies in two ways: isolation and change management.
Microsoft App-V allows incompatible applications to exist together by isolating them. T he AppDisks feature does not
isolate applications. It separates applications (and supporting files and registry keys) from the OS. T o the OS and the
user, AppDisks look and behave as if they are installed directly on a master image.
Change management (updating master images and testing the compatibility of updates with installed applications) can
be a significant expense. AppDNA reports help identify issues and suggest remediation steps. For example, AppDNA can
identify applications that have common dependencies such as .NET , so you can install them on a single common base
image. AppDNA can also identify applications that load early in the OS startup sequence, so that you can then ensure
they behave as expected.
Good to know:
After updating an image, some applications may fail to work properly due to an ability to verify previously installed
licenses. For example, after an image upgrade, launching Microsoft Office may display an error message similar to:
"Microsoft Ofce Professional Plus 2010 cannot verify the license for this application. A repair attempt failed or was
canceled by the user, the application will not shut down."
T o resolve this issue, uninstall Microsoft Office and install the new version on the base image.
In some cases, downloading Metro apps from the Windows Store to a published catalog's virtual machine fails after a
long time.
Citrix recommends that you always put all Microsoft Office components in the same AppDisk. For example, one AppDisk
with Microsoft Office with Project, and another AppDisk with Microsoft Office with Project and Visio.
On some systems, SCCM crashes when updating an image. T his scenario occurs when updates are made to the base
image, then applied, which results in failure of the SCCM client. T o resolve this issue, install the SCCM client instance in
the base image first.
In some cases, an application installed on the AppDisk may fail to appear in the Windows Start menu after it is assigned
Tip
When creating an AppDisk, use a VM with only the OS installed (that is, do not include other apps); the OS should contain all updates
prior to creating the AppDisk.
Deployment overview
T he following list summarizes the steps to deploy AppDisks. Details are provided later in this article.
1. From your hypervisor management console, install a Virtual Delivery Agent (VDA) on a VM.
2. Create an AppDisk, which includes completing steps from your hypervisor management console and in Studio.
3. From your hypervisor management console, install applications on the AppDisk.
4. Seal the AppDisk (from the hypervisor management console or in Studio). Sealing allows XenApp and XenDesktop to
record the AppDisk's applications and supporting files in an Application Library (AppLibrary).
5. In Studio, create or edit a Delivery Group and select the AppDisks to include; this is called assigning the AppDisks (even
though you use the Manage AppDisks action in Studio). When VMs in the Delivery Group start up, XenApp and
Requirements
Using AppDisks has requirements in addition to those listed in the System requirements article.
T he AppDisks feature is supported only in deployments containing (at minimum) versions of the Delivery Controller and
Studio provided in the XenApp and XenDesktop 7.8 download, including the prerequisites that the installer automatically
deploys (such as .NET 4.5.2).
AppDisks can be created on the same Windows OS versions that are supported for VDAs. T he machines selected for
Delivery Groups that will use AppDisks must have at least VDA version 7.8 installed.
Citrix recommends that you install or upgrade all machines with the most recent VDA version (and then upgrade
Machine Catalogs and Delivery Groups, if needed). When creating a Delivery Group, if you select machines that have
different VDA versions installed, the Delivery Group will be compatible with the earliest VDA version. (T his is called the
group's functional level.) For more information about functional level, see the Create Delivery Groups article.
To provision VMs that will be used to create AppDisks, you can use:
AppDisks cannot be used with other host hypervisors and cloud service types supported for XenApp and XenDesktop.
Creating AppDisks is not supported with machines in MCS catalogs that use caching of temporary data.
Note
You can attach AppDisks to MCS-provisioned machines using write caching, but they cannot be used to create AppDisks.
T he Windows Volume Shadow Service must be enabled on the VM where you are creating an AppDisk. T his service is
enabled by default.
Delivery Groups used with AppDisks can contain machines from pooled random Machine Catalogs containing server OS or
desktop OS machines. You cannot use AppDisks with machines from other catalog types, such as pooled static or
dedicated (assigned).
Machines on which Studio is installed must have .NET Framework 3.5 installed (in addition to any other installed .NET
versions).
Separating applications and the OS using two disks, and storing those disks in different areas can affect your storage
strategy. T he following graphic illustrates the MCS and PVS storage architectures. "WC" indicates the write cache, and
"T hin" indicates the thin disk used to store differences between a VM's AppDisk and OS virtual disks.
In MCS environments:
You can continue to balance the size of the AppDisks and OS virtual disks (vDisks) using your organization's existing
sizing guidelines. If AppDisks are shared between multiple Delivery Groups, the overall storage capacity can be reduced.
OS vDisks and AppDisks are located in the same storage areas, so plan your storage capacity requirements carefully
to avoid any negative effect on capacity when you deploy AppDisks. AppDisks incur overhead, so be sure your storage
accommodates that overhead and the applications.
T here is no net effect on IOPS because the OS vDisks and AppDisks are located in the same storage area. T here are
no write cache considerations when using MCS.
You must allow for the increased capacity and IOPS as applications move from AppDisk storage to the hypervisor-
attached storage.
With PVS, OS vDisks and AppDisks use different storage areas. T he OS vDisk storage capacity is reduced, but the
hypervisor-attached storage is increased. So, you should size your PVS environments to accommodate those
changes.
AppDisks in the hypervisor-attached storage require more IOPS while the OS vDisks require fewer.
Write cache: PVS uses a dynamic VHDX le on an NT FS formatted drive; when blocks are written to the write cache,
the VHDX le is dynamically extended. When AppDisks are attached to their associated VM, they are merged with
the OS vDisks to provide a unied view of the le system. T his merging typically results in additional data being written
to the write caches, which increases the size of the write cache le. You should account for this in your capacity
planning.
In either MCS or PVS environments, remember to decrease the size of the OS vDisk to take advantage of the AppDisks you
create. If you dont, plan to use more storage.
When many users in a Site turn on their computers simultaneously (for example, at the beginning of the workday), the
multiple startup requests apply pressure on the hypervisor, which can affect performance. For PVS, applications are not
located on the OS vDisk, so fewer requests are made to the PVS server. With the resulting lighter load on each target
device, the PVS server can stream to more targets. However, be aware that the increased target-server density might
negatively affect boot storm performance.
Create an AppDisk
T here are two ways to create an AppDisk, install applications on it, and then seal it. Both methods include steps you
complete from your hypervisor management console and in Studio. T he methods differ in where you complete most the
steps.
PVS considerations
AppDisks on machines from Machine Catalogs created by Provisioning Services require additional conguration during
AppDisk creation. From the Provisioning Services console:
T his procedure includes three tasks: create the AppDisk, create applications on the AppDisk, and then seal the AppDisk.
Create an AppDisk:
1. Select AppDisks in the Studio navigation pane and then select Create AppDisk in the Actions pane.
2. Review the information on the Introduction page of the wizard and then click Next.
3. On the Create AppDisk page, select the Create new AppDisk radio button. Select either a predefined disk size (small,
medium, or large) or specify a disk size in GB; the minimum size is 3 GB. T he disk size should be large enough to hold the
applications you will add. Click Next.
4. On the Preparation Machine page, select a random pooled catalog to be used as the master image on which the
AppDisk will be built. Note: T he display lists all the Machine Catalogs in the Site, separated by type; only those catalogs
that contain at least one available machine can be selected. If you choose a catalog that does not contain random
pooled VMs, the AppDisk creation will fail. After you select a VM from a random pooled catalog, click Next.
5. On the Summary page, type a name and description for the AppDisk. Review the information you specified on previous
wizard pages. Click Finish.
Remember: If you are using PVS, follow the guidance in the PVS considerations section above.
After the wizard closes, the Studio display for the new AppDisk indicates "Creating." After the AppDisk is created, the
display changes to "Ready to install applications."
From your hypervisor management console, install applications on the AppDisk. (Tip: If you forget the VM name, select
AppDisks in the Studio navigation pane and then select Install Applications in the Actions pane to display its name.) See
the hypervisor documentation for information about installing applications. (Remember: You must install applications on
the AppDisk from your hypervisor management console. Do not use the Install Applications task in the Studio Actions
pane.)
After you create the AppDisk, install applications on it, and then seal it, assign it to a Delivery Group.
Note
If you cancel AppDisk preparation, rebooting the machine returns it to the initial state, otherwise you need to create a clean VM.
1. Select AppDisks in the Studio navigation pane and then select Create AppDisk in the Actions pane.
2. On the Introduction page, review the information and then click Next.
3. On the Create AppDisk page, select the Import existing AppDisk radio button. Select the resource (network and
storage) where the AppDisk you created resides on the hypervisor. Click Next.
4. On the Preparation Machine page, browse to the machine, select the disk, and then click Next.
5. On the Summary page, type a name and description for the AppDisk. Review the information you specified on previous
wizard pages. Click Finish. Studio imports the AppDisk.
After you import the AppDisk into Studio, assign it to a Delivery Group.
If you are adding AppDisks to a Delivery Group that you are creating, use the following guidance for the AppDisks page in
the Create Delivery Group wizard. (For information about other pages in that wizard, see the Create Delivery Groups article.)
AppDisks page:
T he AppDisks page (in the Create Delivery Group wizard or in the Manage AppDisks ow) lists the AppDisks already
deployed for the Delivery Group and their priority. (If you are creating the Delivery Group, the list will be empty.) For more
information, see the AppDisk priority section.
1. Click Add. T he Select AppDisks dialog box lists all AppDisks in the left column. AppDisks that are already assigned to this
Delivery Group have enabled checkboxes and cannot be selected.
2. Select one or more checkboxes for available AppDisks in the left column. T he right column lists the applications on the
AppDisk. (Selecting the Applications tab above the right column lists applications in a format similar to a Start menu;
selecting the Installed packages tab lists applications in a format similar to the Programs and Features list.)
3. After selecting one or more available AppDisks, click OK.
4. Click Next on the AppDisks page.
You can use the up and down arrows adjacent to the list to change the AppDisk priority. If AppDNA is integrated with your
AppDisk deployment, it automatically analyzes the applications and then sets the priority when the AppDisks are assigned
to the Delivery Group. Later, if you add or remove AppDisks from the group, clicking Auto-Order instructs AppDNA to re-
analyze the current list of AppDisks and then determine the priorities. T he analysis (and priority reordering, if needed) may
take several moments to complete.
Managing AppDisks
After you create and assign AppDisks to Delivery Groups, you can change the AppDisk's properties through the AppDisks
node in the Studio navigation pane. Changes to applications in an AppDisk must be done from the hypervisor management
console.
Important
You can use the Windows Update service to update applications (such as the Ofce suite) on an AppDisk. However, do not use the
Windows Update Service to apply operating system updates to an AppDisk. Apply operating system updates to the master image,
not the AppDisk; otherwise, the AppDisk will not initialize correctly.
When applying patches and other updates to applications in an AppDisk, apply only those that the application requires. Do not
apply updates for other applications.
When installing Windows updates, first deselect all entries and then select the subset required by the applications on the
AppDisks you're updating.
T his section provides information about adding exceptions for the following antivirus applications:
3. In the Windows Defender console, select Settings in the upper right portion of the interface:
After adding the exclusions, they appear in the list of excluded processes in the Settings screen:
5. In the Protection tab, scroll down until you locate the Exclusions section.
6. In the Files section, click Add, and enter the following AppDisk processes to the exception list:
Symantec
5. After clicking Add, a context menu appears to allow you to specify the application type. Select Application Exception:
command COPY
McAf ee
1. Right click the McAfee icon, and expand the Quick Settings option.
2. In the expanded menu, select On-Access Scan Properties:
command COPY
8. Click OK.
9. T he Set Exclusions screen now displays the added exclusions. Click OK to apply the changes:
For example, create a new app and make it available for all users:
1. Install an app on the AppDisk (for example, Beyond Compare is the selected app):
1. Install an app on the AppDisk and make it available for the current user:
T his new functionality uses a script-based PowerShell tool which identies all of the log les created by AppDisk/PVD,
collects output from PowerShell commands containing information about the system (and processes), compresses
everything into a single organized le, and nally provides the option to either save the compressed folder locally, or upload
it to CIS (Citrix Insight Services).
Note
CIS gathers anonymous diagnostic information that it uses to improve AppDisk/PVD functionality. Access the Citrix CIS website to
manually upload the diagnostic bundle. You must login with your Citrix credentials to access this site.
Note
T hese scripts are added in C:\Program Files\Citrix\personal vDisk\bin\scripts. You must execute these PowerShell scripts as an
administrator.
Upload-AppDDiags.ps1
Use this script to initiate AppDisk diagnostic data collection and optionally manually upload the data to the CIS website.
command COPY
EXAMPLES
Upload-AppDDiags
Upload diagnost ic dat a t o Cit rix CIS websit e using credent ials ent ered by int eract ive user.
Save AppDisk diagnost ic dat a t o t he specied zip le. You can access ht t ps://cis.cit rix.com/ t o upload it lat er.
Tip
When there is no OutputFile argument, upload occurs. If OutputFile is specied, the script creates a zip le that the you can
upload manually at a later time.
Upload-PvDDiags.ps1
Use this script to initiate PvD diagnostic data collection and optionally manually upload the data to the CIS website.
command COPY
EXAMPLES
Upload-PvDDiags
Upload PvD diagnost ic dat a t o Cit rix CIS websit e using credent ials ent ered by int eract ive user.
Save PvD diagnost ic dat a t o t he specied zip le. You can access ht t ps://cis.cit rix.com/ t o upload it lat er.
Tip
When there is no OutputFile argument, upload occurs. If OutputFile is specied, the script creates a zip le that the you can
upload manually at a later time.
Introduction
Requirements, considerations, and limitations
Interaction with Windows
Configure Local App Access and URL redirection
Introduction
Local App Access seamlessly integrates locally installed Windows applications into a hosted desktop environment without
changing from one computer to another. With Local App Access, you can:
Access applications installed locally on a physical laptop, PC, or other device directly from the virtual desktop.
Provide a flexible application delivery solution. If users have local applications that you cannot virtualize or that IT does
not maintain, those applications still behave as though they are installed on a virtual desktop.
Eliminate double-hop latency when applications are hosted separately from the virtual desktop, by putting a shortcut to
the published application on the user's Windows device.
Use applications such as:
Video conferencing software such as GoT oMeeting.
Specialty or niche applications that are not yet virtualized.
Applications and peripherals that would otherwise transfer large amounts of data from a user device to a server and
back to the user device, such as DVD burners and T V tuners.
In XenApp and XenDesktop, hosted desktop sessions use URL redirection to launch Local App Access applications. URL
redirection makes the application available under more than one URL address. It launches a local browser (based on the
browser's URL blacklist) by selecting embedded links within a browser in a desktop session. If you navigate to a URL that is
not present in the blacklist, the URL is opened in the desktop session again.
URL redirection works only for desktop sessions, not application sessions. T he only redirection feature you can use for
application sessions is host-to-client content redirection, which is a type of server FTA (File Type Association) redirection.
T his FTA redirects certain protocols to the client, such as http, https, rtsp, or mms. For example, if you only open embedded
links with http, the links directly open with the client application. T here is no URL blacklist or whitelist support.
When Local App Access is enabled, URLs that are displayed to users as links from locally-running applications, from user-
hosted applications, or as shortcuts on the desktop are redirected in one of the following ways:
From the user's computer to the hosted desktop
From the XenApp or XenDesktop server to the user's computer
Rendered in the environment in which they are launched (not redirected)
To specify the redirection path of content from specic Web sites, congure the URL whitelist and URL blacklist on the
Virtual Delivery Agent. T hose lists contain multi-string registry keys that specify the URL redirection policy settings; for more
information, see the Local App Access policy settings.
In addition to URL redirection, you can use FTA redirection. FTA launches local applications when a le is encountered in the
session. If the local app is launched, the local app must have access to the le to open it. T herefore, you can only open les
that reside on network shares or on client drives (using client drive mapping) using local applications. For example, when
opening a PDF le, if a PDF reader is a local app, then the le opens using that PDF reader. Because the local app can
access the le directly, there is no network transfer of the le through ICA to open the le.
Internet Explorer 11. You can use Internet Explorer 8, 9, or 10, but Microsoft supports (and Citrix recommends using)
version 11.
Firefox 3.5 through 21.0
Chrome 10
Review the following considerations and limitations when using Local App Access and URL redirection.
Local App Access is designed for full-screen, virtual desktops spanning all monitors:
T he user experience can be confusing if Local App Access is used with a virtual desktop that runs in windowed mode
or does not cover all monitors.
For multiple monitors, when one monitor is maximized it becomes the default desktop for all applications launched in
that session, even if subsequent applications typically launch on another monitor.
T he feature supports one VDA; there is no integration with multiple concurrent VDAs.
Some applications can behave unexpectedly, affecting users:
Users might be confused with drive letters, such as local C: rather than virtual desktop C: drive.
Available printers in the virtual desktop are not available to local applications.
Applications that require elevated permissions cannot be launched as client-hosted applications.
T here is no special handling for single-instance applications (such as Windows Media Player).
Local applications appear with the Windows theme of the local machine.
Full-screen applications are not supported. T his includes applications that open to full screen, such as PowerPoint
slide shows or photo viewers that cover the entire desktop.
Local App Access copies the properties of the local application (such as the shortcuts on the client's desktop and
Start menu) on the VDA; however, it does not copy other properties such as shortcut keys and read-only attributes.
Applications that customize how overlapping window order is handled can have unpredictable results. For example,
some windows might be hidden.
Shortcuts are not supported, including My Computer, Recycle Bin, Control Panel, Network Drive shortcuts, and folder
shortcuts.
T he following file types and files are not supported: custom file types, files with no associated programs, zip files, and
Install Citrix Receiver on the local client machine. You can enable both features during Citrix Receiver installation or you
Enable Local App Access and URL redirection during Citrix Receiver installation
To enable Local App Access and URL redirection for all local applications:
1. Set the Allow local app access policy setting to Enabled. When this setting is enabled, the VDA allows the client to
decide whether administrator-published applications and Local App Access shortcuts are enabled in the session. (When
this setting is disabled, both administrator-published applications and Local App Access shortcuts do not work for the
VDA.) T his policy setting applies to the entire machine, as well as the URL redirection policy.
2. Enable Local App Access and URL redirection when you install Citrix Receiver for all users on a machine. T his action also
registers the browser add-ons required for URL redirection. From the command prompt, run the appropriate command to
install the Receiver with the following option:
CitrixReceiver.exe /ALLOW_CLIENTHOSTEDAPPSURL=1
CitrixReceiverWeb.exe /ALLOW_CLIENTHOSTEDAPPSURL=1
Enable the Local App Access template using the Group Policy editor
1. Run gpedit.msc.
2. Select Computer Conf iguration. Right-click Administrative Templates and select Add/Remote Templates > Add.
3. Add the icaclient.adm template located in the Citrix Receiver Configuration folder (usually in c:\Program Files
(x86)\Citrix\Online Plugin\Configuration). (After the icaclient.adm template is added to Computer Configuration, it is also
available in User Configuration.)
4. Expand Administrative Templates > Classic Administrative Templates (ADM) > Citrix Components > Citrix
Receiver > User Experience.
5. Select Local App Access settings.
6. Select Enabled and then select Allow URL Redirection. For URL redirection, register browser add-ons using the
command line, as described below.
Note: T he browser add-ons required for URL redirection are registered automatically when you install Citrix Receiver from
the command line with the /ALLOW_CLIENT HOST EDAPPSURL=1 option.
You can use the following commands to register and unregister one or all add-ons:
For example, the following command registers Internet Explorer add-ons on a device running Citrix Receiver.
By default, Internet Explorer redirects the URL entered. If the URL is not in the blacklist but is redirected to another URL
by the browser or website, the final URL is not redirected, even if it is on the blacklist.
For URL redirection to work correctly, enable the add-on when prompted by the browser. If the add-ons that are
using Internet options or the add-ons in the prompt are disabled, URL redirection does not work correctly.
When an add-on is installed, Firefox prompts to allow/prevent installing the add-on on a new tab page. You must
allow the add-on for the feature to work.
T he Chrome add-on always redirects the final URL that is navigated, and not the entered URLs.
T he extensions have been installed externally. If you disable the extension, the URL redirection feature does not work
in Chrome. If the URL redirection is required in Incognito mode, allow the extension to run in that mode in the browser
settings.
With the XenApp Secure Browser, users can have a seamless web-based application experience where a hosted web-based
application simply appears within the users preferred local browser. For example, a users preferred browser is Mozilla
Firefox but the application is only compatible with Microsoft Internet Explorer. XenApp Secure Browser will display the
Internet Explorer compatible application as a tab within the Firefox browser.
T he XenApp Secure Browser blueprint includes scripts to automate the following tasks:
1. From the Citrix Cloud home page, navigate to Services; click Request T rial for Citrix Smart T ools. Once you request the
trial, youll receive an email notifying you when the trial service is available. T his generally takes 5-10 minutes.
2. Click Manage in the email you received when you requested the trail to display the Citrix Smart T ools home page.
3. Download the Citrix XenApp Secure Browser Edition ISO from the Citrix download site.
Consider the following after downloading the Secure Browser Edition ISO:
Start using the XenApp Secure Browser blueprint by following the instructions specified in XenApp Secure Installation
with a Citrix Smart T ools blueprint.
After completing the installation, further optimize your environment for webapp delivery by using the configuration
steps specified in the XenApp Secure Browser Deployment Guide.
1. Download the Citrix XenApp Secure Browser Edition ISO from the Citrix download site.
2. Follow the install instructions for various components of XenApp.
3. Configure the edition and license mode for the Secure Browser edition after installation, by perfoming the following
additional steps:
Note: On 64-bit systems, this starts the 64-bit version. Both the 32-bit or 64-bit versions are supported.
b. Type Asnp Citrix* and press Enter to load the Citrix-specic PowerShell modules.
c. Check the current site settings and license mode, by running the Get-CongSite cmdlet.
d. Set the license mode to XenApp Secure Browser edition by running the Set-CongSite -ProductCode XDT -
ProductEdition BAS.
e. Conrm that the XenApp Secure Browser edition and license mode is set properly by running the Get-
BrokerSite cmdlet.
Note
After completing the installation, further optimize your environment for webapp delivery by using the conguration steps specied
in the XenApp Secure Browser Deployment Guide.
T he published content appears just like other applications in StoreFront and Citrix Receiver. Users access it in the same way
they access applications. On the client, the resource opens as usual.
You publish content using the PowerShell SDK. (You cannot use Studio to publish content. However, you can use Studio to
edit application properties later, after they are published.)
T he CommandLineExecutable property species the location of the published content. T he following formats are
supported, with a limit of 255 characters.
For XenApp and XenDesktop Service deployments, download and install the XenApp and XenDesktop Remote
PowerShell SDK.
For on-premises XenApp and XenDesktop deployments, use the PowerShell SDK that is installed with the Delivery
Controller. Adding a published content application requires a minimum version 7.11 Delivery Controller.
Get started
On the machine containing the PowerShell SDK, open PowerShell.
T he following cmdlet adds the appropriate PowerShell SDK snap-in, and assigns the returned Delivery Group record.
Add-PsSnapin Citrix*
$dg = Get-BrokerDesktopGroup Name PublishedContentApps
If you are using the XenApp and XenDesktop Service, authenticate by entering your Citrix Cloud credentials. If there is more
than one customer, choose one.
Publish a URL
After assigning the location and application name, the following cmdlet publishes the Citrix home page as an application.
$citrixUrl = "https://www.citrix.com/"
$appName = "Citrix Home Page"
Verify success:
Open StoreFront and log on as a user who can access applications in the PublishedContentApps Delivery Group. T he
display includes the newly created application with the default icon. T o learn about customizing the icon, see
https://www.citrix.com/blogs/2013/08/21/xd-tipster-changing-delivery-group-icons-revisited-xd7/.
Click the Citrix Home Page application. T he URL launches in a new tab in a locally running instance of your default
browser.
$docxUNC = "\\GMSXJ-EDGE0.xd.local\PublishedResources\PublishedDOCX.docx"
$docxAppName = "PublishedDOCX"
Verify success:
Application properties (such as user visibility, group association, and shortcut) apply to the published content. However, you
cannot change the command-line argument or working directory properties on the Location page. To change the resource,
modify the "Path to the executable le" eld on that page.
To use a published application to open a PublishedContent application (rather than a local application), edit the published
application's File Type Association property. In this example, the published WordPad application was edited to create a File
Type Association for .rtf les.
Important: Turn on maintenance mode for the Delivery Group before editing the File Type Association. Remember to turn
off maintenance mode when you're done.
Enterprise administrators can deliver server operating systems as VDI desktops, which can be valuable for users such as
engineers and designers.
Service Providers can offer desktops from the cloud; those desktops comply with the Microsoft Services Provider License
Agreement (SPLA).
You can use the Enhanced Desktop Experience Citrix policy setting to make the server operating system look like a
Windows 7 operating system.
Personal vDisks
Hosted applications
Local App Access
Direct (non-brokered) desktop connections
Remote PC Access
For Server VDI to work with T WAIN devices such as scanners, the Windows Server Desktop Experience feature must be
installed. In Windows Server 2012, this is an optional feature which you install from Administrative Tools > Server Manager >
Features > Add features > Desktop Experience.
Server VDI is supported on the same server operating systems as the VDA for Windows Server OS.
Use Windows Server Manager to ensure that the Remote Desktop Services role services are not installed. If they were
previously installed, remove them. (T he VDA installation fails if these role services are installed.)
Ensure that the Restrict each user to a single session property is enabled.
On Windows Server 2008 R2, access this property through Administrative Tools > Remote Desktop Services > Remote
Desktop Session Host Conguration. In the Edit settings > General section, the Restrict each user to a single
session setting should indicate Yes.
On Windows Server 2012R2 or Windows Server 2016, edit the registry to set the Terminal Server setting. In registry key
HKEY_LOCAL_MACHINE\SYST EM\CurrentControlSet\Control\TerminalServer to set
DWORD fSingleSessionPerUser to 1.
Step 2. For Windows Server 2008 R2, install Microsoft .NET Framework 3.5 SP1 on the server before installing the VDA.
Step 3. Use the command line interface of the full-product installer to install a VDA on a supported server or server master
image, specifying the /quiet and /servervdi options. (By default, the installer blocks the Windows Desktop OS VDA on a
server operating system; using the command line overrides this behavior.)
You can specify the Delivery Controller or Controllers while installing the VDA using the command line, using
the /controllers option.
Use the /enable_hdx_ports option to open ports in the rewall, unless the rewall is to be congured manually.
Add the /masterimage option if you are installing the VDA on an image, and will use MCS to create server VMs from that
image.
Do not include options for features that are not supported with Server VDI, such as /baseimage.
On the Summary page, specify a machine catalog name and description for administrators that clearly identies it as Server
VDI; this will be the only indicator in Studio that the catalog supports Server VDI.
When using Search in Studio, the Server VDI catalog you created is displayed on the Desktop OS Machines tab, even
though the VDA was installed on a server.
Step 5. Create a Delivery Group and assign the Server VDI catalog you created in the previous step.
If you did not specify the Delivery Controllers while installing the VDA, specify them afterward using the Citrix policy setting,
Active Directory, or by editing the VDA machine's registry values.
Personal vDisks provide this separation by redirecting all changes made on the user's VM to a separate disk (the personal
vDisk), which is attached to the user's VM. T he content of the personal vDisk is blended at runtime with the content from
the master image to provide a unied experience. In this way, users can still access applications provisioned by their
administrator in the master image.
Personal vDisks have two parts, which use different drive letters and are by default equally sized:
User profile - T his contains user data, documents, and the user profile. By default this uses drive P: but you can choose a
different drive letter when you create a catalog with machines using personal vDisks. T he drive used also depends on the
EnableUserProfileRedirection setting.
Virtual Hard Disk (.vhd) file - T his contains all other items, for example applications installed in C:\Program Files. T his part is
not displayed in Windows Explorer and, since Version 5.6.7, does not require a drive letter.
Personal vDisks support the provisioning of department-level applications, as well as applications downloaded and installed
by users, including those that require drivers (except phase 1 drivers), databases, and machine management software. If a
user's change conicts with an administrator's change, the personal vDisk provides a simple and automatic way to reconcile
the changes.
In addition, locally administered applications (such as those provisioned and managed by local IT departments) can also be
provisioned into the user's environment. T he user experiences no difference in usability; personal vDisks ensure all changes
made and all applications installed are stored on the vDisk. Where an application on a personal vDisk exactly matches one
on a master image, the copy on the personal vDisk is discarded to save space without the user losing access to the
application.
Physically, you store personal vDisks on the hypervisor but they do not have to be in the same location as other disks
attached to the virtual desktop. T his can lower the cost of personal vDisk storage.
During Site creation, when you create a connection, you dene storage locations for disks that are used by VMs. You can
separate the Personal vDisks from the disks used by the operating system. Each VM must have access to a storage location
for both disks. If you use local storage for both, they must be accessible from the same hypervisor. To ensure this
requirement is met, Studio offers only compatible storage locations. Later, you can also add personal vDisks and storage for
them to existing hosts (but not machine catalogs) from Conguration > Hosting in Studio.
Back up personal vDisks regularly using any preferred method. T he vDisks are standard volumes in a hypervisor's storage tier,
so you can back them up, just like any other volume.
T his version of personal vDisk contains performance improvements that reduce the amount of time it takes to apply an
Attempting an in-place upgrade of a base virtual machine from Microsoft Office 2010 to Microsoft Office 2013 resulted
in the user seeing a reconfiguration window followed by an error message; "Error 25004. T he product key you entered
cannot be used on this machine." In the past, it was recommended that Office 2010 be uninstalled in the base virtual
machine before installing Office 2013. Now, it is no longer necessary to uninstall Office 2010 when performing an in-
place upgrade to the base virtual machine (#391225).
During the image update process, if a higher version of Microsoft .NET exists on the user's personal vDisk, it was
overwritten by a lower version from the base image. T his caused issues for users running certain applications installed on
personal vDisk which required the higher version, such as Visual Studio (#439009).
A Provisioning Services imaged disk with personal vDisk installed and enabled, cannot be used to create a non-personal
vdisk machine catalog. T his restriction has been removed (#485189).
New in version 7.0.1: Personal vDisk is now more robust to environment changes. Virtual desktops with personal vDisks now
register with the Delivery Controller even if image updates fail, and unsafe system shutdowns no longer put the vDisks into
a permanently disabled state. In addition, using rules les you can now exclude les and folders from the vDisks during a
deployment.
When an application installed on a personal vDisk (PvD) is related to another application of the same version that is
installed on the master image, the application on the PvD could stop working after an image update. T his occurs if you
uninstall the application from the master image or upgrade it to a later version, because that action removes the files
needed by the application on the PvD from the master image. T o prevent this, keep the application containing the files
needed by the application on the PvD on the master image.
For example, the master image contains Ofce 2007, and a user installs Visio 2007 on the PvD; the Ofce applications
and Visio work correctly. Later, the administrator replaces Ofce 2007 with Ofce 2010 on the master image, and then
updates all affected machines with the updated image. Visio 2007 no longer works. To avoid this, keep Ofce 2007 in
the master image. [#320915]
When deploying McAfee Virus Scan Enterprise (VSE), use version 8.8 Patch 4 or later on a master image if you use
personal vDisk. [#303472]
If a shortcut created to a file in the master image stops working (because the shortcut target is renamed within PvD),
recreate the shortcut. [#367602]
Do not use absolute/hard links in a master image. [#368678]
T he Windows 7 backup and restore feature is not supported on the personal vDisk. [#360582]
After an updated master image is applied, the local user and group console becomes inaccessible or shows inconsistent
data. T o resolve the issue, reset the user accounts on the VM, which requires resetting the security hive. T his issue was
fixed in the 7.1.2 release (and works for VMs created in later releases), but the fix does not work for VMs that were
created with an earlier version and then upgraded. [#488044]
When using a pooled VM in an ESX hypervisor environment, users see a restart prompt if the selected SCSI controller
type is VMware Paravirtual. For a workaround, use an LSI SCSI controller type. [#394039]
After a PvD reset on a desktop created through Provisioning Services, users may receive a restart prompt after logging
on to the VM. As a workaround, restart the desktop. [#340186]
Windows 8.1 desktop users might be unable to log on to their PvD. An administrator might see message "PvD was
disabled due to unsafe shutdown" and the PvDActivation log might contain the message "Failed to load reg hive
[\Device\IvmVhdDisk00000001\CitrixPvD\Settings\RingCube.dat]." T his occurs when a users VM shuts down unsafely. As
a workaround, reset the personal vDisk. [#474071]
You can install and then enable PvD components when you install or upgrade a VDA for Desktop OS on a machine. T hese
actions are selected on the Additional Components and Features pages of the installation wizard, respectively. For more
information, see Install VDAs.
If you update the PvD software after installing the VDA, use the PvD MSI provided on the XenApp or XenDesktop
installation media.
Enabling PvD:
If you are using Machine Creation Services (MCS), PvD is enabled automatically when you create a machine catalog of
desktop OS machines that will use a personal vDisk.
If you are using Provisioning Services (PVS), PvD is enabled automatically when you run the inventory during the master
(base) image creation process, or when auto-update runs the inventory for you.
T herefore, if you install the PvD components but do not enable them during VDA installation, you can use the same image
to create both PvD desktops and non-PvD desktops, because PvD is enabled during the catalog creation process.
You add personal vDisks to hosts when you congure a Site. You can choose to use the same storage on the host for VMs
and personal vDisks, or you can use different storage for personal vDisks.
Later, you can also add personal vDisks and their storage to existing hosts (connections), but not machine catalogs.
1. Select Configuration > Hosting in the Studio navigation pane.
2. Select Add Personal vDisk storage in the Actions pane, and specify the storage location.
Upgrade PvD
T he easiest way to upgrade personal vDisk from an earlier 7.x version is to simply upgrade your desktop OS VDAs to the
version provided with the most recent XenDesktop version. T hen, run the PvD inventory.
Uninstall PvD
You can use one of two ways to remove the PvD software:
Uninstall the VDA; this removes the PvD software as well.
If you updated PvD using the PvD MSI, then you can uninstall it from the Programs list.
If you uninstall PvD and then want to reinstall the same or a newer version, rst back up the registry key
HKLM\Software\Citrix\personal vDisk\cong, which contains environment conguration settings that might have changed.
T hen, after installing PvD, reset the registry values that might have changed, by comparing them with the backed-up
version.
T his topic covers items you should consider when conguring and managing a personal vDisk (PvD) environment. It also
covers best practice guidelines and task descriptions.
T he following factors affect the size of the main personal vDisk volume:
Size of the applications that users will install on their PvDs
At restarts, PvD determines the free space remaining in the application area (UserData.v2.vhd). If this falls below 10%, the
application area is expanded into any unused prole area space (by default, the space available on the P: drive). T he
space added to the application area is approximately 50% of the combined free space remaining in both the application
area and the prole area.
For example, if the application area on a 10 GB PvD (which by default is 5 GB) reaches 4.7 GB and the prole area has 3
GB free, the increased space that is added to the application area is calculated as follows:
T he space added to the application area is only approximate because a small allowance is made for storing logs and for
overhead. T he calculation and the possible resizing is performed on each restart.
Size of users' prof iles (if a separate prof ile management solution is not used)
In addition to the space required for applications, ensure there is sufcient space available on personal vDisks to store
users' proles. Include any non-redirected special folders (such as My Documents and My Music) when calculating space
requirements. Existing prole sizes are available from the Control Panel (sysdm.cpl).
Some prole redirection solutions store stub les (sentinel les) instead of real prole data. T hese prole solutions might
appear to store no data initially but actually consume one le directory entry in the le system per stub le; generally,
approximately 4 KB per le. If you use such a solution, estimate the size based on the real prole data, not the stub les.
Enterprise le sharing applications (such as ShareFile and Dropbox) might synchronize or download data to users' prole
areas on the personal vDisks. If you use such applications, include enough space in your sizing estimates for this data.
Determine the number of les and folders by right-clicking the C: drive on the base VM image and selecting Properties.
T he presence of antivirus products can affect how long it takes to run the inventory or perform an update. Performance
can improve if you add CtxPvD.exe and CtxPvDSvc.exe to the exclusion list of your antivirus product. T hese les are
located in C:\Program Files\Citrix\personal vDisk\bin. Excluding these executables from scanning by the antivirus
software can improve inventory and image update performance by up to a factor of ten.
You can manually adjust the automatic resizing algorithm that determines the size of the VHD relative to the P: drive, by
setting the initial size of the VHD. T his can be useful if, for example, you know users will install a number of applications
that are too big to t on the VHD even after it is resized by the algorithm. In this case, you can increase the initial size of
the application space to accommodate the user-installed applications.
Preferably, adjust the initial size of the VHD on a master image. Alternatively, you can adjust the size of the VHD on a
virtual desktop when a user does not have sufcient space to install an application. However, you must repeat that
operation on each affected virtual desktop; you cannot adjust the VHD initial size in a catalog that is already created.
Ensure the VHD is big enough to store antivirus denition les, which are typically large.
Locate and set the following registry keys in HKEY_LOCAL_MACHINE\SOFT WARE\Citrix\personal vDisk\Config. (Do not
modify other settings in this registry key.) All settings must be specified on the master image (except for
MinimumVHDSizeInMB, which can be changed on an individual machine); settings specified on the master image are applied
during the next image update.
MinimumVHDSizeMB
Species the minimum size (in megabytes) of the application part (C:) of the personal vDisk. T he new size must be greater
than the existing size but less than the size of the disk minus PvDReservedSpaceMB.
Increasing this value allocates free space from the prole part on the vDisk to C:. T his setting is ignored if a lower value
than the current size of the C: drive is used, or if EnableDynamicResizeOfAppContainer is set to 0.
Default = 2048
EnableDynamicResizeOf AppContainer
Enables or disables the dynamic resizing algorithm.
When set to 1, the application space (on C:) is resized automatically when the free space on C: falls below 10%.
Allowed values are 1 and 0. A restart is required to effect the resize.
EnableUserProf ileRedirection
Enables or disables redirecting the user's profile to the vDisk.
When set to 1, PvD redirects users' profiles to the personal vDisk drive (P: by default). Profiles are generally redirected
to P:\Users, corresponding to a standard Windows profile. T his redirection preserves the profiles in case the PvD
desktop must be reset.
When set to 0, all of the space on the vDisk minus PvDReservedSpaceMB is allocated to C:, the application part of
the vDisk, and the vDisk drive (P:) is hidden in Windows Explorer. Citrix recommends disabling redirection by setting the
value to 0, when using Citrix Profile management or another roaming profile solution.
T his setting retains the proles in C:\Users instead of redirecting them to the vDisk, and lets the roaming prole
solution handle the proles.
It is assumed that if this value is set to 0, a prole management solution is in place. Disabling prole redirection
without a roaming prole solution in place is not recommended because subsequent PvD reset operations result in
the proles being deleted.
Do not change this setting when the image is updated because it does not change the location of existing proles, but
it will allocate all the space on the Personal vDisk to C: and hide the PvD.
Congure this value before deploying a catalog. You cannot change it after the catalog is deployed.
Important: Beginning with XenDesktop 7.1, changes to this value are not honored when you perform an image update.
Set the key's value when you first create the catalogs from which the profiles will originate. You cannot modify the
redirection behavior later.
Default = 1
PercentOf PvDForApps
Sets the split between the application part (C:) and the prole part of the vDisk. T his value is used when creating new
VMs, and during image updates when EnableDynamicResizeOfAppContainer is set to 0.
Increasing PercentOfPvDForApps only increases the maximum space for which the Apps portion is allowed to expand. It
does not provision that space for you immediately. You must also congure the split allocation in the master image,
where it will be applied during the next image update.
If you have already generated a catalog of machines with EnableDynamicResizeOfAppContainer set to 1, then change
that setting to 0 in the master image for the next update, and congure an appropriate allocation split. T he requested
split size will be honored as long as it is larger than the current allocated size for the C drive.
If you want to maintain complete control over the space split, set this value to 0. T his allows full control over the C drive
size, and does not rely on a user consuming space below the threshold to expand the drive.
If your deployment includes XenApp 6.5 (or an earlier version) and uses application streaming, increase this value by the
size of the Rade Cache.
Default = 512
PvDResetUserGroup
Valid only for XenDesktop 5.6 - Allows the specied group of users to reset a Personal vDisk. Later XenDesktop releases
use Delegated Administration for this.
Other settings:
Windows Update Service - Ensure that you set Windows updates to Never Check for Update and the Windows update
service to Disabled in the master image. In the event Windows Update Service needs to run on the PvD, setting it to
Never Check for Update helps prevent the updates from being installed on the associated machines.
Windows 8 Store needs this service to run to install any Modern-style application.
Windows updates - T hese include Internet Explorer updates and must be applied on the master image.
Updates requiring restarts - Windows updates applied to the master image might require multiple restarts to fully
install, depending on the type of patches delivered in those updates. Ensure you restart the master image properly to
fully complete the installation of any Windows updates applied to it before taking the PvD inventory.
Application updates - Update applications installed on the master image to conserve space on users' vDisks. T his also
avoids the duplicate effort of updating the applications on each user's vDisk.
Some software might conict with the way that PvD composites the user's environment, so you must install it on the
master image (rather than on the individual machine) to avoid these conicts. In addition, although some other software
might not conict with the operation of PvD, Citrix recommends installing it on the master image.
T he following recommendations and restrictions apply to applications installed by users on machines with personal vDisks.
Some of these cannot be enforced if users have administrative privileges:
Users should not uninstall an application from the master image and reinstall the same application on their personal
vDisk.
T ake care when updating or uninstalling applications on the master image. After you install a version of an application on
Size the write cache disk correctly. During normal operation, PvD captures most user writes (changes) and redirects them to
the personal vDisk. T his implies that you can reduce the size of the Provisioning Services write cache disk. However, when
PvD is not active (such as during image update operations), a small Provisioning Services write cache disk can ll up, resulting
in machine crashes.
Citrix recommends that you size Provisioning Services write cache disks according to Provisioning Services best practice and
add space equal to twice the size of the template VHD on the master image (to accommodate merge requirements). It is
extremely unlikely that a merge operation will require all of this space, but it is possible.
T he Provisioning Services test mode feature enables you to create a test catalog containing machines using an updated
master image. If tests conrm the test catalog's viability, you can promote it to production.
When using Machine Creation Services (MCS) to deploy a catalog with PvD-enabled machines:
Follow the guidance in the XenDesktop documentation.
Run a PvD inventory after you create the master image and then power off the VM (PvD will not function correctly if
you do not power off the VM). T hen, take a snapshot of the master image.
In the Create Machine Catalog wizard, specify the personal vDisk size and drive letter.
After you create a Delivery Group, you can monitor the personal vDisk using the PvD Image Update Monitoring T ool or
the Resize and poolstats scripts (personal-vdisk-poolstats.ps1).
You can change the power action throttling settings by editing the connection in Studio; see below.
Use the rules les to exclude les and folders from the vDisks. You can do this when the personal vDisks are in deployment.
T he rules les are named custom_*_rules.template.txt and are located in the \cong folder. Comments in each le provide
additional documentation.
When you enable PvD and after any update to the master image after installation, it is important to refresh the disk's
inventory (called "run the inventory") and create a new snapshot.
Because administrators, not users, manage master images, if you install an application that places binary les in the
administrator's user prole, the application is not available to users of shared virtual desktops (including those based on
pooled machine catalogs and pooled with PvD machine catalogs). Users must install such applications themselves.
It is best practice to take a snapshot of the image after each step in this procedure.
1. Update the master image by installing any applications or operating system updates, and performing any system
configuration on the machine.
For master images based on Windows XP that you plan to deploy with Personal vDisks, check that no dialog boxes are
open (for example, messages conrming software installations or prompts to use unsigned drivers). Open dialog boxes on
master images in this environment prevent the VDA from registering with the Delivery Controller. You can prevent
prompts for unsigned drivers using the Control Panel. For example, navigate to System > Hardware > Driver Signing, and
select the option to ignore warnings.
2. Shut down the machine. For Windows 7 machines, click Cancel when Citrix Personal vDisk blocks the shutdown.
3. In the Citrix Personal vDisk dialog box, click Update Inventory. T his step may take several minutes to complete.
Important: If you interrupt the following shutdown (even to make a minor update to the image), the Personal vDisk's
inventory no longer matches the master image. T his causes the Personal vDisk feature to stop working. If you interrupt
the shutdown, you must restart the machine, shut it down, and when prompted click Update Inventory again.
4. When the inventory operation shuts down the machine, take a snapshot of the master image.
You can export an inventory to a network share and then import that inventory to a master image. For details, see Export
and import a PvD inventory.
T he Citrix Broker Service controls the power state of the machines that provide desktops and applications. T he Broker
Service can control several hypervisors through a Delivery Controller. Broker power actions control the interaction between
a Controller and the hypervisor. To avoid overloading the hypervisor, actions that change a machines power state are
assigned a priority and sent to the hypervisor using a throttling mechanism. T he following settings affect the throttling. You
Simultaneous Personal vDisk inventory updates - T he maximum number of simultaneous Personal vDisk power
actions allowed. T his setting is specified as both an absolute value and a percentage of the connection. T he lower of
the two values is used.
Default = 50 absolute, 25%
To calculate the absolute value: determine the total IOPS (T IOPS) supported by the end-user storage (this should be
specied by the manufacturer or calculated). Using 350 IOPS per VM (IOPS/VM), determine the number of VMs that
should be active at any given time on the storage. Calculate this value by dividing total IOPS by IOPS/VM.
For example, if the end-user storage is 14000 IPS, the number of active VMs is 14000 IOPS / 350 IOPS/VM = 40.
Maximum new actions per minute - T he maximum number of new power actions that can be sent to the
hypervisor per minute. Specified as an absolute value.
Default = 10
System Center Conguration Manager (Conguration Manager) 2012 requires no special conguration and can be installed
in the same way as any other master image application. T he following information applies only to System Center
Conguration Manager 2007. Conguration Manager versions earlier than Conguration Manager 2007 are not supported.
T he custom rule files provided with PvD let you modify the default behavior of PvD image updates in the following ways:
T he visibility of files on the PvD
How changes made to the files are merged
Whether the files are writable
For detailed instructions on the custom rules les and the CoW feature, refer to the comments in the les located in
C:\ProgramData\Citrix\personal vDisk\Cong on the machine where PvD is installed. T he les named "custom_*" describe
the rules and how to enable them.
Two scripts are provided to monitor and manage the size of PvDs; they are located in the Support\Tools\Scripts folder on
the XenDesktop installation media. You can also use the PvD Image Update Monitoring Tool, which is located in the
Support\Tools\Scripts\PvdTool folder; see http://blogs.citrix.com/2014/06/02/introducing-the-pvd-image-update-
monitoring-tool/ for details.
Use resize-personalvdisk-pool.ps1 to increase the size of the PvDs in all of the desktops in a catalog. T he following snap-ins
or modules for your hypervisor must be installed on the machine running Studio:
XenServer requires XenServerPSSnapin
vCenter requires vSphere PowerCli
System Center Virtual Machine Manager requires the VMM console
Use personal-vdisk-poolstats.ps1 to check the status of image updates and to check the space for applications and user
proles in a group of PvDs. Run this script before updating an image to check whether any desktop is running out of space,
which helps prevent failures during the update. T he script requires that Windows Management Instrumentation (WMI-In)
rewall is enabled on the PvD desktops. You can enable it on the master image or through GPO.
If an image update fails, the entry in the Update column gives the reason.
If a desktop becomes damaged or corrupted (by installing a broken application or some other cause), you can revert the
application area of the PvD to a factory-default (empty) state. T he reset operation leaves user prole data intact.
T o reset the application area of the PvD, use one of the following methods:
Log on to the user's desktop as Administrator. Launch a command prompt, and run the command C:\Program
Files\Citrix\Personal vDisk\bin\CtxPvD.exe -s Reset.
Locate the user's desktop in Citrix Director. Click Reset Personal vDisk and then click OK.
T he image update process is an integral part of rolling out new images to PvD desktops; it includes adjusting the existing
Personal vDisk to work with the new base image. For deployments that use Machine Creations Services (MCS), you can
T o use the export/import inventory feature, you must be an administrator. If required, authenticate to the file share used
for the export/import with net use. T he user context must be able to access any file shares used for the export/import.
T o export an inventory, run the export command as an administrator on a machine containing a VDA with PvD enabled
(minimum version 7.6):
Ctxpvdsvc.exe exportinventory <path-to-export-location>
T he software detects the current inventorys location and exports the inventory to a folder named
ExportedPvdInventory to the specified location. Heres an excerpt from the command output:
C:\Program Files\Citrix\personal vDisk\bin> .\CtxPvDSvc.exe exportinventory
\\share location\ExportedInventory
Current inventory source location C:\CitrixPvD\Settings\Inventory\VER-LAS
...
Exporting current inventory to location \\ .
...
Deleting any pre-existing inventory folder at \\ .
.Successfully exported current inventory to location \\ . Error code = OPS
T o import a previously-exported inventory, run the import command as an administrator on the master image:
To import
T he <path to exported inventory> should be the full path to the inventory les, which is usually <network
location\ExportedPvdInventory>.
T he inventory is obtained from the import location (where it was previously exported using the exportinventory option) and
imports the inventory to the inventory store on the master image. Heres an excerpt of the command output:
C:\Program Files\Citrix\personal vDisk\bin> .\CtxPvDSvc.exe importinventory
\\share location\ExportedInventory\ExportedPvdInventory
Importing inventory \\share location\ExportedInventory\ExportedPvdInventory
Successfully added inventory \\share location\ExportedInventory\ExportedPvdInventory to the
store at c:\ProgramData\Citrix\personal vDisk\InventoryStore
After the export, the network share should include the following filenames. After the import, the inventory store on the
master image should include the same file names.
Components.DAT
files_rules
folders_rules
regkey_rules
RINGT HREE.DAT
S-1-5-18.DAT
SAM.DAT
SECURIT Y.DAT
Sof tware hive report: T his report generates two les: Software.Dat.Report.txt and Software.Dat.delta.txt.
T he Software.Dat.Report.txt le records the changes made by the user to the HKEY_LOCAL_MACHINE\Software hive. It
contains the following sections:
List of Applications installed on the base Applications that were installed in Layer 0.
List of user installed software Applications the user installed on the application part of the personal vDisk.
List of software uninstalled by user Applications the user removed that were originally in Layer 0.
See the hive delta report for information about the Software.Dat.delta.txt.
System hive report: T he generated SYST EM.CurrentControlSet.DAT.Report.txt le records changes the user made to the
HKEY_LOCAL_MACHINE\System hive. It contains the following sections:
List of user installed services services and drivers the user installed.
Startup of following services were changed services and drivers whose start type the user modified.
Security hive report: T he generated SECURIT Y.DAT.Report.txt le monitors all changes that the user makes in the
HKEY_LOCAL_MACHINE\Security hive.
Security Account Manager (SAM) hive report: T he generated SAM.DAT.Report.txt le monitors all changes that the user
makes in the HKEY_LOCAL_MACHINE\SAM hive.
Hive delta report: T he generated Software.Dat.delta.txt le records all registry keys and values added or removed, and all
values the user modied in the HKEY_LOCAL_MACHINE\Software hive.
Personal vDisk logs: T he log les Pud-IvmSupervisor.log, PvDActivation.log, PvDSvc.log, PvDWMI.log, SysVol-
IvmSupervisor.log, and vDeskService-<#>.log are generated by default in P:\Users\<user
account>\AppData\Local\Temp\PVDLOGS, but are moved to the selected location.
EvtLog_App.xml and EvtLog_System.xml are the application and system event logs in XML format from the personal
vDisk volume.
Setupapi.app.log and setuperr.log contain log messages from when msiexec.exe was run during personal vDisk
installation.
File system report: T he generated FileSystemReport.txt le records changes the user made to the le system in the
following sections:
Files Relocated Files in Layer 0 that the user moved to the vDisk. Layer 0 files are inherited from the master image by
the machine to which the personal vDisk is attached.
Files Removed Files in Layer 0 that were hidden by a user's action (for example, removing an application).
Files Added (MOF,INF,SYS) Files with .mof, .inf, or .sys extensions that the user added to the personal vDisk (for
example, when they installed an application such as Visual Studio 2010 that registers a .mof file for autorecovery).
Files Added Other Other files that the user added to the vDisk (for example, when installing an application).
Base Files Modified But Not Relocated Files in Layer 0 that the user modified but that the personal vDisk Kernel-
Mode drivers did not capture in the vDisk.
Image updates
In Studio, when you choose a PvD-enabled machine in a machine catalog, the "PvD" tab provides monitoring status during
image updates, plus estimated completion time and progress. T he possible state displays during an image update are: Ready,
Preparing, Waiting, Failed, and Requested.
An image update can fail for different reasons, including lack of space or a desktop not nding the PvD in sufcient time.
When Studio indicates that an image update failed, an error code with descriptive text is provided to help troubleshooting.
Use the Personal vDisk Image Update Monitoring Tool or the personal-vdisk-poolstats.ps1 script to monitor image update
progress and obtain error codes associated with the failure.
If an image update fails, the following log files can provide further troubleshooting information:
PvD service log - C:\ProgramData\Citrix\personal vDisk\Logs\PvDSvc.log.txt
PvD activation log i- P:\PVDLOGS\PvDActivation.log.txt
T he following errors are valid for PvD version 7.6 and later:
An internal error occurred. Review the Personal vDisk logs f or f urther details. Error code %d (%s)
T his is a catch-all for uncategorized errors, so it has no numeric value. All unexpected errors encountered during inventory
creation or Personal vDisk update are indicated by this error code.
Collect logs and contact Citrix support.
If this error occurs during catalog update, roll back the catalog to the previous version of the master image.
There are syntax errors in the rule f iles. Review the logs f or f urther details.
Error code 2. T he rule le contains syntax errors. T he Personal vDisk log le contains the name of the rule le and line
number where the syntax error was found. Fix the syntax error in the rule le and retry the operation.
The inventory stored in the Personal vDisk corresponding to the previous version of the master image is
corrupt or unreadable.
Error code 3. T he last inventory is stored in UserData.V2.vhd in \ProgramData\CitrixPvD\Settings\Inventory\VER-
LAST . Restore the inventory corresponding to the last version of the master image by importing the VER-LAST folder
The inventory stored in the Personal vDisk corresponding to the previous version of the master image is
higher version.
Error code 4. T his is caused by personal vDisk version incompatibility between the last master image and the current
master image. Retry updating the catalog after installing the latest version of personal vDisk in the master image.
The Personal vDisk could not f ind a disk attached to the system f or storing user data.
Error code 6. First, verify that the PvD disk is attached to the VM through the hypervisor console. T his error typically
happens due to Data Leak Prevention software preventing access to the PvD disk. If the PvD disk is attached to the
VM, try adding an exception for attached disk in the Data Leak Prevention software conguration.
The system has not been rebooted post-installation. Reboot to implement the changes.
Error code 7. Restart the desktop and retry the operation.
Personal vDisk inventory is not up to date. Update the inventory in the master image, and then try again.
Error code 9. T he personal vDisk inventory was not updated in the master image before shutting down the desktop.
Restart the master image and shut down the desktop through the Update personal vDisk option, and then create a
new snapshot; use that snapshot to update the catalog.
An internal error occurred while starting the Personal vDisk. Review the Personal vDisk logs f or f urther details.
Error code 10. T his could be caused by the PvD driver failing to start a virtualization session due to an internal error or
personal vDisk corruption. Try restarting the desktop through the Controller. If the problem persists, collect the logs and
contact Citrix Support.
The Personal vDisk timed out while trying to f ind a storage disk f or users' personalization settings.
Error code 11. T his error occurs when the PvD driver fails to nd the PvD disk within 30 seconds after restart. T his is
usually caused by an unsupported SCSI controller type or storage latency. If this occurs with all desktops in the catalog,
change the SCSI controller type associated with the Template VM / Master VM to a type supported by personal
vDisk technology. If this occurs with only some desktops in the catalog, it might be due to spikes in storage latency due
to a large number of desktops starting at the same time. Try limiting the maximum active power actions setting
associated with the host connection.
The Personal vDisk has been de-activated because an unsaf e system shutdown was detected. Restart the
machine.
Error code 12. T his could be due to a desktop failing to complete the boot process with PvD enabled. Try restarting the
desktop. If the problem persists, watch the desktop startup through the hypervisor console and check if the desktop is
crashing. If a desktop crashes during startup, restore the PvD from backup (if you maintain one) or reset the PvD.
The drive letter specif ied f or mounting the Personal vDisk is not available.
Error code 13. T his could be caused by PvD failing to mount the PvD disk at the mount specied by the administrator.
T he PvD disk will fail to mount if the drive letter is already used by other hardware. Select a different letter as the mount
Cannot create a snapshot of the system volume. Make sure that the Volume Shadow Copy service is enabled.
Error code 15. T his could occur because the Volume Shadow Copy service is disabled. Enable the Volume Shadow Copy
service and retry taking an inventory.
The change journal f ailed to activate. Try again af ter waiting f or f ew minutes.
Error code 16. Personal vDisk uses change journal for tracking changes made to master image. During an inventory
update, if PvD detects that the change journal is disabled, it attempts to enable it; this error occurs when that attempt
fails. Wait for few minutes and retry.
There is not enough f ree space in the Personal vDisk storage. Expand Personal vDisk storage to provide more
space.
Error code 18. T here is not enough free space available on the personal vDisk drive when performing an image update
operation. Expand personal vDisk storage or remove unused les to free space in the personal vDisk storage. T he image
update should restart after next reboot.
Personal vDisk storage is over-committed. Expand Personal vDisk storage to provide more space.
Error code 19. T here is not enough free space available on the personal vDisk drive to fully accommodate thick
provisioned UserData.V2.vhd. Expand the personal vDisk storage or remove unused les to free space in the personal
vDisk storage.
An internal error occurred while resetting the Personal vDisk. Check Personal vDisk logs f or f urther details.
Error code 21. T his is a catch-all for all the errors encountered during a personal vDisk reset. Collect the logs and contact
Citrix Support.
Failed to reset the Personal vDisk because there is not enough f ree space in the personal vDisk storage.
Error code 22. T here is not enough free space available on the Personal vDisk drive when performing a reset operation.
Expand the personal vDisk storage or remove unused les to free space in the personal vDisk storage.
T he following errors are valid for PvD 7.x versions earlier than 7.6:
Startup f ailed. Personal vDisk was unable to f ind a storage disk f or user personalization settings.
T he PvD software could not find the Personal vDisk (by default, the P: drive) or could not mount it as the mount point
selected by the administrator when they created the catalog.
0x20000001 Failed to save the diff package, most likely due to lack of free disk space inside the VHD.
0x20000006 Failed to load hive from the PvD image or from PvD inventory, most likely due to corrupt PvD image or
inventory.
0x20000007 Failed to load the file system inventory, most likely due to a corrupt PvD image or inventory.
0x20000009 Failed to open the file containing file system inventory, most likely due to a corrupt PvD image or
inventory.
0x2000000B Failed to save the diff package, most likely due to lack of free disk space inside the VHD.
0x2000002F Failed to register user installed MOF on image update, upgrade to 5.6.12 to fix the issue.
0x20000032 Check the PvDactivation.log.txt for the last log entry with a Win32 error code.
0x20 Failed to mount application container for image update, upgrade to 5.6.12 to fix the issue.
Collect the logs and check SysVol-IvmSupervisor.log for session creation failures:
1. Check for the following log entry " IvmpNativeSessionCreate: failed to create native session, status XXXXX".
2. If the status is 0xc00002cf, fix the problem by adding a new version of the master image to the catalog. T his status
code implies that the USN Journal overflowed due to a large number of changes after an inventory update.
3. Restart the affected virtual desktop. If the problem persists, contact Citrix T echnical Support.
Startup f ailed. Citrix Personal vDisk has been deactivated because an unsaf e system shutdown was detected.
To retry, select Try again. If the problem continues, contact your system administrator.
T he pooled VM cannot complete its startup with the PvD enabled. First determine why startup cannot be completed.
Possible reasons are that a blue screen appears because:
An incompatible antivirus product is present, for example old versions of T rend Micro, in the master image.
T he user has installed software that is incompatible with PvD. T his is unlikely, but you can check it by adding a new
machine to the catalog and seeing whether it restarts successfully.
T he PvD image is corrupt. T his has been observed in Version 5.6.5.
T o check if the pooled VM is displaying a blue screen, or is restarting prematurely:
Log on to the machine through the hypervisor console.
Click T ry Again and wait for the machine to shut down.
Start the machine through Studio.
Use the hypervisor console to watch the machine console as it starts.
Other troubleshooting:
Collect the memory dump from the machine displaying the blue screen, and send it for further analysis to Citrix
T echnical Support.
Check for errors in the event logs associated with the PvD:
1. Mount UserData.V2.vhd from the root of the P: drive using DiskMgmt.msc by clicking Action > Attach VHD.
2. Launch Eventvwr.msc.
3. Open the system event log (Windows\System32\winevt\logs\system.evtx) from UserData.V2.vhd by clicking Action
> Open saved logs.
4. Open the application event log (Windows\System32\winevt\logs\application.evtx) from UserData.V2.vhd by clicking
Action > Open saved logs.
The Personal vDisk cannot start. The Personal vDisk could not start because the inventory has not been
updated. Update the inventory in the master image, then try again. Status code: 15, Error code: 0x0
T he administrator selected an incorrect snapshot while creating or updating the PvD catalog (that is, the master image
was not shut down using Update Personal vDisk when creating the snapshot).
If Personal vDisk is not enabled, you can view the following events in Windows Event Viewer. Select the Applications node
in the left pane; the Source of the events in the right pane is Citrix Personal vDisk. If Personal vDisk is enabled, none of
these events are displayed.
An Event ID of 1 signifies an information message, an ID of 2 signifies an error. Not all events may be used in every version
of Personal vDisk.
Event ID Description
1 Reset in progress.
1 OK.
2 T here is not enough space available on the storage disk to create a Personal vDisk container.
When you remove components, prerequisites are not removed, and rewall settings are not changed. When you remove a
Controller, the SQL Server software and the databases are not removed.
Before removing a Controller, remove it from the Site. Before removing Studio or Director, Citrix recommends closing them.
If you upgraded a Controller from an earlier deployment that included Web Interface, you must remove the Web Interface
component separately; you cannot use the installer to remove Web Interface.
When you remove a VDA, the machine restarts automatically after the removal, by default.
T o remove a Controller, Studio, Director, License Server, or StoreFront, select Citrix XenApp <version> or Citrix
XenDesktop <version>, then right-click and select Uninstall. T he installer launches, and you can select the components
to be removed. Alternatively, you can remove StoreFront by right-clicking Citrix StoreFront and selecting Uninstall.
T o remove a VDA, select Citrix Virtual Delivery Agent <version>, then right-click and select Uninstall. T he installer
launches and you can select the components to be removed.
T o remove the Universal Print Server, select Citrix Universal Print Server, then right-click and select Uninstall.
T o remove one or more components, use the /remove and /components options.
T o remove all components, use the /removeall option.
For command and parameter details, see Install using the command line.
For command and parameter details, see Install using the command line.
For example, the following command removes the VDA and Citrix Receiver.
To remove VDAs using a script in Active Directory; see Install or remove Virtual Delivery Agents using scripts.
Upgrade
Upgrading changes deployments to the newest component versions without having to set up new machines or Sites; this is
known as an in-place upgrade. You can upgrade to the current version from:
XenDesktop 5.6
XenDesktop 7.0
XenDesktop 7.1
XenApp/XenDesktop 7.5
XenApp/XenDesktop 7.6
XenApp/XenDesktop 7.6 LT SR*
XenApp/XenDesktop 7.7
XenApp/XenDesktop 7.8
XenApp/XenDesktop 7.9
XenApp/XenDesktop 7.11
XenApp/XenDesktop 7.12
XenApp/XenDesktop 7.13
* Upgrading from XenApp/XenDesktop 7.6 LT SR to the current release will break LT SR compliancy.
You can also upgrade a XenApp 6.5 worker server to a curent VDA for Windows Server OS. T his is a supplementary activity
to migrating XenApp 6.5.
To upgrade a XenDesktop 5.6 (or later) farm or a XenApp 7.5 (or later) Site:
1. Run the installer on the machines where the core components and VDAs are installed. T he software determines if an
upgrade is available and installs the newer version.
2. Use the newly upgraded Studio to upgrade the database and the Site.
1. Run the product installer on the XenApp 6.5 worker server. T he software removes the server from the XenApp 6.5 farm,
removes the XenApp 6.5 software, and installs a current VDA for Windows Server OS.
2. After upgrading the server, add it to Machine Catalogs and Delivery Groups in the current Site.
For more information, see Upgrade a XenApp 6.5 worker to a new VDA for Windows Server OS.
Migrate
T ip: For information about architecture, component, and feature changes that were introduced with the 7.x releases,
see Changes in 7.x.
Tip: After you have moved to a 7.x version, changes to later versions are listed in What's new.
Unless specically noted, 7.x refers to XenApp version 7.5 or later, and XenDesktop version 7 or later.
T his article provides an overview. For comprehensive information about moving from pre-7.x to the latest version, see
Upgrade to XenApp 7.
Instead of this in XenApp < 6.5: T hink of this, in XenApp and XenDesktop > 7.x:
Farm Site
Delivery Group
Remote Desktop Services (RDS) or Terminal Services Server OS machine, Server OS VDA
machine
Role
Scope
Architecture differences
Beginning with 7.x versions, XenApp and XenDesktop are based on FlexCast Management Architecture (FMA). FMA is a
service-oriented architecture that allows interoperability and management modularity across Citrix technologies. FMA
provides a platform for application delivery, mobility, services, exible provisioning, and cloud management.
FMA replaces the Independent Management Architecture (IMA) used in XenApp 6.5 and previous versions.
T hese are the key elements of FMA in terms of how they relate to elements of XenApp 6.5 and previous versions:
Delivery Sites: Farms were the top-level objects in XenApp 6.5 and previous versions. In XenApp 7.x and XenDesktop 7.x,
the Site is the highest level item. Sites offer applications and desktops to groups of users. FMA requires that you must
be in a domain to deploy a Site. For example, to install the servers, your account must have local administrator privileges
and be a domain user in the Active Directory.
Machine Catalogs and Delivery Groups: Machines hosting applications in XenApp 6.5 and previous versions belonged
to Worker Groups for efficient management of the applications and server software. Administrators could manage all
machines in a Worker Group as a single unit for their application management and load-balancing needs. Folders were
used to organize applications and machines. In XenApp 7.x and XenDesktop 7.x, you use a combination of Machine
Catalogs, Delivery Groups, and Application Groups to manage machines, load balancing, and hosted applications or
desktops. You can also use application folders.
VDAs: In XenApp 6.5 and previous versions, worker machines in Worker Groups ran applications for the user and
communicated with data collectors. In XenApp 7.x and XenDesktop 7.x, the VDA communicates with Delivery Controllers
that manage the user connections.
Delivery Controllers: In XenApp 6.5 and previous versions there was a zone master responsible for user connection
requests and communication with hypervisors. In XenApp 7.x and XenDesktop 7.x, Controllers in the Site distribute and
handle connection requests. In XenApp 6.5 and previous versions, zones provided a way to aggregate servers and
replicate data across WAN connections. Although zones have no exact equivalent in XenApp 7.x and XenDesktop 7.x,
the 7.x zones and zone preference functionality enables you to help users in remote regions connect to resources
without necessarily forcing their connections to traverse large segments of a WAN.
Studio and Director: Use the Studio console to configure your environments and provide users with access to
applications and desktops. Studio replaces the Delivery Services Console in XenApp 6.5 and previous versions.
Feature comparison
T he transition to FMA also means some features available in XenApp 6.5 and previous versions may be implemented
differently or may require you to substitute other features, components, or tools to achieve the same goals.
Session prelaunch and session linger Session prelaunch and session linger congured by editing Delivery Group
congured with policy settings settings.
Support for unauthenticated Support for unauthenticated (anonymous) users is provided by conguring
(anonymous) users provided by granting this option when setting user properties of a Delivery Group. See Users.
rights to anonymous user when setting
the properties of published applications
Local host cache permits a worker Local Host Cache allows connection brokering operations to continue when
Application streaming Citrix App-V delivers streamed applications, which are managed using Studio.
SmartAuditor to record on-screen Beginning with 7.6 Feature Pack 1, this functionality is provided by Session
activity of a user's session. Recording. You can also use Conguration Logging to log all session activities
from an administrative perspective.
Secure ICA encryption below 128-bit: In releases earlier than 7.x, Secure ICA could encrypt client connections for basic,
40-bit, 56-bit, and 128-bit encryption. In 7.x releases, Secure ICA encryption is available only for 128-bit encryption.
Legacy printing: T he following printing features are not supported in 7.x releases:
Backward compatibility for DOS clients and 16-bit printers, including legacy client printer name.
Support for printers connected to Windows 95 and Windows NT operating systems, including enhanced extended
printer properties and Win32FavorRetainedSetting.
Ability to enable or disable auto-retained and auto-restored printers.
DefaultPrnFlag, a registry setting for servers that is used to enable or disable auto-retained and auto-restored printers,
which store in user profiles on the server.
Secure Gateway: In releases earlier than 7.x, Secure Gateway was an option to provide secure connections between the
server and user devices. NetScaler Gateway is the replacement option for securing external connections.
Shadowing users: In releases earlier than 7.x, administrators set policies to control user-to-user shadowing. In 7.x releases,
shadowing end-users is an integrated feature of the Director component, which uses Windows Remote Assistance to
Flash v1 Redirection: Clients that do not support second generation Flash Redirection (including Citrix Receiver for
Windows earlier than 3.0, Citrix Receiver for Linux earlier than 11.100, and Citrix Online Plug-in 12.1) will fall back to server-
side rendering for legacy Flash Redirection features. VDAs included with 7.x releases support second generation Flash
Redirection features.
Local Text Echo: T his feature was used with earlier Windows application technologies to accelerate the display of input
text on user devices on high latency connections. It is not included in 7.x releases due to improvements to the graphics
subsystem and HDX SuperCodec.
Single Sign-on: T his feature, which provides password security, is not supported for Windows 8, Windows Server 2012, and
newer supported Windows operating systems versions. It is still supported for Windows 2008 R2 and Windows 7
environments, but is not included with 7.x releases. You can locate it on the Citrix download website:
http://citrix.com/downloads.
Health Monitoring and Recovery (HMR): In releases earlier than 7.x, HMR could run tests on the servers in a server farm
to monitor their state and discover any health risks. In 7.x releases, Director offers a centralized view of system health by
presenting monitoring and alerting for the entire infrastructure from within the Director console.
Custom ICA les: Custom ICA les were used to enable direct connection from user devices (with the ICA le) to a specic
machine. In 7.x releases, this feature is disabled by default, but can be enabled for normal usage using a local group or can
be used in high-availability mode if the Controller becomes unavailable.
Management Pack f or System Center Operations Manager (SCOM) 2007: T he management pack, which monitored
the activity of XenApp farms using SCOM, does not support 7.x releases. See the current Citrix SCOM Management Pack
for XenApp and XenDesktop.
CNAME f unction: T he CNAME function was enabled by default in releases earlier than 7.x. Deployments depending on
CNAME records for FQDN rerouting and the use of NET BIOS names might fail. In 7.x releases, the Delivery Controller auto-
update feature dynamically updates the list of Controllers and automatically noties VDAs when Controllers are added to
and removed from the Site. T he Controller auto-update feature is enabled by default in Citrix policies, but can be disabled.
Alternatively, you can re-enable the CNAME function in the registry to continue with your existing deployment and allow
FQDN rerouting and the use of NET BIOS names. For more information, see CT X137960.
Quick Deploy wizard: In XenDesktop releases earlier than 7.x, this Studio option allowed a fast deployment of a fully
installed XenDesktop deployment. T he new simplied installation and conguration workow in 7.x releases eliminates the
need for the Quick Deploy wizard option.
Remote PC Service conguration le and PowerShell script f or automatic administration: Remote PC Access is now
integrated into Studio and the Controller.
Workow Studio: In releases earlier than 7.x, Workow Studio was the graphical interface for workow composition for
XenDesktop. T he feature is not supported in 7.x releases.
Launching of non-published programs during client connection: In releases earlier than 7.x, this Citrix policy setting
specied whether to launch initial applications or published applications through ICA or RDP on the server. In 7.x releases,
this setting species only whether to launch initial applications or published applications through RDP on the server.
Color depth: In Studio releases earlier than 7.6, you specied color depth in a Delivery Group's User Settings. Beginning in
version 7.6, color depth for the Delivery Group can be set using the New-BrokerDesktopGroup or Set-BrokerDesktopGroup
PowerShell cmdlet.
Launch touch-optimized desktop: T his setting is disabled and not available for Windows 10 and Windows Server 2016
machines. For more information, see Mobile experience policy settings.
Features not in Citrix Receiver or that have dif f erent def ault values
COM Port Mapping: COM Port Mapping allowed or prevented access to COM ports on the user device. COM Port
Mapping was previously enabled by default. In 7.x releases of XenDesktop and XenApp, COM Port Mapping is disabled by
default. For details, see Congure COM Port and LPT Port Redirection settings using the registry.
LPT Port Mapping: LPT Port Mapping controls the access of legacy applications to LPT ports. LPT Port Mapping was
previously enabled by default. In 7.x releases, LPT Port Mapping is disabled by default.
PCM Audio Codec: Only HT ML5 clients support the PCM Audio Codec in 7.x releases.
Microsoft Internet Security and Acceleration (ISA) 2006 (Windows Server 2003)
Oracle iPlanet Proxy Server 4.0.14 (Windows Server 2003)
Squid Proxy Server 3.1.14 (Ubuntu Linux Server 11.10)
For more information, see the Citrix Receiver documentation for your version.
Introduction
Upgrade sequence
Which product component versions can be upgraded
Preparation and limits
Mixed environment considerations
VDAs on machines running Windows XP or Windows Vista
VDAs on machines running Windows 8.x and Windows 7
Mixed VDA support
Upgrade procedure
Upgrade the databases and the Site
Important
Ensure that you download and use the 7.14.1 XenApp and XenDesktop ISO and VDAs. (T he le name contains the version number.)
Do not use the original 7.14 versions.
Introduction
You can upgrade certain deployments to newer versions without having to rst set up new machines or Sites. T hat process
is called an in-place upgrade. See Upgrade for a list of the versions you can upgrade.
You can also use the current XenApp installer to upgrade a XenApp 6.5 worker server to a current VDA for Windows Server
OS. T his is a supplementary activity to migrating XenApp 6.5. See Upgrade a XenApp 6.5 worker to a new VDA for Windows
Server OS.
To start an upgrade, you run the installer from the new version to upgrade previously installed core components (Delivery
Controller, Citrix Studio, Citrix Director, Citrix License Server) and VDAs. T hen you upgrade the databases and the Site.
Be sure to review all the information in this article before beginning the upgrade.
Upgrade sequence
T he following diagram summarizes the upgrade sequence. Details are provided in Upgrade procedure below. For example, if
you have more than one core component installed on a server, running the installer on that machine will upgrade all
components that have new versions. You might want to upgrade the VDA used in a master image, and then update the
image. T hen, update the catalog that uses that image and the Delivery Group that uses that catalog. Details also cover
how to upgrade the Site databases and the Site automatically or manually.
Using the guidance in the feature/product documentation, upgrade the following if needed:
Provisioning Services (for XenApp 7.x and XenDesktop 7.x, Citrix recommends using the latest released version; the
minimum supported version is Provisioning Services 7.0).
Upgrade the Provisioning Services server using the server rolling upgrade, and the clients using vDisk versioning.
Limits
T he following limits apply to upgrades:
If you install or upgrade any components to the new version but choose not to upgrade other components (on
different machines) that require upgrade, Studio will remind you. For example, let's say an upgrade includes new
versions of the Controller and Studio. You upgrade the Controller but you do not run the installer on the machine
where Studio is installed. Studio will not let you continue to manage the Site until you upgrade Studio.
You do not have to upgrade VDAs, but Citrix recommends upgrading all VDAs to enable you to use all available
features.
You cannot upgrade from a XenApp version earlier than 7.5. You can migrate from XenApp 6.x; see Migrate XenApp
6.x.
Although you cannot upgrade a XenApp 6.5 farm, you can replace the XenApp 6.5 software on a Windows Server
2008 R2 machine with a current VDA for Server OS. See Upgrade a XenApp 6.5 worker to a new VDA.
You cannot upgrade XenDesktop Express edition. Obtain and install a license for a currently supported edition, and
then upgrade it.
You cannot upgrade from a XenApp or XenDesktop Early Release or Technology Preview version.
Windows XP/Vista
If you have VDAs installed on Windows XP or Windows Vista machines, see VDAs on machines running Windows XP or
Windows Vista.
Product selection
When you upgrade from an earlier 7.x version, you do not choose or specify the product (XenApp or XenDesktop)
Mixed environments/sites
If you must continue to run earlier version Sites and current version Sites, see Mixed environment considerations.
Preparation
Before beginning an upgrade:
Use the full-product installer from the XenApp or XenDesktop ISO to upgrade core components. You can upgrade
VDAs using the full-product installer or one of the standalone VDA installers. All installers offer graphical and
command line interfaces. For more information, see Installers.
You cannot upgrade by importing or migrating data from a version that can be upgraded. (Note: Some much earlier
versions must be migrated instead of upgraded; see Upgrade and migrate for a list of which versions can be upgraded.)
If you originally installed a desktop VDA with the VDAWorkstationCoreSetup.exe installer, Citrix recommends using
that installer to upgrade it. If you use the full-product VDA installer or the VDAWorkstationSetup.exe installer to
upgrade the VDA, the components that were originally excluded might be be installed, unless you expressly
omit/exclude them from the upgrade.
For example, if you installed a version 7.13 VDA using VDAWorkstationCoreSetup.exe, and then used the full-product
installer to upgrade that VDA to version 7.14, the components that were excluded from the original installation (such
as Prole management or Personal vDisk) might be installed during the upgrade, if you accept the default settings or
do not use the /exclude command-line option.
Ensure the Site is in a stable and functional state before starting an upgrade. If a Site has issues, upgrading will not x
them, and can leave the Site in a complex state that is difcult to recover from. To test the Site, select the Site entry
in the Studio navigation pane. In the Site conguration portion of the middle pane, click Test site.
Follow the instructions in CT X135207. If any issues are discovered after the upgrade, you can restore the backup.
Complete any other preparation tasks dictated by your business continuity plan.
Before upgrading the Citrix License Server, be sure your Subscription Advantage date is valid for the new product
version. If you are upgrading from an earlier 7.x product version, the date must be at least 2017.0517.
Before starting an upgrade, close all programs that might potentially cause le locks, including administration consoles
Important: Before starting an upgrade, stop and disable any third-party monitoring agent services.
In addition to being a domain user, you must be a local administrator on the machines where you are upgrading
product components.
T he Site database and the Site can be upgraded automatically or manually. For an automatic database upgrade, the
Studio user's permissions must include the ability to update the SQL Server database schema (for example, the
db_securityadmin or db_owner database role). For details, see the Databases article. If the Studio user does not have
those permissions, initiating a manual database upgrade will generate scripts. T he Studio user runs some of the scripts
from Studio; the database administrator runs other scripts using a tool such as SQL Server Management Studio.
In a mixed environment, continue using the Studio and Director versions for each release, but ensure that different
versions are installed on separate machines.
If you plan to run XenDesktop 5.6 and 7.x Sites simultaneously and use Provisioning Services for both, either deploy a
new Provisioning Services for use with the 7.x Site, or upgrade the current Provisioning Services and be unable to
provision new workloads in the XenDesktop 5.6 Site.
Within each Site, Citrix recommends upgrading all components. Although you can use earlier versions of some components,
all the features in the latest version might not be available. For example, although you can use current VDAs in deployments
containing earlier Controller versions, new features in the current release may not be available. VDA registration issues can
also occur when using non-current versions.
Sites with Controllers at version 5.x and VDAs at version 7.x should remain in that state only temporarily. Ideally, you
should complete the upgrade of all components as soon as possible.
Do not upgrade a standalone Studio version until you are ready to use the new version.
Citrix recommends reimaging Windows XP and Windows Vista machines to a supported operating system version and then
installing the latest VDA.
In some environments, you may not be able to upgrade all VDAs to the most current version. In this scenario, when you
create a machine catalog, you can specify the VDA version installed on the machines. By default, this setting species the
latest recommended VDA version; you need to consider changing this setting only if the machine catalog contains
machines with earlier VDA versions. However, mixing VDA versions in a machine catalog is not recommended.
If a machine catalog is created with the default recommended VDA version setting, and any of the machines in the catalog
has an earlier VDA version installed, those machines will not be able to register with the Controller and will not work.
Upgrade procedure
To run the product installer graphical interface, log on to the machine and then insert the media or mount the ISO drive for
the new release. Double-click AutoSelect. To use the command-line interface, see Install using the command line.
Step 1. If more than one core component is installed on the same server (for example, the Controller, Studio, and License
Server) and several of those components have new versions available, they will all be upgraded when you run the installer on
that server.
Step 2. If you use Provisioning Services, upgrade the PVS servers and target devices, using the guidance in the Provisioning
Services documentation.
Step 3. Run the product installer on machines containing VDAs. (See Step 12 if you use master images and Machine
Creation Services.)
Step 4 . Run the product installer on half of the Controllers. (T his also upgrades any other core components installed on
those servers.) For example, if your Site has four Controllers, run the installer on two of them.
Leaving half of the Controllers active allows users to access the Site. VDAs can register with the remaining Controllers.
T here may be times when the Site has reduced capacity because fewer Controllers are available. T he upgrade causes
only a brief interruption in establishing new client connections during the final database upgrade steps. T he upgraded
Controllers cannot process requests until the entire Site is upgraded.
If your Site has only one Controller, the Site is inoperable during the upgrade.
Step 5. If Studio is installed on a different machine than one you've already upgraded, run the installer on the machine
where Studio is installed.
Step 6. From the newly upgraded Studio, upgrade the Site database. For details, see Upgrade the databases and the Site.
Step 7. From the newly upgraded Studio, select Citrix Studio site-name in the navigation pane. Select the Common Tasks
tab. Select Upgrade remaining Delivery Controllers.
Step 8. After completing the upgrade and conrming completion, close and then reopen Studio.
Step 9. In the Site Conguration section of the Common Tasks page, select Perf orm registration. Registering the
Controllers makes them available to the Site.
Step 10. After you select Finish when the upgrade completes, you are offered the opportunity to enroll in the Citrix
telemetry programs, which collect information about your deployment. T hat information is used to improve product quality,
reliability, and performance.
Step 11. After upgrading components, the database, and the Site, test the newly-upgraded Site. From Studio, select Citrix
Studio site-name in the navigation pane. Select the Common Tasks tab and then select Test Site. T hese tests were run
automatically after you upgraded the database, but you can run them again at any time.
T he Test Site functionality might fail for a Controller installed on Windows Server 2016, when a local SQL Server
Express is used for the Site database, if the SQL Server Browser service is not started. To avoid this, complete the
following tasks.
1. Enable the SQL Server Browser service (if required) and then start it.
Step 12. If you use Machine Creation Services and want to use upgraded VDAs: After you upgrade and test the
deployment, update the VDA used in the master images (if you haven't done that already). Update master images that use
those VDAs. See Update or create a new master image. T hen update machine catalogs that use those master images, and
upgrade Delivery Groups that use those catalogs.
After upgrading the core components and VDAs, use the newly upgraded Studio to initiate an automatic or manual
database and Site upgrade.
For an automatic database upgrade, the Studio user's permissions must include the ability to update the SQL Server
database schema.
For a manual upgrade, the Studio user runs some of the generated scripts from Studio. T he database administrator runs
other scripts, using either the SQLCMD utility or the SQL Server Management Studio in SQLCMD mode. Otherwise,
inaccurate errors can result.
Important: Citrix strongly recommends that you back up the database before upgrading. See CT X135207.
During a database upgrade, product services are disabled. During that time, Controllers cannot broker new connections for
the Site, so plan carefully.
After the database upgrade completes and product services are enabled, Studio tests the environment and conguration,
and then generates an HT ML report. If problems are identied, you can restore the database backup. After resolving issues,
you can upgrade the database again.
Launch the newly upgraded Studio. After you choose to start the Site upgrade automatically and conrm that you are
ready, the database and Site upgrade proceeds.
Step 1. Launch the newly-upgraded Studio. After you choose to manually upgrade the Site, the wizard checks for License
Server compatibility and requests conrmation. After you conrm that you have backed up the database, the wizard
generates and displays the scripts and a checklist of upgrade steps.
Script Description
DisableServices.ps1 PowerShell script to be run by the Studio user on a Controller to disable product
services.
UpgradeSiteDatabase.sql SQL script to be run by the database administrator on the server containing the
Site database.
UpgradeMonitorDatabase.sql SQL script to be run by the database administrator on the server containing the
Monitor database.
UpgradeLoggingDatabase.sql SQL script to be run by the database administrator on the server containing the
Conguration Logging database. Run this script only if this database changes (for
example, after applying a hotx).
Removes the server from the XenApp 6.5 farm (this task automatically invokes the XenApp 6.5 installer's command-line interface)
Removes the XenApp 6.5 software
Installs a new (XenApp 7.6 or later supported release) VDA for Windows Server OS
When you use the installer's graphical interface, you are guided through the same wizard that you used when installing VDAs for Windows
Server OS in your new XenApp Site. Similarly, the command-line interface uses the same commands and parameters you use to install other
VDAs in your new Site.
NOT E: Although you can upgrade a XenApp 6.5 worker server, installing the current VDA software on a clean machine provides better security.
You are probably already familiar with using the installer from installing your XenApp core components and other VDAs. Launch the installer on
the XenApp 6.5 worker server.
Good to know:
This upgrade is valid on XenApp 6.5 servers that are configured in session-host only mode (also called session-only or worker servers).
Uninstalling XenApp 6.5 requires several server restarts. When using the command-line interface, you can use the /noreboot option to inhibit
that automatic action; however, you must restart the server for the uninstallation and subsequent installation to proceed.
If an error occurs during the XenApp uninstallation process, check the uninstall error log referenced in the error message. Uninstall log files
reside in the folder "%TEMP%\Citrix\XenDesktop Installation\XenApp 6.5 Uninstall Log Files\."
After the upgrade, review IMA-specific settings and registry entries, plus HDX-related system settings and registries. Some settings may no
longer apply or might not work in the same way.
After you upgrade the XenApp 6.5 worker servers, from Studio in the new XenApp Site, create Machine Catalogs (or edit existing catalogs)
for the upgraded workers.
If you migrated policy and application settings from a XenApp 6.5 controller server (see Migrate XenApp 6.x), assign the Delivery Groups
containing the migrated published applications to the machine catalog that hosted those applications in XenApp 6.5.
Troubleshooting
Symptoms: Removal of the XenApp 6.5 software fails. T he uninstall log contains the message: "Error 25703. An error
occurred while plugging XML into Internet Information Server. Setup cannot copy files to your IIS Scripts directory. Please
make sure that your IIS installation is correct."
Cause: T he issue occurs on systems where (1) during the initial XenApp 6.5 installation, you indicated that the Citrix XML
Service (CtxHttp.exe) should not share a port with IIS, and (2) .NET Framework 3.5.1 is installed.
Resolution:
1. Remove the Web Server (IIS) role using the Windows Remove Server Roles wizard. (You can reinstall the Web Server
(IIS) role later.)
2. Restart the server.
3. Using Add/Remove Programs, uninstall the following:
1. Citrix XenApp 6.5
2. Microsoft Visual C++ 2005 Redistributable (x64), version 8.0.56336
4. Restart the server.
5. Run the XenApp installer to install the VDA for Windows Server OS.
T he three-part video series shown below demonstrates the process of using Citrix Smart T ools to migrate from XenApp 6.x to XenApp 7.x.
2 - Connect to Destinations
video length - 2:59 minutes
T he XenApp 6.x Migration Tool is a collection of PowerShell scripts containing cmdlets that migrate XenApp 6.x (6.0 or 6.5) policy and farm data. On the XenApp 6.x controller
server, you run export cmdlets that gather that data into XML les. T hen, from the XenApp 7.6 Controller, you run import cmdlets that create objects using the data gathered
during the export.
Before you run an actual migration, you can export your XenApp 6.x settings and then perform a preview import on the XenApp 7.6 site. T he preview identies possible failure
points so you can resolve issues before running the actual import. For example, a preview might detect that an application with the same name already exists in the new
XenApp 7.6 site. You can also use the log les generated from the preview as a migration guide.
Unless otherwise noted, the term 6.x refers to XenApp 6.0 or 6.5.
T his December 2014 release (version 20141125) contains the following updates:
If you encounter issues using the migration tool on a XenApp 6.x farm, report them to the support forum http://discussions.citrix.com/forum/1411-xenapp-7x/, so that
Citrix can investigate them for potential improvements to the tool.
New packaging - the XAMigration.zip file now contains two separate, independent packages: ReadIMA.zip and ImportFMA.zip. T o export from a XenApp 6.x server, you
need only ReadIMA.zip. T o import to a XenApp 7.6 server, you need only ImportFMA.zip.
T he Export-XAFarm cmdlet supports a new parameter (EmbedIconData) that eliminates the need to copy icon data to separate files.
T he Import-XAFarm cmdlet supports three new parameters:
MatchServer - import applications from servers whose names match an expression
NotMatchServer - import applications from servers whose names do not match an expression
IncludeDisabledApps - import disabled applications
Prelaunched applications are not imported.
T he Export-Policy cmdlet works on XenDesktop 7.x.
T he migration tool is available under the XenApp 7.6 Citrix download site. T he XAMigration.zip file contains two separate, independent packages:
ReadIMA.zip - contains the files used to export data from your XenApp 6.x farm, plus shared modules.
ExportPolicy.psm1 PowerShell script module for exporting XenApp 6.x policies to an XML file.
ExportXAFarm.psm1 PowerShell script module for exporting XenApp 6.x farm settings to an XML file.
ImportFMA.zip - contains the files used to import data to your XenApp 7.6 farm, plus shared modules.
Limitations
Not all policies settings are imported; see Policy settings not imported. Settings that are not supported are ignored and noted in the log file.
While all application details are collected in the output XML file during the export operation, only server-installed applications are imported into the XenApp 7.6 site.
Published desktops, content, and most streamed applications are not supported (see the Import-XAFarm cmdlet parameters in Step-by-step: import data for exceptions).
Application servers are not imported.
Many application properties are not imported because of differences between the XenApp 6.x Independent Management Architecture (IMA) and the XenApp 7.6 FlexCast
Management Architecture (FMA) technologies; see Application property mapping.
A Delivery Group is created during the import. See Advanced use for details about using parameters to filter what is imported.
Only Citrix policy settings created with the AppCenter management console are imported; Citrix policy settings created with Windows Group Policy Objects (GPOs) are not
imported.
T he migration scripts are intended for migrations from XenApp 6.x to XenApp 7.6 only.
Nested folders greater than five levels deep are not supported by Studio and will not be imported. If your application folder structure includes folders more than five levels
deep, consider reducing the number of nested folder levels before importing.
Security considerations
T he XML les created by the export scripts can contain sensitive information about your environment and organization, such as user names, server names, and other XenApp
farm, application, and policy conguration data. Store and handle these les in secure environments.
Carefully review the XML les before using them as input when importing policies and applications, to ensure they contain no unauthorized modications.
Policy object assignments (previously known as policy lters) control how policies are applied. After importing the policies, carefully review the object assignments for each
policy to ensure that there are no security vulnerabilities resulting from the import. Different sets of users, IP addresses, or client names may be applied to the policy after the
import. T he allow/deny settings may have different meanings after the import.
T he scripts provide extensive logging that tracks all cmdlet executions, informative messages, cmdlet execution results, warnings, and errors.
Most Citrix PowerShell cmdlet use is logged. All PowerShell cmdlets in the import scripts that create new site objects are logged.
Script execution progress is logged, including the objects being processed.
Major actions that affect the state of the flow are logged, including flows directed from the command line.
All messages printed to the console are logged, including warnings and errors.
Each line is time-stamped to the millisecond.
Citrix recommends specifying a log le when you run each of the export and import cmdlets.
If you do not specify a log le name, the log le is stored in the current user's home folder (specied in the PowerShell $HOME variable) if that folder exists; otherwise, it is
placed in the script's current execution folder. T he default log name is "XFarmYYYYMMDDHHmmSS-xxxxxx" where the last six digits constitute a random number.
By default, all progress information is displayed. To suppress the display, specify the NoDetails parameter in the export and import cmdlet.
Generally, a script stops execution when an error is encountered, and you can run the cmdlet again after clearing the error conditions.
Conditions that are not considered errors are logged; many are reported as warnings, and script execution continues. For example, unsupported application types are reported
as warnings and are not imported. Applications that already exist in the XenApp 7.6 site are not imported. Policy settings that are deprecated in XenApp 7.6 are not imported.
Good t o know:
To facilitate application delivery while two deployments are running (the XenApp 6.x farm and the new XenApp 7.6 site), you can aggregate both deployments in StoreFront or Web Interface. See the
eDocs documentation for your StoreFront or Web Interface release (Manage > Create a store).
Application icon data is handled in one of two ways:
If you specify the EmbedIconData parameter in the Export-XAFarm cmdlet, exported application icon data is embedded in the output XML file.
If you do not specify the EmbedIconData parameter in the Export-XAFarm cmdlet, exported application icon data is stored under a folder named by appending the string "-icons" to the base name
of the output XML file. For example, if the XmlOutputFile parameter is "FarmData.xml" then the folder "FarmData-icons" is created to store the application icons.
The icon data les in this folder are .txt les that are named using the browser name of the published application (although the les are .txt les, the stored data is encoded binary icon data,
which can be read by the import script to re-create the application icon). During the import operation, if the icon folder is not found in the same location as the import XML le, generic icons are
used for each imported application.
The names of the script modules, manifest files, shared module, and cmdlets are similar. Use tab completion with care to avoid errors. For example, Export-XAFarm is a cmdlet. ExportXAFarm.psd1
and ExportXAFarm.psm1 are files that cannot be executed.
In the step-by-step sections below, most <string> parameter values show surrounding quotation marks. These are optional for single-word strings.
Remember that you can export data and then use the -Preview parameter with the import cmdlets to see what would happen during an actual import, but without actually importing anything. The logs
will indicate exactly what would happen during an actual import; if errors occur, you can resolve them before starting an actual import.
Complete the following steps to export data from a XenApp 6.x controller to XML files.
1. Download the XAMigration.zip migration tool package from the Citrix download site. For convenience, place it on a network file share that can be accessed by both the
XenApp 6.x farm and the XenApp 7.6 site. Unzip XAMigration.zip on the network file share. T here should be two zip files: ReadIMA.zip and ImportFMA.zip.
2. Log on to the XenApp 6.x controller as a XenApp administrator with at least read-only permission and Windows permission to run PowerShell scripts.
3. Copy ReadIMA.zip from the network file share to the XenApp 6.x controller. Unzip and extract ReadIMA.zip on the controller to a folder (for example: C:\XAMigration).
4. Open a PowerShell console and set the current directory to the script location. For example:
cd C:\XAMigration
5. Check the script execution policy by running Get-ExecutionPolicy.
6. Set the script execution policy to at least RemoteSigned to allow the scripts to be executed. For example:
Set-ExecutionPolicy RemoteSigned
7. Import the module definition files ExportPolicy.psd1 and ExportXAFarm.psd1:
Import-Module .\ExportPolicy.psd1
Import-Module .\ExportXAFarm.psd1
Good to know:
If you intend to export only policy data, you can import only the ExportPolicy.psd1 module definition file. Similarly, if you intend to export only farm data, import only
ExportXAFarm.psd1.
Importing the module definition files also adds the required PowerShell snap-ins.
Do not import the .psm1 script files.
8. T o export policy data, run the Export-Policy cmdlet.
Parameter Description
- XML output le name; this le will hold the exported data. Must have an .xml extension. T he le must not exist, but if a path is specied, the parent
XmlOutputFile path must exist.
"<string>.xml"
Default: None; this parameter is required.
-NoLog Do not generate log output. T his overrides the LogFile parameter if it is also specied.
-NoClobber Do not overwrite an existing log le specied in the LogFile parameter. If the log le does not exist, this parameter has no effect.
-NoDetails Do not send detailed reports about script execution to the console.
-SuppressLogo Do not print the message "XenApp 6.x to XenApp/XenDesktop 7.6 Migration Tool Version #yyyyMMdd-hhmm#" to the console. T his message, which
identies the script version, can be helpful during troubleshooting; therefore, Citrix recommends omitting this parameter.
Example: T he following cmdlet exports policy information to the XML file named MyPolicies.xml. T he operation is logged to the file named MyPolicies.log.
Export-Policy -XmlOutputFile " .\MyPolicies.XML"
-LogFile " .\MyPolicies.Log"
9. T o export farm data, run the Export-XAFarm cmdlet, specifying a log file and an XML file.
Parameter Description
-XmlOutputFile XML output le name; this le will hold the exported data. Must have an .xml extension. T he le must not exist, but if a path is specied, the parent
"<string>.xml" path must exist.
-LogFile " Log le name. An extension is optional. T he le is created if it does not exist. If the le exists and the NoClobber parameter is also specied, an error
<string>" is generated; otherwise, the le's content is overwritten.
-NoLog Do not generate log output. T his overrides the LogFile parameter if it is also specied.
-NoClobber Do not overwrite an existing log le specied in the LogFile parameter. If the log le does not exist, this parameter has no effect.
-NoDetails Do not send detailed reports about script execution to the console.
-SuppressLogo Do not print the message "XenApp 6.x to XenApp/XenDesktop 7.6 Migration Tool Version #yyyyMMdd-hhmm#" to the console. T his message,
which identies the script version, can be helpful during troubleshooting; therefore, Citrix recommends omitting this parameter.
-IgnoreAdmins Do not export administrator information. See Advanced use for how-to-use information.
-IgnoreApps Do not export application information. See Advanced use for how-to-use information.
-IgnoreOthers Do not export information such as conguration logging, load evaluators, load balancing policies, printer drivers, and worker groups.
Note: T he purpose of the -IgnoreOthers switch is to allow you to proceed with an export when an error exists that would not affect the actual
data being used for the exporting or importing process.
-AppLimit Number of applications to be exported. See Advanced use for how-to-use information.
<integer>
Default: All applications are exported
- Embed application icon data in the same XML le as the other objects.
EmbedIconData
Default: Icons are stored separately. See Requirements, preparation, and best practices for details
-SkipApps Number of applications to skip. See Advanced use for how-to-use information.
<integer>
Default: No applications are skipped
Example: T he following cmdlet exports farm information to the XML file named MyFarm.xml. T he operation is logged to the file MyFarm.log. A folder named "MyFarm-
icons" is created to store the application icon data files; this folder is at the same location as MyFarm.XML.
Export-XAFarm -XmlOutputFile " .\MyFarm.XML" -LogFile " .\MyFarm.Log"
After the export scripts complete, the XML les specied on the command lines contain the policy and XenApp farm data. T he application icon les contain icon data les, and
the log le indicate what occurred during the export.
Remember that you can run a preview import (by issuing the Import-Policy or Import-XAFarm cmdlet with the Preview parameter) and review the log les before performing an
actual import.
Complete the following steps to import data to a XenApp 7.6 site, using the XML files generating from the export.
1. Log on to the XenApp 7.6 controller as an administrator with read-write permission and Windows permission to run PowerShell scripts.
2. If you have not unzipped the migration tool package XAMigration on the network file share, do so now. Copy ImportFMA.zip from the network file share to the XenApp
7.6 Controller. Unzip and extract ImportFMA.zip on the Controller to a folder (for example: C:\XAMigration).
3. Copy the XML files (the output files generated during the export) from the XenApp 6.x controller to the same location on the XenApp 7.6 Controller where you extracted
the ImportFMA.zip files.
If you chose not to embed the application icon data in the XML output le when you ran the Export-XAFarm cmdlet, be sure to copy the icon data folder and les to the
same location on the XenApp 7.6 controller as the output XML le containing the application data and the extracted ImportFMA.zip les.
4. Open a PowerShell console and set the current directory to the script location.
cd C:\XAMigration
5. Check the script execution policy by running Get-ExecutionPolicy.
6. Set the script execution policy to at least RemoteSigned to allow the scripts to be executed. For example:
Set-ExecutionPolicy RemoteSigned
7. Import the PowerShell module definition files ImportPolicy.psd1 and ImportXAFarm.psd1:
Import-Module .\ImportPolicy.psd1
Import-Module .\ImportXAFarm.psd1
Good to know:
If you intend to import only policy data, you can import only the ImportPolicy.psd1 module definition file. Similarly, if you intend to import only farm data, import only
ImportXAFarm.psd1.
Importing the module definition files also adds the required PowerShell snap-ins.
Do not import the .psm1 script files.
8. T o import policy data, run the Import-Policy cmdlet, specifying the XML file containing the exported policy data.
Parameter Description
-XmlInputFile XML input le name; this le contains data collected from running the Export-Policy cmdlet. Must have an .xml extension.
-XsdFile " XSD le name. T he import scripts use this le to validate the syntax of the XML input le. See Advanced use for how-to-use information.
<string>"
Default: PolicyData.XSD
-LogFile " Log le name. If you copied the export log les to this server, consider using a different log le name with the import cmdlet.
<string>"
Default: See Logging and error handling
-NoLog Do not generate log output. T his overrides the LogFile parameter, if it is also specied.
-NoClobber Do not overwrite an existing log le specied in the LogFile parameter. If the log le does not exist, this parameter has no effect.
-NoDetails Do not send detailed reports about script execution to the console.
- Do not print the message "XenApp 6.x to XenApp/XenDesktop 7.6 Migration Tool Version #yyyyMMdd-hhmm#" to the console. T his message, which
SuppressLogo identies the script version, can be helpful during troubleshooting; therefore, Citrix recommends omitting this parameter.
-Preview Perform a preview import: read data from the XML input le, but do not import objects to the site. T he log le and console indicate what occurred
during the preview import. A preview shows administrators what would happen during a real import.
Example: T he folowing cmdlet imports policy data from the XML file named MyPolcies.xml. T he operation is logged to the file named MyPolicies.log.
Import-Policy -XmlInputFile " .\MyPolicies.XML"
-LogFile " .\MyPolicies.Log"
9. T o import applications, run the Import-XAFarm cmdlet, specifying a log file and the XML file containing the exported farm data.
Parameter Description
-XmlInputFile " XML input le name; this le contains data collected from running the Export-XAFarm cmdlet. Must have an .xml extension.
<string>.xml"
Default: None; this parameter is required.
-XsdFile "<string>" XSD le name. T he import scripts use this le to validate the syntax of the XML input le. See Advanced use for how-to-use information.
Default: XAFarmData.XSD
-LogFile "<string>" Log le name. If you copied the export log les to this server, consider using a different log le name with the import cmdlet.
-NoLog Do not generate log output. T his overrides the LogFile parameter, if it is also specied.
-NoClobber Do not overwrite an existing log le specied in the LogFile parameter. If the log le does not exist, this parameter has no effect.
-NoDetails Do not send detailed reports about script execution to the console.
-SuppressLogo Do not print the message "XenApp 6.x to XenApp/XenDesktop 7.6 Migration Tool Version #yyyyMMdd-hhmm#" to the console. T his
-Preview Perform a preview import: read data from the XML input le, but do not import objects to the site. T he log le and console indicate what
occurred during the preview import. A preview shows administrators what would happen during a real import.
-DeliveryGroupName " Delivery Group name for all imported applications. See Advanced use for how-to-use information.
<string>"
Default: "<xenapp-farm-name> - Delivery Group"
-MatchFolder "<string>" Import only those applications in folders with names that match the string. See Advanced use for how-to-use information.
-NotMatchFolder " Import only those applications in folders with names that do not match the string. See Advanced use for how-to-use information.
<string>"
Default: No matching occurs
-MatchServer "<string>" Import only those applications from servers whose names match the string. See Advanced use for how-to-use information.
-NotMatchServer " Import only those applications from servers whose names do not match the string. See Advanced use for how-to-use information.
<string>"
Default: No matching occurs
-MatchWorkerGroup " Import only those applications published to worker groups with names that match the string. See Advanced use for how-to-use information.
<string>"
Default: No matching occurs
- Import only those applications published to worker groups with names that do not match the string. See Advanced use for how-to-use
NotMatchWorkerGroup information.
"<string>"
Default: No matching occurs
-MatchAccount " Import only those applications published to user accounts with names that match the string. See Advanced use for how-to-use information.
<string>"
Default: No matching occurs
-NotMatchAccount " Import only those applications published to user accounts with names that do not match the string. See Advanced use for how-to-use
<string>" information.
-IncludeStreamedApps Import applications of type "StreamedToClientOrServerInstalled" . (No other streamed applications are imported.)
Example: T he following cmdlet imports applications from the XML file named MyFarm.xml. T he operation is logged to the file named MyFarm.log.
Import-XAFarm -XmlInputFile " .\MyFarm.XML"
-LogFile " .\MyFarm.Log"
10. After the import completes successfully, complete the post-migration tasks.
Post-migration tasks
After successfully importing XenApp 6.x policies and farm settings into a XenApp 7.6 site, use the following guidance to ensure that the data has been imported correctly.
Policies and policy settings
Importing policies is essentially a copy operation, with the exception of deprecated settings and policies, which are not imported. T he post-migration check essentially
involves comparing the two sides.
4. Review and confirm how filters will apply to your XenApp 7.6 site versus their use in XenApp 6.x; significant differences between the XenApp 6.x farm and the XenApp 7.6
site could change the effect of filters.
Filters
Carefully examine the filters for each policy. Changes may be required to ensure they still work in XenApp 7.6 as originally intended in XenApp 6.x.
Filter Considerations
Access Access Control Should contain the same values as the original XenApp 6.x lters and should work without requiring changes.
Control
Citrix A simple Boolean; should work without requiring changes. (T his product is now known as NetScaler SD-WAN.)
CloudBridge
Client IP Lists client IP address ranges; each range is either allowed or denied. T he import script preserves the values, but they may require changes if different
Address clients connect to the XenApp 7.6 VDA machines.
Client Name Similar to the Client IP Address lter, the import script preserves the values, but they may require changes if different clients connect to the XenApp
7.6 VDA machines.
Organizational Values might be preserved, depending on whether or not the OUs can be resolved at the time they are imported. Review this lter closely, particularly if
Unit the XenApp 6.x and XenApp 7.6 machines reside in different domains. If you do not congure the lter values correctly, the policy may be applied to
an incorrect set of OUs.
T he OUs are represented by names only, so there is a small chance that an OU name will be resolved to an OU containing different members from the
OUs in the XenApp 6.x domain. Even if some of the values of the OU lter are preserved, you should carefully review the values.
User or Group Values might be preserved, depending on whether or not the accounts can be resolved at the time they are imported.
Similar to OUs, the accounts are resolved using names only, so if the XenApp 7.6 site has a domain with the same domain and user names, but are
actually two different domains and users, the resolved accounts could be different from the XenApp 6.x domain users. If you do not properly review
and modify the lter values, incorrect policy applications can occur.
Worker Group Worker groups are not supported in XenApp 7.6. Consider using the Delivery Group, Delivery Group T ype, and T ag filters, which are supported in
XenApp 7.6 (not in XenApp 6.x).
Delivery Group: Allows policies to be applied based on Delivery Groups. Each filter entry specifies a Delivery Group and can be allowed or denied.
Delivery Group T ype: Allows policies to be applied based on the Delivery Group types. Each filter specifies a Delivery Group type that can be allowed
or denied.
T ag: Specifies policy application based on tags created for the VDA machines. Each tag can be allowed or denied.
To recap, lters that involve domain user changes require the most attention if the XenApp 6.x farm and the XenApp 7.6 site are in different domains. Because the import
script uses only strings of domain and user names to resolve users in the new domain, some of the accounts might be resolved and others might not. While there is only a
small chance that different domains and users have the same name, you should carefully review these lters to ensure they contain correct values.
Applications
T he application importing scripts do not just import applications; they also create objects such as Delivery Groups. If the application import involves multiple iterations, the
original application folder hierarchies can change significantly.
1. First, read the migration log files that contain details about which applications were imported, which applications were ignored, and the cmdlets that were used to
create the applications.
2. For each application:
Visually check to ensure the basic properties were preserved during the import. Use the information in the Application property mapping section to determine which
As noted in the Logging and error handling section, if you chose to use additional logging coverage with the PowerShell Start-Transcript and Stop-Transcript cmdlets
(which record everything typed and printed to the console), that output, together with the log le, provides a complete reference of import and export activity.
Using the time stamps in the log les, you can diagnose certain problems. For example, if an export or import ran for a very long time, you could determine if a faulty
database connection or resolving user accounts took most of the time.
T he commands recorded in the log les also tell you how some objects are read or created. For example, to create a Delivery Group, several commands are executed to not
only create the Delivery Group object itself, but also other objects such as access policy rules that allow application objects to be assigned to the Delivery Group.
T he log le can also be used to diagnose a failed export or import. Typically, the last lines of the log le indicate what caused the failure; the failure error message is also
saved in the log le. Together with the XML le, the log le can be used to determine which object was involved in the failure.
2. From Studio in the new XenApp site, create machine catalogs (or edit existing catalogs) for the upgraded workers.
3. Add the upgraded machines from the machine catalog to the Delivery Groups that contain the applications installed on those VDAs for Windows Server OS.
Advanced use
By default, the Export-Policy cmdlet exports all policy data to an XML file. Similarly, Export-XAFarm exports all farm data to an XML file. You can use command line parameters
to more finely control what is exported and imported.
Export applications partially - If you have a large number of applications and want to control how many are exported to the XML file, use the following parameters:
AppLimit - Specifies the number of applications to export.
SkipApps - Specifies the number of applications to skip before exporting subsequent applications.
You can use both of these parameters to export large quantities of applications in manageable chunks. For example, the first time you run Export-XAFarm, you want to
export only the first 200 applications, so you specify that value in the AppLimit parameter.
Export-XAFarm -XmlOutputFile " Apps1-200.xml"
-AppLimit " 200"
T he next time you run Export-XAFarm, you want to export the next 100 applications, so you use the SkipApps parameter to disregard the applications you've already
exported (the first 200), and the AppLimit parameter to export the next 100 applications.
Export-XAFarm -XmlOutputFile " Apps201-300.xml"
-AppLimit " 100" -SkipApps " 200"
Do not export certain objects - Some objects can be ignored and thus do not need to be exported, particularly those objects that are not imported; see Policy settings
not imported and Application property mapping. Use the following parameters to prevent exporting unneeded objects:
IgnoreAdmins - Do not export administrator objects
IgnoreServers - Do not export server objects
IgnoreZones - Do not export zone objects
IgnoreOthers - Do not export configuration logging, load evaluator, load balancing policy, printer driver, and worker group objects
IgnoreApps - Do not export applications; this allows you to export other data to an XML output file and then run the export again to export applications to a different
XML output file.
You can also use these parameters to work around issues that could cause the export to fail. For example, if you have a bad server in a zone, the zone export might fail; if
you include the IgnoreZones parameter, the export continues with other objects.
Delivery Group names - If you do not want to put all of your applications into one Delivery Group (for example, because they are accessed by different sets of users and
published to different sets of servers), you can run Import-XAFarm multiple times, specifying different applications and a different Delivery Group each time. Although you
can use PowerShell cmdlets to move applications from one Delivery Group to another after the migration, importing selectively to unique Delivery Groups can reduce or
eliminate the effort of moving the applications later.
1. Use the DeliveryGroupName parameter with the Import-XAFarm cmdlet. T he script creates the specified Delivery Group if it doesn't exist.
2. Use the following parameters with regular expressions to filter the applications to be imported into the Delivery Group, based on folder, worker group, user account,
and/or server names. Enclosing the regular expression in single or double quotation marks is recommended. For information about regular expressions, see
http://msdn.microsoft.com/en-us/library/hs600312(v=vs.110).aspx.
MatchWorkerGroup and NotMatchWorkerGroup - For example, for applications published to worker groups, the following cmdlet imports applications in the worker
Troubleshooting
If you are using PowerShell version 2.0 and you added the Citrix Group Policy PowerShell Provider snap-in or the Citrix Common Commands snap-in using the Add-PSSnapIn
cmdlet, you might see the error message "Object reference not set to an instance of an object" when you run the export or import cmdlets. T his error does not affect
script execution and can be safely ignored.
Avoid adding or removing the Citrix Group Policy PowerShell Provider snap-in in the same console session where the export and import script modules are used, because
those script modules automatically add the snap-in. If you add or remove the snap-in separately, you might see one of the following errors:
"A drive with the name 'LocalGpo' already exists." T his error appears when the snap-in is added twice; the snap-in attempts to mount the drive LocalGpo when it's
loaded, and then reports the error.
"A parameter cannot be found that matches parameter name 'Controller'." T his error appears when the snap-in has not been added but the script attempts to mount
the drive. T he script is not aware that the snap-in was removed. Close the console and launch a new session. In the new session, import the script modules; do not add or
remove the snap-in separately.
When importing the modules, if you right-click a .psd1 file and select Open or Open with PowerShell, the PowerShell console window will rapidly open and close until you
stop the process. T o avoid this error, enter the complete PowerShell script module name directly in the PowerShell console window (for example, Import-Module
.\ExportPolicy.psd1).
If you receive a permission error when running an export or import, ensure you are a XenApp administrator with permission to read objects (for export) or read and create
objects (for import). You must also have sufficient Windows permission to run PowerShell scripts.
If an export fails, check that the XenApp 6.x farm is in a healthy state by running the DSMAINT and DSCHECK utilities on the XenApp 6.x controller server.
If you run a preview import and then later run the import cmdlets again for an actual migration, but discover that nothing was imported, verify that you removed the
Preview parameter from the import cmdlets.
T he following computer and user policy settings are not imported because they are no longer supported. Please note, unltered policies are never imported. T he features and
components that support these settings have either been replaced by new technologies/components or the settings do not apply because of architectural and platform
changes.
T he farm data import script imports only applications. T he following application properties are imported without change.
ClientFolder ClientFolder
CommandLineExecutable CommandLineExecutable
CpuPriorityLevel CpuPriorityLevel
Description Description
DisplayName PublishedName
Enabled Enabled
StartMenuFolder StartMenuFolder
WaitOnPrinterCreation WaitForPrinterCreation
WorkingDirectory WorkingDirectory
FolderPath AdminFolderName
Note: IMA and FMA have different restrictions on folder name length. In IMA, the folder name limit is 256 characters; the FMA limit is 64 characters. When importing,
applications with a folder path containing a folder name of more than 64 characters are skipped. T he limit applies only to the folder name in the folder path; the entire folder
Name Initialized to the full path name, which contains the IMA properties FolderPath and DisplayName, but stripped of the leading string
"Applications\"
IconUid Initialized to an icon object created using XenApp 6.x icon data
IMA Comments
Property
FileT ypes Only the file types that exist on the new XenApp site are migrated. File types that do not exist on the new site are ignored. File types are imported only after
the file types on the new site are updated.
IconData New icon objects are created if the icon data has been provided for the exported applications.
Accounts T he user accounts of an application are split between the user list for the Delivery Group and the application. Explicit users are used to initialize the user list
for the application. In addition, the "Domain Users" account for the domain of the user accounts is added to the user list for the Delivery Group.
HideWhenDisabled Ignored.
AudioT ype FMA does not support advanced client connection options.
One security concern IT faces with mobile workers is lost or stolen data. By hosting applications and desktops, XenApp and
XenDesktop securely separate sensitive data and intellectual property from end-point devices by keeping all data in a data
center. When policies are enabled to allow data transfer, all data is encrypted.
T he XenDesktop and XenApp data centers also make incident response easier with a centralized monitoring and
management service. Director allows IT to monitor and analyze data that is being accessed around the network, and
Studio allows IT to patch and remedy most vulnerabilities in the data center instead of xing the problems locally on each
end-user device.
XenApp and XenDesktop also simplify audits and regulatory compliance because investigators can use a centralized audit
trail to determine who accessed what applications and data. Director gathers historical data regarding updates to the
system and user data usage by accessing Conguration Logging and OData API.
Delegated Administration allows you to set up administrator roles to control access to XenDesktop and XenApp at a
granular level. T his allows exibility in your organization to give certain administrators full access to tasks, operations, and
scopes while other administrators have limited access.
XenApp and XenDesktop give administrators granular control over users by applying policies at different levels of the
network - from the local level to the Organizational Unit level. T his control of policies determines if a user, device, or groups
of users and devices can connect, print, copy/paste, or map local drives, which could minimize security concerns with third-
party contingency workers. Administrators can also use the Desktop Lock feature so end users can only use the virtual
desktop while preventing any access to the local operating system of the end-user device.
Administrators can increase security on XenApp or XenDesktop by conguring the Site to use the Transport Layer Security
(T LS) protocol of the Controller or between end users and Virtual Delivery Agents (VDA). T he protocol can also be enabled
on a Site to provide server authentication, data stream encryption, and message integrity checks for a TCP/IP connection.
XenApp and XenDesktop also support multifactor authentication for Windows or a specic application. Multifactor
authentication could also be used to manage all resources delivered by XenApp and XenDesktop. T hese methods include:
T okens
Smart cards
RADIUS
Kerberos
Biometrics
XenDesktop can be integrated with many third-party security solutions, ranging from identity management to antivirus
software. A list of supported products can be found at http://www.citrix.com/ready.
Select releases of XenApp and XenDesktop are certied for Common Criteria standard. For a list of those standards, go to
http://www.commoncriteriaportal.org/cc/.
General security best practices when using this release, and any security-related differences between this release and a
conventional computer environment
Manage user accounts
Manage user privileges
Manage logon rights
Configure user rights
Configure service settings
Deployment scenarios and their security implications
Remote PC Access security considerations
Your organization may need to meet specic security standards to satisfy regulatory requirements. T his document does not
cover this subject, because such security standards change over time. For up-to-date information on security standards and
Citrix products, consult http://www.citrix.com/security/.
Consider using platform-specic anti-malware software such as the Microsoft Enhanced Mitigation Experience Toolkit
(EMET ) for Windows machines. Some authorities recommend using the latest Microsoft-supported version of EMET within
their regulated environments. Note that, according to Microsoft, EMET may not be compatible with some software, so it
should be thoroughly tested with your applications before deployment in a production environment. XenApp and
XenDesktop have been tested with EMET 5.5 in its default conguration. Currently, EMET is not recommended for use on a
machine that has a Virtual Delivery Agent (VDA) installed.
Protect all machines in your environment with perimeter rewalls, including at enclave boundaries as appropriate.
If you are migrating a conventional environment to this release, you may need to reposition an existing perimeter rewall or
add new perimeter rewalls. For example, suppose there is a perimeter rewall between a conventional client and database
server in the data center. When this release is used, that perimeter rewall must be placed so that the virtual desktop and
user device are on one side, and the database servers and Delivery Controllers in the data center are on the other side.
T herefore, consider creating an enclave within your data center to contain the database servers and Controllers. Also
consider having protection between the user device and the virtual desktop.
All machines in your environment should be protected by a personal rewall. When you install core components and VDAs,
you can choose to have the ports required for component and feature communication opened automatically if the
Windows Firewall Service is detected (even if the rewall is not enabled). You can also choose to congure those rewall
ports manually. If you use a different rewall, you must congure the rewall manually.
All network communications should be appropriately secured and encrypted to match your security policy. You can secure
all communication between Microsoft Windows computers using IPSec; refer to your operating system documentation for
details about how to do this. In addition, communication between user devices and desktops is secured through Citrix
SecureICA, which is congured by default to 128-bit encryption. You can congure SecureICA when you are creating or
updating a Delivery Group.
Apply Windows best practice for account management. Do not create an account on a template or image before it is
duplicated by Machine Creation Services or Provisioning Services. Do not schedule tasks using stored privileged domain
accounts. Do not manually create shared Active Directory machine accounts. T hese practices will help prevent a machine
attack from obtaining local persistent account passwords and then using them to log on to MCS/PVS shared images
belonging to others.
By default, when non-privileged users connect to a desktop, they see the time zone of the system running the desktop
instead of the time zone of their own user device. For information on how to allow users to see their local time when
using desktops, see the Manage Delivery Groups article.
A user who is an administrator on a desktop has full control over that desktop. If a desktop is a pooled desktop rather
than a dedicated desktop, the user must be trusted in respect of all other users of that desktop, including future users.
All users of the desktop need to be aware of the potential permanent risk to their data security posed by this situation.
T his consideration does not apply to dedicated desktops, which have only a single user; that user should not be an
administrator on any other desktop.
A user who is an administrator on a desktop can generally install software on that desktop, including potentially
malicious software. T he user can also potentially monitor or control traffic on any network connected to the desktop.
T he Windows logon rights are: log on locally, log on through Remote Desktop Services, log on over the network (access this
computer from the network), log on as a batch job, and log on as a service.
For user accounts, grant users only the logon rights they require.
According to Microsoft, by default the group Remote Desktop Users is granted the logon right "Allow log on through
Remote Desktop Services" (except on domain controllers).
Your organization's security policy may state explicitly that this group should be removed from that logon right. Consider
the following approach:
T he Virtual Delivery Agent (VDA) for Server OS uses Microsoft Remote Desktop Services. You can configure the Remote
Desktop Users group as a restricted group, and control membership of the group via Active Directory group policies.
Refer to Microsoft documentation for more information.
For other components of XenApp and XenDesktop, including the VDA for Desktop OS, the group Remote Desktop
Users is not required. So, for those components, the group Remote Desktop Users does not require the logon right
"Allow log on through Remote Desktop Services"; you can remove it. Additionally:
If you administer those computers via Remote Desktop Services, ensure that all such administrators are already
members of the Administrators group.
If you do not administer those computers via Remote Desktop Services, consider disabling Remote Desktop Services
itself on those computers.
Although it is possible to add users and groups to the login right "Deny logon through Remote Desktop Services", the use
of deny logon rights is not generally recommended. Refer to Microsoft documentation for more information.
Citrix AD Identity Service (NT SERVICE\CitrixADIdentityService): Manages Microsoft Active Directory computer accounts
for VMs.
Citrix Analytics (NT SERVICE\CitrixAnalytics): Collects site configuration usage information for use by Citrix, if this
collection been approved by the site administrator. It then submits this information to Citrix, to help improve the
product.
Citrix App Library (NT SERVICE\CitrixAppLibrary): Supports management and provisioning of AppDisks, AppDNA
integration, and management of App-V.
Citrix Broker Service (NT SERVICE\CitrixBrokerService): Selects the virtual desktops or applications that are available to
users.
Citrix Configuration Logging Service (NT SERVICE\CitrixConfigurationLogging): Records all configuration changes and
other state changes made by administrators to the site.
Citrix Configuration Service (NT SERVICE\CitrixConfigurationService): Site-wide repository for shared configuration.
Citrix Delegated Administration Service (NT SERVICE\CitrixDelegatedAdmin): Manages the permissions granted to
administrators.
Citrix Environment T est Service (NT SERVICE\CitrixEnvT est): Manages self-tests of the other Delivery Controller services.
Delivery Controller installation also creates the following Windows services. T hese are also created when installed with
other Citrix components:
Citrix Diagnostic Facility COM Server (NT SERVICE\CdfSvc): Supports the collection of diagnostic information for use by
Citrix Support.
Citrix T elemetry Service (NT SERVICE\CitrixT elemetryService): Collects diagnostic information for analysis by Citrix, such
that the analysis results and recommendations can be viewed by administrators to help diagnose issues with the site.
Delivery Controller installation also creates the following Windows service. T his is not currently used. If it has been enabled,
disable it.
Delivery Controller installation also creates these following Windows services. T hese are not currently used, but must be
enabled. Do not disable them.
Except for the Citrix Storefront Privileged Administration Service, these services are granted the logon right Log on as a
service and the privileges Adjust memory quotas for a process, Generate security audits, and Replace a process level token.
You do not need to change these user rights. T hese privileges are not used by the Delivery Controller and are automatically
disabled.
T he Citrix Storefront Privileged Administration service is congured to log on Local System (NT AUT HORIT Y\SYST EM). T his
is required for Delivery Controller StoreFront operations that are not normally available to services (including creating
Microsoft IIS sites). Do not alter its service settings.
You can disable the Citrix Telemetry Service. Apart from this service, and services that are already disabled, do not disable
any other of these Delivery Controller Windows services.
Managed user devices are under administrative control; they are either under your own control, or the control of another
organization that you trust. You may congure and supply user devices directly to users; alternatively, you may provide
terminals on which a single desktop runs in full-screen-only mode. Follow the general security best practices described
above for all managed user devices. T his release has the advantage that minimal software is required on a user device.
A managed user device can be congured to be used in full-screen-only mode or in window mode:
Full-screen-only mode: Users log on to it with the usual Log On T o Windows screen. T he same user credentials are then
used to log on automatically to this release.
Users see their desktop in a window: Users first log on to the user device, then log on to this release through a web site
supplied with the release.
User devices that are not managed and administered by a trusted organization cannot be assumed to be under
administrative control. For example, you might permit users to obtain and congure their own devices, but users might not
follow the general security best practices described above. T his release has the advantage that it is possible to deliver
desktops securely to unmanaged user devices. T hese devices should still have basic antivirus protection that will defeat
keylogger and similar input attacks.
When using this release, you can prevent users from storing data on user devices that are under their physical control.
However, you must still consider the implications of users storing data on desktops. It is not good practice for users to
store data on desktops; data should be held on le servers, database servers, or other repositories where it can be
appropriately protected.
Your desktop environment may consist of various types of desktops, such as pooled and dedicated desktops. Users should
never store data on desktops that are shared amongst users, such as pooled desktops. If users store data on dedicated
Mixed-version environments
Mixed-version environments are inevitable during some upgrades. Follow best-practice and minimize the time that Citrix
components of different versions co-exist. In mixed-version environments, security policy, for example, may not be
uniformly enforced.
Note: T his is typical of other software products; the use of an earlier version of Active Directory only partially enforces
Group Policy with later versions of Windows.
T he following scenario describes a security issue that can occur in a specic mixed-version Citrix environment. When Citrix
Receiver 1.7 is used to connect to a virtual desktop running the VDA in XenApp and XenDesktop 7.6 Feature Pack 2, the
policy setting Allow le transf er between desktop and client is enabled in the Site but cannot be disabled by a Delivery
Controller running XenApp and XenDesktop 7.1. It does not recognize the policy setting, which was released in the later
version of the product. T his policy setting allows users to upload and download les to their virtual desktop, which is the
security issue. To work around this, upgrade the Delivery Controller (or a standalone instance of Studio) to version 7.6
Feature Pack 2 and then use Group Policy to disable the policy setting. Alternatively, use local policy on all affected virtual
desktops.
Note: Citrix recommends that you do not assign VDA administrator privileges to general session users.
Automatic assignments
By default, Remote PC Access supports automatic assignment of multiple users to a VDA. In XenDesktop 5.6 Feature Pack
1, administrators could override this behavior using the RemotePCAccess.ps1 PowerShell script. T his release uses a registry
entry to allow or prohibit multiple automatic remote PC assignments; this setting applies to the entire Site.
Caution: Editing the registry incorrectly can cause serious problems that may require you to reinstall your operating system.
Citrix cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor
at your own risk. Be sure to back up the registry before you edit it.
HKEY_LOCAL_MACHINE\Software\Citrix|DesktopServer
Name: AllowMultipleRemotePCAssignments
Type: REG_DWORD
Data: 0 = Disable multiple user assignment, 1 = (Default) Enable multiple user assignment.
If there are any existing user assignments, remove them using SDK commands for the VDA to subsequently be eligible for a
single automatic assignment.
Remove all assigned users from the VDA: $machine.AssociatedUserNames | %{ Remove-BrokerUser-Name $_ -Machine
$machine
Remove the VDA from the Delivery Group: $machine | Remove-BrokerMachine -DesktopGroup $desktopGroup
Note
For detailed conguration steps on how to integrate XenApp and XenDesktop with NetScaler Gateway, see the StoreFront
documentation.
T he following diagram illustrates an example of a Citrix simplied Citrix deployment that includes NetScaler Gateway.
NetScaler Gateway communicates with StoreFront to protect apps and data delivered by XenApp and XenDesktop. T he
user devices run Citrix Receiver to create a secure connection and access their apps, desktops, and les.
Users log on and authenticate using NetScaler Gateway. NetScaler Gateway is deployed and secured in the DMZ. Two-
factor authentication is congured. Based on the user credentials, users are provided with the relevant resources and
applications. Applications and data are on appropriate servers (not shown on the diagram). Separate servers used for
security sensitive applications and data.
Role Permissions
Full Can perform all tasks and operations. A Full Administrator is always combined with the All scope.
Administrator
Read Only Can see all objects in specified scopes as well as global information, but cannot change anything. For
Administrator example, a Read Only Administrator with Scope=London can see all global objects (such as
Configuration Logging) and any London-scoped objects (for example, London Delivery Groups).
However, that administrator cannot see objects in the New York scope (assuming that the London
and New York scopes do not overlap).
Help Desk Can view Delivery Groups, and manage the sessions and machines associated with those groups. Can
Administrator see the Machine Catalog and host information for the Delivery Groups being monitored, and can
also perform session management and machine power management operations for the machines in
those Delivery Groups.
Machine Can create and manage Machine Catalogs and provision the machines into them. Can build Machine
Catalog Catalogs from the virtualization infrastructure, Provisioning Services, and physical machines. T his role
Administrator can manage base images and install software, but cannot assign applications or desktops to users.
Delivery Can deliver applications, desktops, and machines; can also manage the associated sessions. Can also
Group manage application and desktop configurations such as policies and power management settings.
Administrator
Host Can manage host connections and their associated resource settings. Cannot deliver machines,
Administrator applications, or desktops to users.
In certain product editions, you can create custom roles to match the requirements of your organization, and delegate
permissions with more detail. You can use custom roles to allocate permissions at the granularity of an action or task in a
console.
Scopes A scope represents a collection of objects. Scopes are used to group objects in a way that is relevant to your
Example
Company XYZ decided to manage applications and desktops based on their department (Accounts, Sales, and Warehouse)
and their desktop operating system (Windows 7 or Windows 8). T he administrator created ve scopes, then labeled each
Delivery Group with two scopes: one for the department where they are used and one for the operating system they use.
domain/fred Full Administrator All (the Full Administrator role always has the All scope)
Fred is a Full Administrator and can view, edit, and delete all objects in the system.
Rob can view all objects in the Site but cannot edit or delete them.
Heidi can view all objects and can perform help desk tasks on Delivery Groups in the Sales scope. T his allows her to
manage the sessions and machines associated with those groups; she cannot make changes to the Delivery Group, such
as adding or removing machines.
Anyone who is a member of the warehouseadmin Active Directory security group can view and perform help desk tasks
on machines in the Warehouse scope.
Peter is a Windows 7 specialist and can manage all Windows 7 Machine Catalogs and can deliver Windows 7
applications, desktops, and machines, regardless of which department scope they are in. T he administrator considered
making Peter a Full Administrator for the Win7 scope; however, she decided against this, because a Full Administrator
also has full rights over all objects that are not scoped, such as 'Site' and 'Administrator.'
Generally, the number of administrators and the granularity of their permissions depends on the size and complexity of the
deployment.
In small or proof-of-concept deployments, one or a few administrators do everything; there is no delegation. In this case,
create each administrator with the built-in Full Administrator role, which has the All scope.
In larger deployments with more machines, applications, and desktops, more delegation is needed. Several administrators
For exibility and ease of conguration, you can create new scopes when you create an administrator. You can also specify
scopes when creating or editing Machine Catalogs or connections.
When you create a Site as a local administrator, your user account automatically becomes a Full Administrator with full
permissions over all objects. After a Site is created, local administrators have no special privileges.
T he Full Administrator role always has the All scope; you cannot change this.
By default, an administrator is enabled. Disabling an administrator might be necessary if you are creating the new
administrator now, but that person will not begin administration duties until later. For existing enabled administrators, you
might want to disable several of them while you are reorganizing your object/scopes, then re-enable them when you are
ready to go live with the updated conguration. You cannot disable a Full Administrator if it will result in there being no
enabled Full Administrator. T he enable/disable check box is available when you create, copy, or edit an administrator.
When you delete a role/scope pair while copying, editing, or deleting an administrator, it deletes only the relationship
between the role and the scope for that administrator; it does not delete either the role or the scope, nor does it affect
any other administrator who is congured with that role/scope pair.
T o manage administrators, click Configuration > Administrators in the Studio navigation pane, and then click the
Administrators tab in the upper middle pane.
T o create an administrator, click Create new Administrator in the Actions pane. T ype or browse to the user account
name, select or create a scope, and select a role. T he new administrator is enabled by default; you can change this.
T o copy an administrator, select the administrator in the middle pane and then click Copy Administrator in the Actions
pane. T ype or browse to the user account name. You can select and then edit or delete any of the role/scope pairs, and
add new ones. T he new administrator is enabled by default; you can change this.
T o edit an administrator, select the administrator in the middle pane and then click Edit Administrator in the Actions
pane. You can edit or delete any of the role/scope pairs, and add new ones.
T o delete an administrator, select the administrator in the middle pane and then click Delete Administrator in the Actions
pane. You cannot delete a Full Administrator if it will result in there being no enabled Full Administrator.
Role names can contain up to 64 Unicode characters; they cannot contain the following characters: \ (backslash), /
(forward slash), ; (semicolon), : (colon), # (pound sign) , (comma), * (asterisk), ? (question mark), = (equal sign), < (left arrow), >
(right arrow), | (pipe), [ ] (left or right bracket), ( ) (left or right parenthesis), " (quotation marks), and ' (apostrophe).
Descriptions can contain up to 256 Unicode characters.
You cannot edit or delete a built-in role. You cannot delete a custom role if any administrator is using it.
Note: Only certain product editions support custom roles. Editions that do not support custom roles do not have related
entries in the Actions pane.
When you create a Site, the only available scope is the 'All' scope, which cannot be deleted.
You can create scopes using the procedure below. You can also create scopes when you create an administrator; each
administrator must be associated with at least one role and scope pair. When you are creating or editing desktops, machine
catalogs, applications, or hosts, you can add them to an existing scope; if you do not add them to a scope, they remain part
of the 'All' scope.
Site creation cannot be scoped, nor can Delegated Administration objects (scopes and roles). However, objects you cannot
scope are included in the 'All' scope. (Full Administrators always have the All scope.) Machines, power actions, desktops, and
sessions are not directly scoped; administrators can be allocated permissions over these objects through the associated
machine catalogs or Delivery Groups.
Scope names can contain up to 64 Unicode characters; they cannot include the following characters: \ (backslash), /
(forward slash), ; (semicolon), : (colon), # (pound sign) , (comma), * (asterisk), ? (question mark), = (equal sign), < (left arrow), >
(right arrow), | (pipe), [ ] (left or right bracket), ( ) (left or right parenthesis), " (quotation marks), and ' (apostrophe).
Descriptions can contain up to 256 Unicode characters.
When you copy or edit a scope, keep in mind that removing objects from the scope can make those objects inaccessible to
the administrator. If the edited scope is paired with one or more roles, ensure that the scope updates you make do not
make any role/scope pair unusable.
T o manage scopes, click Configuration > Administrators in the Studio navigation pane, and then click the Scopes tab in the
upper middle pane.
T o create a scope, click Create new Scope in the Actions pane. Enter a name and description. T o include all objects of a
particular type (for example, Delivery Groups), select the object type. T o include specific objects, expand the type and
then select individual objects (for example, Delivery Groups used by the Sales team).
T o copy a scope, select the scope in the middle pane and then click Copy Scope in the Actions pane. Enter a name and
description. Change the object types and objects, as needed.
T o edit a scope, select the scope in the middle pane and then click Edit Scope in the Actions pane. Change the name,
description, object types, and objects, as needed.
T o delete a scope, select the scope in the middle pane and then click Delete Scope in the Actions pane. When prompted,
confirm the deletion.
You can also request this report when creating, copying, or editing an administrator.
An HT ML or CSV report that maps all built-in and custom roles to permissions. You generate this report by running a
PowerShell script named OutputPermissionMapping.ps1.
To run this script, you must be a Full Administrator, a Read Only Administrator, or a custom administrator with permission
to read roles. T he script is located in: Program
Files\Citrix\DelegatedAdmin\SnapIn\Citrix.DelegatedAdmin.Admin.V1\Scripts\.
Syntax:
Parameter Description
-AdminAddress IP address or host name of the Delivery Controller to connect to. Default = localhost
<string>
-Show (Valid only when the -Path parameter is also specified) When you write the output to a file,
-Show causes the output to be opened in an appropriate program, such as a web browser.
T he following example writes an HT ML table to a file named Roles.html and opens the table in a web browser.
& " $env:ProgramFiles\Citrix\DelegatedAdmin\SnapIn\
Citrix.DelegatedAdmin.Admin.V1\Scripts\OutputPermissionMapping.ps1"
-Path Roles.html Show
T he following example writes a CSV table to a file named Roles.csv. T he table is not displayed.
& " $env:ProgramFiles\Citrix\DelegatedAdmin\SnapIn\
Citrix.DelegatedAdmin.Admin.V1\Scripts\OutputPermissionMapping.ps1"
CSV -Path Roles.csv
From a Windows command prompt, the preceding example command is:
powershell -command " & ' %ProgramFiles%\Citrix\DelegatedAdmin\SnapIn\
Citrix.DelegatedAdmin.Admin.V1\Scripts\OutputPermissionMapping.ps1'
Understand your organizations security policy concerning the use of smart cards. T hese policies might, for example,
state how smart cards are issued and how users should safeguard them. Some aspects of these policies might need to
be reassessed in a XenApp or XenDesktop environment.
Determine which user device types, operating systems, and published applications are to be used with smart cards.
Familiarize yourself with smart card technology and your selected smart card vendor hardware and software.
Know how to deploy digital certificates in a distributed environment.
Smart cards for enterprise use contain digital certicates. T hese smart cards support Windows logon, and can also be used
with applications for digital signing and encryption of documents and e-mail. XenApp and XenDesktop support these uses.
Smart cards for consumer use do not contain digital certicates; they contain a shared secret. T hese smart cards can
support payments (such as a chip-and-signature or chip-and-PIN credit card). T hey do not support Windows logon or typical
Windows applications. Specialized Windows applications and a suitable software infrastructure (including, for example, a
connection to a payment card network) are needed for use with these smart cards. Contact your Citrix representative for
information on supporting these specialized applications on XenApp or XenDesktop.
For enterprise smart cards, there are compatible equivalents that can be used in a similar way.
A smart card-equivalent USB token connects directly to a USB port. T hese USB tokens are usually the size of a USB flash
drive, but can be as small as a SIM card used in a mobile phone. T hey appear as the combination of a smart card plus a
USB smart card reader.
A virtual smart card using a Windows T rusted Platform Module (T PM) appears as a smart card. T hese virtual smart cards
are supported for Windows 8 and Windows 10, using Citrix Receiver minimum 4.3.
Versions of XenApp and XenDesktop earlier than 7.6 FP3 do not support virtual smart cards.
For more information on virtual smart cards, see Virtual Smart Card Overview.
Note: T he term virtual smart card is also used to describe a digital certicate simply stored on the user computer.
T hese digital certicates are not strictly equivalent to smart cards.
XenApp and XenDesktop smart card support is based on the Microsoft Personal Computer/Smart Card (PC/SC) standard
specications. A minimum requirement is that smart cards and smart card devices must be supported by the underlying
Windows operating system and must be approved by the Microsoft Windows Hardware Quality Labs (WHQL) to be used
on computers running qualifying Windows operating systems. See the Microsoft documentation for additional information
about hardware PC/SC compliance. Other types of user devices may comply with the PS/SC standard. For more
information, refer to the Citrix Ready program at http://www.citrix.com/ready/.
Usually, a separate device driver is needed for each vendors smart card or equivalent. However, if smart cards conform to a
T he following smart card and middleware combinations for Windows systems have been tested by Citrix as representative
examples of their type. However, other smart cards and middleware can also be used. For more information about Citrix-
compatible smart cards and middleware, see http://www.citrix.com/ready.
For information about smart card usage with other types of devices, see the Citrix Receiver documentation for that device.
For more information about PIV usage with XenDesktop, see Conguring Citrix XenDesktop 7.6 and NetScaler Gateway
10.5 with PIV Smart Card Authentication.
For information about smart card usage with other types of devices, see the Citrix Receiver documentation for that device.
Remote PC Access
Smart cards are supported only for remote access to physical ofce PCs running Windows 10, Windows 8 or Windows 7;
smart cards are not supported for ofce PCs running Windows XP.
Class 1 smart card readers are the most common, and usually just contain a slot. Class 1 smart card readers are supported,
usually with a standard CCID device driver supplied with the operating system.
Class 2 smart card readers also contain a secure keypad that cannot be accessed by the user device. Class 2 smart card
readers may be built into a keyboard with an integrated secure keypad. For class 2 smart card readers, contact your Citrix
representative; a reader-specific device driver may be required to enable the secure keypad capability.
Class 3 smart card readers also contain a secure display. Class 3 smart card readers are not supported.
Class 4 smart card readers also contain a secure transaction module. Class 4 smart card readers are not supported.
Note: T he smart card reader class is unrelated to the USB device class.
Smart card readers must be installed with a corresponding device driver on the user device.
For information about supported smart card readers, see the documentation for the Citrix Receiver you are using. In the
Citrix Receiver documentation, supported versions are usually listed in a smart card article or in the system requirements
article.
User experience
Smart card support is integrated into XenApp and XenDesktop, using a specic ICA/HDX smart card virtual channel that is
enabled by default.
Important: Do not use generic USB redirection for smart card readers. T his is disabled by default for smart card readers, and
is not supported if enabled.
Multiple smart cards and multiple readers can be used on the same user device, but if pass-through authentication is in use,
only one smart card must be inserted when the user starts a virtual desktop or application. When a smart card is used within
an application (for example, for digital signing or encryption functions), there might be additional prompts to insert a smart
card or enter a PIN. T his can occur if more than one smart card has been inserted at the same time.
If users are prompted to insert a smart card when the smart card is already in the reader, they should select Cancel.
If users are prompted for the PIN, they should enter the PIN again.
If you are using hosted applications running on Windows Server 2008 or 2008 R2 and with smart cards requiring the
Microsoft Base Smart Card Cryptographic Service Provider, you might nd that if a user runs a smart card transaction, all
You can reset PINs using a card management system or vendor utility.
Step 2. (Optional) Set up the smart cards to enable users for Remote PC Access.
Step 3. Install and congure the Delivery Controller and StoreFront (if not already installed) for smart card remoting.
Step 4 . Enable StoreFront for smart card use. For details, see Congure smart card authentication in
the StoreFront documentation.
Step 5. Enable NetScaler Gateway/Access Gateway for smart card use. For details, see Conguring Authentication and
Authorization and Conguring Smart Card Access with the Web Interface in the NetScaler documentation.
Step 7. Enable user devices (including domain-joined or non-domain-joined machines) for smart card use. See Congure
smart card authentication in the StoreFront documentation for details.
Import the certificate authority root certificate and the issuing certificate authority certificate into the
device's keystore.
Install your vendor's smart card middleware.
Install and configure Citrix Receiver for Windows, being sure to import icaclient.adm using the Group Policy Management
Console and enable smart card authentication.
Step 8. Test the deployment. Ensure that the deployment is congured correctly by launching a virtual desktop with a test
user's smart card. Test all possible access mechanisms (for example, accessing the desktop through Internet Explorer and
Citrix Receiver).
Non-domain-joined computers and thin clients accessing the Desktop Appliance Connected through Desktop
site Appliance sites
Domain-joined computers and thin clients accessing StoreFront through the Connected through XenApp
XenApp Services URL Services URLs
T he deployment types are defined by the characteristics of the user device to which the smart card reader is connected:
Whether the device is domain-joined or non-domain-joined.
How the device is connected to StoreFront.
What software is used to view virtual desktops and applications.
In addition, smart card-enabled applications such as Microsoft Word, and Microsoft Excel can be used in these
deployments. T hose applications allow users to digitally sign or encrypt documents.
Bimodal authentication
Where possible in each of these deployments, Receiver supports bimodal authentication by offering the user a choice
between using a smart card and entering their user name and password. T his is useful if the smart card cannot be used (for
example, the user has left it at home or the logon certicate has expired).
Because users of non-domain-joined devices log on to Receiver for Windows directly, you can enable users to fall back to
explicit authentication. If you congure bimodal authentication, users are initially prompted to log on using their smart
cards and PINs but have the option to select explicit authentication if they experience any issues with their smart cards.
If you deploy NetScaler Gateway, users log on to their devices and are prompted by Receiver for Windows to authenticate
to NetScaler Gateway. T his applies to both domain-joined and non-domain-joined devices. Users can log on to NetScaler
Gateway using either their smart cards and PINs, or with explicit credentials. T his enables you to provide users with bimodal
authentication for NetScaler Gateway logons. Congure pass-through authentication from NetScaler Gateway to
StoreFront and delegate credential validation to NetScaler Gateway for smart card users so that users are silently
In a Citrix environment, smart cards are supported within a single forest. Smart card logons across forests require a direct
two-way forest trust to all user accounts. More complex multi-forest deployments involving smart cards (that is, where
trusts are only one-way or of different types) are not supported.
You can use smart cards in a Citrix environment that includes remote desktops. T his feature can be installed locally (on the
user device that the smart card is connected to) or remotely (on the remote desktop that the user device connects to).
T he smart card removal policy set on the product determines what happens if you remove the smart card from the reader
during a session. T he smart card removal policy is configured through and handled by the Windows operating system.
No action No action.
Lock workstation T he desktop session is disconnected and the virtual desktop is locked.
Force logoff T he user is forced to log off. If the network connection is lost and this setting is
enabled, the session may be logged off and the user may lose data.
If certicate revocation checking is enabled and a user inserts a smart card with an invalid certicate into a card reader, the
user cannot authenticate or access the desktop or application related to the certicate. For example, if the invalid
certicate is used for email decryption, the email remains encrypted. If other certicates on the card, such as ones used for
authentication, are still valid, those functions remain active.
T his deployment involves domain-joined user devices that run the Desktop Viewer and connect directly to StoreFront.
T his deployment can be extended to a double-hop with the addition of a second StoreFront server and a server hosting
applications. A Receiver from the virtual desktop authenticates to the second StoreFront server. Any authentication
method can be used for this second connection. T he conguration shown for the rst hop can be reused in the second
hop or used in the second hop only.
T his deployment involves domain-joined user devices that run the Desktop Viewer and connect to StoreFront through
NetScaler Gateway/Access Gateway.
A user logs on to a device using a smart card and PIN, and then logs on again to NetScaler Gateway/Access Gateway. T his
second logon can be with either the smart card and PIN or a user name and password because Receiver allows bimodal
authentication in this deployment.
T he user is automatically logged on to StoreFront, which passes the user security identiers (SIDs) to XenApp or
XenDesktop. When the user starts a virtual desktop or application, the user is not prompted again for a PIN because the
single sign-on feature is congured on Receiver.
T his deployment can be extended to a double-hop with the addition of a second StoreFront server and a server hosting
T his deployment involves non-domain-joined user devices that run the Desktop Viewer and connect directly to StoreFront.
A user logs on to a device. Typically, the user enters a user name and password but, since the device is not joined to a
domain, credentials for this logon are optional. Because bimodal authentication is possible in this deployment, Receiver
prompts the user either for a smart card and PIN or a user name and password. Receiver then authenticates to Storefront.
StoreFront passes the user security identiers (SIDs) to XenApp or XenDesktop. When the user starts a virtual desktop or
application, the user is prompted for a PIN again because the single sign-on feature is not available in this deployment.
T his deployment can be extended to a double-hop with the addition of a second StoreFront server and a server hosting
applications. A Receiver from the virtual desktop authenticates to the second StoreFront server. Any authentication
method can be used for this second connection. T he conguration shown for the rst hop can be reused in the second
hop or used in the second hop only.
T his deployment involves non-domain-joined user devices that run the Desktop Viewer and connect directly to StoreFront.
StoreFront passes the user security identiers (SIDs) to XenApp or XenDesktop. When the user starts a virtual desktop or
application, the user is prompted for a PIN again because the single sign-on feature is not available in this deployment.
T his deployment can be extended to a double-hop with the addition of a second StoreFront server and a server hosting
applications. A Receiver from the virtual desktop authenticates to the second StoreFront server. Any authentication
method can be used for this second connection. T he conguration shown for the rst hop can be reused in the second
hop or used in the second hop only.
Deployment example: non-domain-joined computers and thin clients accessing the Desktop Appliance site
T his deployment involves non-domain-joined user devices that may run the Desktop Lock and connect to StoreFront
through Desktop Appliance sites.
T he Desktop Lock is a separate component that is released with XenApp, XenDesktop, and VDI-in-a-Box. It is an
alternative to the Desktop Viewer and is designed mainly for repurposed Windows computers and Windows thin clients.
T he Desktop Lock replaces the Windows shell and Task Manager in these user devices, preventing users from accessing the
underlying devices. With the Desktop Lock, users can access Windows Server Machine desktops and Windows Desktop
Machine desktops. Installation of Desktop Lock is optional.
A user logs on to a device with a smart card. If Desktop Lock is running on the device, the device is congured to launch a
Desktop Appliance site through Internet Explorer running in Kiosk Mode. An ActiveX control on the site prompts the user
for a PIN, and sends it to StoreFront. StoreFront passes the user security identiers (SIDs) to XenApp or XenDesktop. T he
rst available desktop in the alphabetical list in an assigned Desktop Group starts.
T his deployment can be extended to a double-hop with the addition of a second StoreFront server and a server hosting
applications. A Receiver from the virtual desktop authenticates to the second StoreFront server. Any authentication
method can be used for this second connection. T he conguration shown for the rst hop can be reused in the second
hop or used in the second hop only.
Deployment example: domain-joined computers and thin clients accessing StoreFront through the XenApp
Services URL
T his deployment involves domain-joined user devices that run the Desktop Lock and connect to StoreFront through
T he Desktop Lock is a separate component that is released with XenApp, XenDesktop, and VDI-in-a-Box. It is an
alternative to the Desktop Viewer and is designed mainly for repurposed Windows computers and Windows thin clients.
T he Desktop Lock replaces the Windows shell and Task Manager in these user devices, preventing users from accessing the
underlying devices. With the Desktop Lock, users can access Windows Server Machine desktops and Windows Desktop
Machine desktops. Installation of Desktop Lock is optional.
A user logs on to a device using a smart card and PIN. If Desktop Lock is running on the device, it authenticates the user to
a Storefront server using Integrated Windows Authentication (IWA). StoreFront passes the user security identiers (SIDs) to
XenApp or XenDesktop. When the user starts a virtual desktop, the user is not prompted for a PIN again because the single
sign-on feature is congured on Receiver.
T his deployment can be extended to a double-hop with the addition of a second StoreFront server and a server hosting
applications. A Receiver from the virtual desktop authenticates to the second StoreFront server. Any authentication
method can be used for this second connection. T he conguration shown for the rst hop can be reused in the second
hop or used in the second hop only.
Pass-through authentication
Pass-through authentication with smart cards to virtual desktops is supported on user devices running Windows 10,
Windows 8, and Windows 7 SP1 Enterprise and Professional Editions.
Pass-through authentication with smart cards to hosted applications is supported on servers running Windows Server 2016,
Windows Server 2012 R2, Windows Server 2012, and Windows Server 2008 R2 SP1.
To use pass-through authentication with smart cards hosted applications, ensure you enable the use of Kerberos when you
congure Pass-through with smartcard as the authentication method for the site.
Note: T he availability of pass-through authentication with smart cards depends on many factors including, but not limited
to:
Your organization's security policies regarding pass-through authentication.
Middleware type and configuration.
Smart card reader types.
Middleware PIN caching policy.
Single sign-on
Single sign-on is a Citrix feature that implements pass-through authentication with virtual desktop and application
launches. You can use this feature in domain-joined, direct-to-StoreFront and domain-joined, NetScaler-to-StoreFront
smart card deployments to reduce the number of times that users enter their PIN. To use single sign-on in these
deployment types, edit the following parameters in the default.ica le, which is located on the StoreFront server:
For more instructions on setting these parameters, see the StoreFront or NetScaler Gateway documentation.
T he availability of single sign-on functionality depends on many factors including, but not limited to:
Note: When the user logs on to the Virtual Delivery Agent (VDA) on a machine with an attached smart card reader, a
Windows tile may appear representing the previous successful mode of authentication, such as smart card or password. As
a result, when single sign-on is enabled, the single sign-on tile may appear. T o log on, the user must select Switch Users to
select another tile because the single sign-on tile will not work.
Enable T LS connections between users and Virtual Delivery Agents (VDAs) by completing the following tasks:
Configure T LS on the machines where the VDAs are installed. (For convenience, further references to machines where
VDAs are installed are simply called "VDAs.") You can use a PowerShell script supplied by Citrix, or configure it manually.
For general information, see About T LS settings on VDAs. For details, see Configure T LS on a VDA using the
PowerShell script and Manually configure T LS on a VDA.
Configure T LS in the Delivery Groups containing the VDAs by running a set of PowerShell cmdlets in Studio. For
details, see Configure T LS on Delivery Groups.
Requirements and considerations:
Enabling T LS connections between users and VDAs is valid only for XenApp 7.6 and XenDesktop 7.6 Sites, plus later
supported releases.
Configure T LS in the Delivery Groups and on the VDAs after you install components, create a Site, create Machine
Catalogs, and create Delivery Groups.
T o configure T LS in the Delivery Groups, you must have permission to change Controller access rules; a Full
Administrator has this permission.
T o configure T LS on the VDAs, you must be a Windows administrator on the machine where the VDA is installed.
If you intend to configure T LS on VDAs that have been upgraded from earlier versions, uninstall any SSL relay
software on those machines before upgrading them.
T he PowerShell script configures T LS on static VDAs; it does not configure T LS on pooled VDAs that are provisioned
by Machine Creation Services or Provisioning Services, where the machine image resets on each restart.
Note
If both T LS and UDT are enabled at the VDA:
For direct access to the VDA, Citrix Receiver always uses T LS over T CP (not UDP and UDT ).
For indirect access to the VDA using NetScaler Gateway, Citrix Receiver uses DT LS over UDP for communication with NetScaler
Gateway. T he communication between NetScaler Gateway and the VDA uses UDP without DT LS. UDT is used.
If the Controller does not have IIS installed, one method of conguring the certicate is:
1. Obtain an SSL server certificate and install it on the Controller using the guidance
inhttp://blogs.technet.com/b/pki/archive/2009/08/05/how-to-create-a-web-server-ssl-certificate-manually.aspx. For
information on the certreq tool, see http://technet.microsoft.com/en-us/library/cc736326(WS.10).aspx.
If you intend to use the PowerShell script to congure T LS on VDAs, and unless you intend on specifying the SSL
certicates thumbprint, make sure the certicate is located in the Local Computer > Personal > Certicates area of the
certicate store. If more than one certicate resides in that location, the rst one found will be used.
If the Controller is installed on Windows Server 2016, and StoreFront is installed on Windows Server 2012, a conguration
change is needed at the Controller, to change the order of T LS cipher suites.
Note: T his conguration change is not needed for Controller and StoreFront with other combinations of Windows Server
versions.
Note: Windows Server 2012 does not support the GCM ciphersuites T LS_ECDHE_RSA_WIT H_AES_256_GCM_SHA384 or
T LS_ECDHE_RSA_WIT H_AES_128_GCM _SHA256.
1. Using the Microsoft Group Policy Editor, browse to Computer Configuration > Administrative T emplates > Network > SSL
Configuration Settings.
2. Edit the policy SSL Cipher Suite Order. By default, this policy is set to Not Configured. Set this policy to Enabled.
3. Arrange suites in the correct order; remove any ciphersuites suites you do not want to use.
To change the default HT T P or HT T PS ports used by the Controller, run the following command from Studio:
Note: After changing a port, Studio might display a message about license compatibility and upgrading. To resolve the issue,
re-register service instances using the following PowerShell cmdlet sequence:
If you want the XML Service to ignore HT T P trafc, create the following registry setting in
HKLM\Software\Citrix\DesktopServer\ on the Controller and then restart the Broker Service.
T here is a corresponding registry DWORD value you can create to ignore HT T PS trafc: DWORD XmlServicesEnableSsl.
Ensure that it is not set to 0.
When you congure T LS on VDAs, permissions on the installed SSL certicate are changed, giving the ICA Service read
access to the certicates private key, and informing the ICA Service of the following:
T he Windows Firewall (if enabled) must be congured to allow incoming connection on this TCP port. T his
conguration is done for you when you use the PowerShell script.
Important: Citrix recommends that you review your use of SSLv3, and recongure those deployments to remove
support for SSLv3 where appropriate. See CT X200238.
T he supported T LS protocol versions follow a hierarchy (lowest to highest): SSL 3.0, T LS 1.0, T LS 1.1, and T LS 1.2. You
specify the minimum allowed version; all protocol connections using that version or a higher version are allowed.
For example, if you specify T LS 1.1 as the minimum version, then T LS 1.1 and T LS 1.2 protocol connections are allowed.
If you specify SSL 3.0 as the minimum version, then connections for all the supported versions are allowed. If you
specify T LS 1.2 as the minimum version, only T LS 1.2 connections are allowed.
A cipher suite selects the encryption that will be used for a connection. Clients and VDAs can support different sets
T hree sets of cipher suites (also known as compliance modes) are supported by the VDA: GOV(ernment), COM(mercial),
and ALL. T he acceptable cipher suites also depend on the Windows FIPS mode; see
http://support.microsoft.com/kb/811833 for information about Windows FIPS mode. T he following table lists the
cipher suites in each set:
T LS_ECDHE_RSA_WIT H_AES_256_GCM_SHA384 x x x x
T LS_ECDHE_RSA_WIT H_AES_256_CBC_SHA384 x x x x
T LS_RSA_WIT H_AES_256_GCM_SHA384 x x x x
T LS_RSA_WIT H_AES_128_GCM_SHA256 x x x x x x
T LS_RSA_WIT H_AES_256_CBC_SHA256 x x x x
T LS_RSA_WIT H_AES_256_CBC_SHA x x x x
T LS_RSA_WIT H_AES_128_CBC_SHA x x x x
T LS_RSA_WIT H_RC4_128_SHA x x
T LS_RSA_WIT H_RC4_128_MD5 x x
T LS_RSA_WIT H_3DES_EDE_CBC_SHA x x x x
Important: An additional step is necessary when the VDA is on Windows Server 2012 R2, Windows Server 2016, or Windows
10 Anniversary Edition or later supported release. T his affects connections from Citrix Receiver for Windows 4.6 and 4.7.
On the VDA (Windows Server 2016 or Windows 10 Anniversary Edition or later), using the Group Policy Editor, go to
Computer Conguration > Administrative Templates > Network > SSL Conguration Settings > SSL Cipher Suite Order.
Select the following order:
Note: T he rst four items also specify the elliptic curve, P384 or P256. Ensure that "curve25519" is not selected. FIPS
Mode does not prevent the use of "curve25519".
When this Group Policy setting is congured, the VDA will select a cipher suite only if appears in both lists: the Group
Policy list and the list for the selected compliance mode (COM, GOV, or ALL). T he cipher suite must also appear in the
list sent by the client (Citrix Receiver or StoreFront).
T his Group Policy conguration also affects other T LS applications and services on the VDA. If your applications
require specic cipher suites, you may need to add them to this Group Policy list.
T he Enable-VdaSSL.ps1 script enables or disables the T LS listener on a VDA. T his script is available in the Support >Tools >
SslSupport folder on the installation media.
When you enable T LS, the script disables all existing Windows Firewall rules for the specified T CP port before adding a new
rule that allows the ICA Service to accept incoming connections only on the T LS T CP port. It also disables the Windows
Firewall rules for:
Citrix ICA (default: 1494)
Citrix CGP (default: 2598)
Citrix WebSocket (default: 8008)
T he result is that users can connect only over T LS; they cannot use raw ICA, CGP, or WebSocket to connect.
T he script contains the following syntax descriptions, plus additional examples; you can use a tool such as Notepad++ to
review this information.
You must specify either the Enable or Disable parameter; all other parameters are optional.
Syntax
Parameter Description
-Enable Installs and enables the T LS listener on the VDA. Either this parameter or the Disable
parameter is required.
-SSLMinVersion " Minimum T LS protocol version, enclosed in quotation marks. Valid values: "SSL_3.0", "T LS_1.0",
<min-ssl-version>" "T LS_1.1", and "T LS_1.2". Default: "T LS_1.0"
Important: Citrix recommends that customers review their usage of SSLv3 and take steps to
recongure their deployments to remove support for SSLv3 where appropriate. See
CT X200238.
-SSLCipherSuite " T LS cipher suite, enclosed in quotation marks. Valid values: "GOV", "COM", and "ALL". Default:
<suite>" "ALL"
- T humbprint of the SSL certificate in the certificate store, enclosed in quotation marks. T his
CertificateT humbPrint parameter is generally used when the certificate store has multiple certificates; the script uses
"<thumbprint>" the thumbprint to select the certificate you want to use. Default: the first available
certificate found in the Local Computer > Personal > Certificates area of the certificate store.
Examples
T he following script installs and enables the T LS 1.2 protocol version value.
Enable-VdaSSL Enable
T he following script installs and enables the T LS listener, and specifies T LS port 400, the GOV cipher suite, and a minimum
T LS 1.2 protocol value.
Enable-VdaSSL Enable SSLPort 400 ' SSLMinVersion " TLS_1.2"
SSLCipherSuite " GOV"
T he following script disables the T LS listener on the VDA.
Enable-VdaSSL Disable
Manually congure TLS on a VDA
When configuring T LS on a VDA manually, you grant generic read access to the T LS certificate's private key for the
appropriate service on each VDA: NT SERVICE\PorticaService for a VDA for Windows Desktop OS, or NT
SERVICE\T ermService for a VDA for Windows Server OS. On the machine where the VDA is installed:
1. Launch the Microsoft Management Console (MMC): Start > Run > mmc.exe.
2. Add the Certificates snap-in to the MMC:
1. Select File > Add/Remove Snap-in.
2. Select Certificates and then click Add.
3. When prompted with "T his snap-in will always manage certificates for:" choose "Computer account" and then click
Next.
4. When prompted with "Select the computer you want this snap-in to manage" choose "Local computer" and then click
Finish.
3. Under Certificates (Local Computer) > Personal > Certificates, right click the certificate and then select All T asks >
Manage Private Keys.
4. T he Access Control List Editor displays "Permissions for (FriendlyName) private keys" where (FriendlyName) is the name of
your SSL certificate. Add one of the following services and give it Read access:
For a VDA for Windows Desktop OS, "PORT ICASERVICE"
Complete this procedure for each Delivery Group that contains VDAs you have configured for T LS connections.
1. From Studio, open the PowerShell console.
2. Run asnp Citrix.* to load the Citrix product cmdlets.
3. Run Get-BrokerAccessPolicyRule -DesktopGroupName '<delivery-group-name>' | Set-BrokerAccessPolicyRule -
HdxSslEnabled $true.
where <delivery-group-name> is the name of the Delivery Group containing VDAs.
Troubleshooting
When using Receiver for Windows, if you receive a connection error (such as 1030) that indicates an T LS error, disable
Desktop Viewer and then try connecting again; although the connection will still fail, an explanation of the underlying T LS
issue might be provided (for example, you specied an incorrect template when requesting a certicate from the certicate
authority).
According to Microsoft, the Security protocols used by WCF conform to standards from OASIS (Organization for the
Advancement of Structured Information Standards), including WS-SecurityPolicy 1.2. Additionally, Microsoft states that
WCF supports all algorithm suites listed in Security Policy 1.2.
HT ML5 video redirection includes support for video content over T LS (HT T PS). To achieve this, custom certicates are
placed in the computer's certicate store on the VDA.
If you do not intend to use HT ML5 video redirection with video content over T LS, Citrix recommends that you delete the
two certicates from the Trusted Root Certicates store on the VDA. T hese certicates are Issued to "Citrix HDX"/Issued
by "Citrix HDX", and Issued to "127.0.0.1"/Issued by "Citrix HDX".
Citrix recommends deleting the les libeay32.dll and ssleay32.dll from the HT ML5 Video Redirection installation folder. T his is
recommended practice even if you do not intend to use HT ML5 video content.
For more information on HT ML5 video redirection, see Multimedia policy settings.
T he following diagram shows the Federated Authentication Service integrating with a Microsoft Certication Authority
and providing support services to StoreFront and XenApp and XenDesktop Virtual Delivery Agents (VDAs).
Trusted StoreFront servers contact the Federated Authentication Service (FAS) as users request access to the Citrix
environment. T he FAS grants a ticket that allows a single XenApp or XenDesktop session to authenticate with a certicate
for that session. When a VDA needs to authenticate a user, it connects to the FAS and redeems the ticket. Only the FAS
has access to the user certicates private key; the VDA must send each signing and decryption operation that it needs to
perform with the certicate to the FAS.
Requirements
T he Federated Authentication Service is supported on Windows servers (Windows Server 2008 R2 or later).
Citrix recommends installing the FAS on a server that does not contain other Citrix components.
T he Windows Server should be secured. It will have access to a registration authority certificate and private key that
allows it to automatically issue certificates for domain users, and it will have access to those user certificates and private
When planning your deployment of this service, review the Security considerations section.
References:
https://technet.microsoft.com/en-us/library/hh831740.aspx
http://support.citrix.com/article/CT X206156
command COPY
Get -Module "Cit rix.St oreFront .*" -List Available | Import -Module
$st ore = Get -STFSt oreService -Virt ualPat h $St oreVirt ualPat h
$aut h = Get -STFAut hent icat ionService -St oreService $st ore
Set -STFClaimsFact oryNames -Aut hent icat ionService $aut h -ClaimsFact oryName "FASClaimsFact ory"
Set -STFSt oreLaunchOpt ions -St oreService $st ore -VdaLogonDat aProvider "FASLogonDat aProvider"
command COPY
Get -Module "Cit rix.St oreFront .*" -List Available | Import -Module
$st ore = Get -STFSt oreService -Virt ualPat h $St oreVirt ualPat h
$aut h = Get -STFAut hent icat ionService -St oreService $st ore
Set -STFClaimsFact oryNames -Aut hent icat ionService $aut h -ClaimsFact oryName "st andardClaimsFact ory"
Set -STFSt oreLaunchOpt ions -St oreService $st ore -VdaLogonDat aProvider ""
Important: Ensure that the StoreFront servers requesting tickets and the VDAs redeeming tickets have identical
conguration of DNS addresses, including the automatic server numbering applied by the Group Policy object.
For simplicity, the following examples congure a single policy at the domain level that applies to all machines; however, that
is not required. T he FAS will function as long as the StoreFront servers, VDAs, and the machine running the FAS
administration console see the same list of DNS addresses. Note that the Group Policy object adds an index number to
each entry, which must also match if multiple objects are used.
Step 1. On the server where you installed the FAS, locate the C:\Program Files\Citrix\Federated Authentication
Service\PolicyDenitions\CitrixFederatedAuthenticationService.admx le and the en-US folder.
Step 2. Copy these to your domain controller and place them in the C:\Windows\PolicyDenitions and en-US subfolder.
Step 3. Run the Microsoft Management Console (mmc.exe from the command line). From the menu bar, select File >
Add/Remove Snap-in. Add the Group Policy Management Editor.
When prompted for a Group Policy Object, select Browse and then select Def ault Domain Policy. Alternatively, you can
create and select an appropriate policy object for your environment, using the tools of your choice. T he policy must be
applied to all machines running affected Citrix software (VDAs, StoreFront servers, administration tools).
Remember: If you enter multiple addresses, the order of the list must be consistent between StoreFront servers and VDAs.
T his includes blank or unused list entries.
Step 7. Click OK to exit the Group Policy wizard and apply the group policy changes. You may need to restart your
machines (or run gpupdate /f orce from the command line) for the change to take effect.
T he Group Policy template includes support for conguring the system for in-session certicates. T his places certicates in
the users personal certicate store after logon for application use. For example, if you require T LS authentication to web
servers within the VDA session, the certicate can be used by Internet Explorer. By default, VDAs will not allow access to
certicates after logon.
T he console attempts to automatically locate the FAS servers in your environment using the Group Policy conguration. If
this fails, see the Congure Group Policy section.
T he rst time the administration console is used, it guides you through a three-step process that deploys certicate
templates, sets up the certicate authority, and authorizes the Federated Authentication Service to use the certicate
authority. Some of the steps can alternatively be completed manually using OS conguration tools.
Citrix_RegistrationAuthority_ManualAuthorization
Citrix_RegistrationAuthority
Citrix_SmartcardLogon
T hese templates must be registered with Active Directory. If the console cannot locate them, the Deploy certicate
templates tool can install them. T his tool must be run as an account that has permissions to administer your Enterprise
forest.
T he conguration of the templates can be found in the XML les with extension .certicatetemplate that are installed
If you do not have permission to install these template les, give them to your Active Directory Administrator.
To manually install the templates, you can use the following PowerShell commands:
command COPY
$writ ablet emplat e = New-Object -ComObject X509Enrollment .CX509Cert icat eTemplat eADWrit able
If the templates are not published on at least one server, the Setup certicate authority tool offers to publish them. You
must run this tool as a user that has permissions to administer the certicate authority.
(Certicate templates can also be published using the Microsoft Certication Authority console.)
After the request is sent, it appears in the Pending Requests list of the Microsoft Certication Authority console. T he
certicate authority administrator must choose to Issue or Deny the request before conguration of the Federated
Authentication Service can continue. Note that the authorization request appears as a Pending Request from the FAS
machine account.
To complete the setup of the Federated Authentication Service, the administrator must dene the default rule by
Fields:
Certicate Authority and Certicate Template: T he certicate template and certicate authority that will be used to
issue user certicates. T his should be the Citrix_SmartcardLogon template, or a modied copy of it, on one of the
certicate authorities that the template is published to.
T he FAS supports adding multiple certicate authorities for failover and load balancing, using PowerShell commands.
Similarly, more advanced certicate generation options can be congured using the command line and conguration les.
See the PowerShell and Hardware security modules sections.
In-Session Certicates: T he Available af ter logon check box controls whether a certicate can also be used as an in-
session certicate. If this check box is not selected, the certicate will be used only for logon or reconnection, and the user
will not have access to the certicate after authenticating.
List of StoreFront servers that can use this rule: T he list of trusted StoreFront server machines that are authorized to
request certicates for logon or reconnection of users. Note that this setting is security critical, and must be managed
carefully.
List of users that StoreFront can log in using this rule: T he list of users who can be issued certicates through the
Federated Authentication Service.
You can create additional rules to reference different certicate templates and authorities, which may be congured to
have different properties and permissions. T hese rules can be congured for use by different StoreFront servers, which will
need to be congured to request the new rule by name. By default, StoreFront requests def ault when contacting the
Federated Authentication Service. T his can be changed using the Group Policy Conguration options.
To create a new certicate template, duplicate the Citrix_SmartcardLogon template in the Microsoft Certication
Authority console, rename it (for example, Citrix_SmartcardLogon2), and modify it as required. Create a new user rule by
clicking Add to reference the new certicate template.
Security considerations
T he Federated Authentication Service has a registration authority certicate that allows it to issue certicates
autonomously on behalf of your domain users. As such, it is important to develop and implement a security policy to
protect the the FAS servers, and to constrain their permissions.
T he Microsoft Certication Authority allows control of which templates the FAS server can use, as well as limiting which
users the FAS server can issue certicates for.
As described in the Congure user roles section, you must congure a list of StoreFront servers that are trusted to assert
user identities to the Federated Authentication Service when certicates are issued. Similarly, you can restrict which users
will be issued certicates, and which VDA machines they can authenticate to. T his is in addition to any standard Active
Directory or certicate authority security features you congure.
Firewall settings
All communication to FAS servers uses mutually authenticated Windows Communication Foundation (WCF) Kerberos
network connections over port 80.
T he Federated Authentication Service and the VDA write information to the Windows Event Log. T his can be used for
monitoring and auditing information. T he Event logs section lists event log entries that may be generated.
All private keys, including those of user certicates issued by the Federated Authentication Service, are stored as non-
exportable private keys by the Network Service account. T he Federated Authentication Service supports the use of a
cryptographic hardware security module, if your security policy requires it.
ProviderLegacyCsp When set to true, FAS will use the Microsoft CryptoAPI (CAPI). Otherwise, FAS will use
the Microsoft Cryptography Next Generation API (CNG).
KeyProtection Controls the Exportable ag of private keys. Also allows the use of Trusted Platform
Module (T PM) key storage, if supported by the hardware.
KeyLength Key length for RSA private keys. Supported values are 1024, 2048 and 4096 (default:
2048).
PowerShell SDK
Although the Federated Authentication Service administration console is suitable for simple deployments, the PowerShell
interface offers more advanced options. When you are using options that are not available in the console, Citrix
recommends using only PowerShell for conguration.
Add-PSSnapin Citrix.Authentication.FederatedAuthenticationService.V1
Use Get-Help <cmdlet name> to display cmdlet help. T he following table lists several commands where * represents a
standard PowerShell verb (such as New, Get, Set, Remove).
Commands Overview
*-FasServer Lists and recongures the FAS servers in the current environment.
*-FasCerticateDenition Controls the parameters that the FAS uses to generate certicates.
*-FasUserCerticate Lists and manages certicates cached by the Federated Authentication Service.
You can also download a zip le containing all the FAS PowerShell cmdlet help les; see the PowerShell SDK article.
Performance counters
T he Federated Authentication Service includes a set of performance counters for load tracking purposes.
T he following table lists the available counters. Most counters are rolling averages over ve minutes.
Name Description
Private Key ops Number of private key operations performed per minute.
Low/Medium/High Estimates of the load that the Federated Authentication Service can accept in terms of
CSRs per minute. Exceeding the High Load threshold may result in session launches
failing.
Event logs
T he following tables list the event log entries generated by the Federated Authentication Service.
Administration events
T hese events are logged in response to a conguration change in the Federated Authentication Service server.
Log Codes
[S004] Administrator [{0}] enrolling with CA [{1}] templates [{2} and {3}]
[S012] Administrator [{0}] creating certicate [upn: {0} sid: {1} role: {2}][Certicate Denition: {3}]
[S013] Administrator [{0}] deleting certicates [upn: {0} role: {1} Certicate Denition: {2}]
Log Codes
[S402] ERROR: T he Citrix Federated Authentication Service must be run as Network Service [currently running as: {0}]
T hese events are logged at runtime on the Federated Authentication Service server when a trusted server asserts a user
logon.
Log Codes
[S103] Server [{0}] requested UPN [{1}] SID {2}, but lookup returned SID {3}
[S104] Server [{0}] failed to assert UPN [{1}] (UPN not allowed by role [{2}])
[S105] Server [{0}] issued identity assertion [upn: {0}, role {1}, Security Context: [{2}]
[S120] Issuing certicate to [upn: {0} role: {1} Security Context: [{2}]]
[S121] Issuing certicate to [upn: {0} role: {1}] on behalf of account {2}
T hese events are logged at runtime on the Federated Authentication Service server when a VDA logs on a user.
Log Codes
[S203] Relying party [{0}] does not have access to the Logon CSP
[S204] Relying party [{0}] accessing the Logon CSP [Operation: {1}]
[S207] Relying party [{0}] asserting identity [upn: {1}] in role: [{2}]
[S208] Private Key operation failed [Operation: {0}][upn: {1} role: {2} certicateDenition {3}][Error {4} {5}].
T hese events are logged on the Federated Authentication Service server when a user uses an in-session certicate.
Log Codes
[S301] Access Denied: User [{0}] does not have access to a Virtual Smart Card
[S302] User [{0}] requested unknown Virtual Smart Card [thumbprint: {1}]
[S303] User [{0}] does not match Virtual Smart Card [upn: {1}]
[S305] Private Key operation failed [Operation: {0}][upn: {1} role: {2} containerName {3}][Error {4} {5}].
Log on [VDA]
T hese events are logged on the VDA during the logon stage.
Log Codes
[S101] Identity Assertion Logon failed. Unrecognised Federated Authentication Service [id: {0}]
[S102] Identity Assertion Logon failed. Could not lookup SID for {0} [Exception: {1}{2}]
[S103] Identity Assertion Logon failed. User {0} has SID {1}, expected SID {2}
[S104] Identity Assertion Logon failed. Failed to connect to Federated Authentication Service: {0} [Error: {1} {2}]
T hese events are logged on the VDA when a user attempts to use an in-session certicate.
Log Codes
[S201] Virtual Smart Card Authorized [User: {0}][PID: {1} Name:{2}][Certicate {3}]
[S203] Virtual Smart Card Subsystem. Access Denied [caller: {0}, session {1}, expected: {2}]
T hese low-level events are logged when the Federated Authentication Service server performs log-level cryptographic
operations.
Log Codes
[S0016]PrivateKey::Create
[S0017]PrivateKey::Delete
Log Codes
[S0121]NativeCerticateAuthority::SubmitCerticateRequest Error
[S0124]NativeCerticateAuthority::RevokeCerticate
[S0125]NativeCerticateAuthority::PublishCRL
Related information
T he common FAS deployments are summarized in the Federated Authentication Service architectures overview article.
"How-to" articles are introduced in the Federated Authentication Service configuration and management article.
Introduction
T he Federated Authentication Service (FAS) is a Citrix component that integrates with your Active Directory certicate
authority (CA), allowing users to be seamlessly authenticated within a Citrix environment. T his document describes various
authentication architectures that may be appropriate for your deployment.
When enabled, the FAS delegates user authentication decisions to trusted StoreFront servers. StoreFront has a
comprehensive set of built-in authentication options built around modern web technologies, and is easily extensible using
the StoreFront SDK or third-party IIS plugins. T he basic design goal is that any authentication technology that can
authenticate a user to a web site can now be used to log in to a Citrix XenApp or XenDesktop deployment.
T his document covers some example top-level deployment architectures, in increasing complexity.
Internal deployment
NetScaler Gateway deployment
ADFS SAML
B2B account mapping
Windows 10 Azure AD join
Links are provided to related FAS articles. For all architectures, the Federated Authentication Service article is the primary
reference for setting up the FAS.
How it works
T he FAS is authorized to issue smart card class certicates automatically on behalf of Active Directory users who are
authenticated by StoreFront. T his uses similar APIs to tools that allow administrators to provision physical smart cards.
When a user is brokered to a Citrix XenApp or XenDesktop Virtual Delivery Agent (VDA), the certicate is attached to the
machine, and the Windows domain sees the logon as a standard smart card authentication.
Internal deployment
T he FAS allows users to securely authenticate to StoreFront using a variety of authentication options (including Kerberos
single sign-on) and connect through to a fully authenticated Citrix HDX session.
T his allows Windows authentication without prompts to enter user credentials or smart card PINs, and without using
saved password management features such as the Single Sign-on Service. T his can be used to replace the Kerberos
Constrained Delegation logon features available in earlier versions of XenApp.
All users have access to public key infrastructure (PKI) certicates within their session, regardless of whether or not they log
on to the endpoint devices with a smart card. T his allows a smooth migration to two-factor authentication models, even
T his deployment adds a new server running the FAS, which is authorized to issue smart card class certicates on behalf of
users. T hese certicates are then used to log on to user sessions in a Citrix HDX environment as if a smart card logon was
used.
In an existing deployment, this usually involves only ensuring that a domain-joined Microsoft certicate authority (CA) is
available, and that domain controllers have been assigned domain controller certicates. (See the "Issuing Domain
Controller Certicates" section in CT X206156.)
Related information:
Keys can be stored in a Hardware Security Module (HSM) or built-in T rusted Platform Module (T PM). For details, see the
Federated Authentication Service private key protection article.
T he Federated Authentication Service article describes how to install and configure the FAS.
T his deployment can be used to avoid multiple PIN prompts that occur when authenticating rst to NetScaler and then
logging in to a user session. It also allows use of advanced NetScaler authentication technologies without additionally
requiring AD passwords or smart cards.
In an existing deployment, this usually involves only ensuring that a domain-joined Microsoft certicate authority (CA) is
available, and that domain controllers have been assigned Domain Controller certicates. (See the Issuing Domain
Controller Certicates section in CT X206156).
When conguring NetScaler as the primary authentication system, ensure that all connections between NetScaler and
StoreFront are secured with T LS. In particular, ensure that the Callback Url is correctly congured to point to the NetScaler
server, as this can be used to authenticate the NetScaler server in this deployment.
Related information:
T o configure NetScaler Gateway, see How to Configure NetScaler Gateway 10.5 to use with StoreFront 3.6 and
XenDesktop 7.6."
T he Federated Authentication Service article describes how to install and configure the FAS.
Related information:
T he Federated Authentication Service article describes how to install and configure FAS.
T his deployment is an example where there is effectively no concept of end users in the ofce. Laptops are enrolled and
authenticate entirely over the Internet using modern Azure AD features.
Note that the infrastructure in this deployment can run anywhere an IP address is available: on-premises, hosted provider,
Azure, or another cloud provider. T he Azure AD Connect synchronizer will automatically connect to Azure AD. T he example
graphic uses Azure VMs for simplicity.
Related information:
T he Federated Authentication Service article describes how to install and configure FAS.
T he Federated Authentication Service Azure AD integration article contains details.
Introduction
T his document describes how to integrate a Citrix environment with Microsoft ADFS.
Many organizations use ADFS to manage secure user access to web sites that require a single point of authentication. For
example, a company may have additional content and downloads that are available to employees; those locations need to
be protected with standard Windows logon credentials.
T he Federated Authentication Service (FAS) also allows Citrix NetScaler and Citrix StoreFront to be integrated with the
ADFS logon system, reducing potential confusion for the companys staff.
When NetScaler discovers that a user needs to be authenticated, it instructs the users web browser to do a HT T P POST
to a SAML logon webpage on the ADFS server. T his is usually an https:// address of the form:
https://adfs.mycompany.com/adfs/ls.
T his web page POST includes other information, including the return address where ADFS will return the user when logon
is complete.
T he EntityId is a unique identier that NetScaler includes in its POST data to ADFS. T his informs ADFS which service the
user is trying to log on to, and to apply different authentication policies as appropriate. If issued, the SAML authentication
XML will only be suitable for logging on to the service identied by the EntityId.
Usually, the EntityID is the URL of the NetScaler server logon page, but it can generally be anything, as long as NetScaler
and ADFS agree on it: https://ns.mycompany.com/application/logonpage.
If authentication is successful, ADFS instructs the users web browser to POST a SAML authentication XML back to one of
the Reply URLs that are congured for the EntityId. T his is usually an https:// address on the original NetScaler server in the
form: https://ns.mycompany.com/cgi/samlauth
If there is more than one Reply URL address congured, NetScaler can choose one in its original POST to ADFS.
ADFS cryptographically signs SAML authentication XML blobs using its private key. To validate this signature, NetScaler
must be congured to check these signatures using the public key included in a certicate le. T he certicate le will usually
be a text le obtained from the ADFS server.
ADFS and NetScaler support a central logout system. T his is a URL that NetScaler polls occasionally to check that the
SAML authentication XML blob still represents a currently logged-on session.
T his is an optional feature that does not need to be congured. It is usually an https:// address in the form
https://adfs.mycompany.com/adfs/logout. (Note that it can be the same as the Single Logon URL.)
Conguration
T he NetScaler Gateway deployment section in the Federated Authentication Services architectures article describes how
to set up NetScaler Gateway to handle standard LDAP authentication options, using the XenApp and XenDesktop
NetScaler setup wizard. After that completes successfully, you can create a new authentication policy on NetScaler that
allows SAML authentication. T his can then replace the default LDAP policy used by the NetScaler setup wizard.
Congure the new SAML IdP server using information taken from the ADFS management console earlier. When this policy is
applied, NetScaler redirects the user to ADFS for logon, and accepts an ADFS-signed SAML authentication token in return.
Related information
T he Federated Authentication Service article is the primary reference for FAS installation and configuration.
T he common FAS deployments are summarized in the Federated Authentication Service architectures overview article.
"How-to" articles are introduced in the Federated Authentication Service configuration and management article.
Introduction
Architecture
Create a DNS zone
Create a Cloud Service
Create Windows virtual machines
Configure an internal DNS
Configure an external DNS address
Configure security groups
Create an ADFS certificate
Set up Azure AD
Enable Azure AD Join
Install XenApp or XenDesktop
Configure a new Azure AD application for Single Sign-on to StoreFront
Install and configure NetScaler Gateway
Configure the StoreFront address
Enable NetScaler SAML authentication support
Verify the end-to-end system
Appendix
Introduction
T his document describes how to integrate a Citrix environment with the Windows 10 Azure AD feature.
Windows 10 introduced Azure AD, which is a new domain join model where roaming laptops can be joined to a corporate
domain over the Internet for the purposes of management and single sign-on.
T he example deployment in this document describes a system where IT provides new users with a corporate email address
and enrollment code for their personal Windows 10 laptops. Users access this code through the System > About > Join
Azure AD option in the Settings panel.
T he model can be applied to companies with existing on premises systems, because the Azure AD Connect Synchronization
can bridge to Azure over the Internet.
Secure connections and single sign-on, which would traditionally have been rewalled-LAN and Kerberos/NT LM
authentication, are replaced in this architecture by T LS connections to Azure and SAML. New services are built as Azure
applications joined to Azure AD. Existing applications that require Active Directory (such as a SQL Server database) can be
run using a standard Active Directory Server VM in the IAAS portion of the Azure Cloud Service.
When a user launches a traditional application, they are accessed using XenApp and XenDesktop published applications.
T he different types of applications are collated through the users Azure Applications page, using the Microsoft Edge
Single sign-on features. Microsoft also supplies Android and iOS apps that can enumerate and launch Azure applications.
T he console shows the names of the Azure DNS name servers. T hese should be referenced in the DNS registrars NS
entries for the zone (for example, citrixsamldemo.net. NS n1-01.azure-dns.com)
When adding references to VMs running in Azure, it is easiest to use a CNAME pointer to the Azure-managed DNS record
for the VM. If the IP address of the VM changes, you will not need to manually update the DNS zone le.
Both internal and external DNS address sufxes will match for this deployment. T he domain is citrixsamldemo.net, and uses
a split DNS (10.0.0.* internally).
Add an fs.citrixsamldemo.net entry that references the Web Application Proxy server. T his is the Federation Service for
this zone.
Add the DNS Server and Active Directory Domain Services roles to create a standard Active Directory deployment (in
this example, citrixsamldemo. net). After domain promotion completes, add the Active Directory Certif ication Services
role.
Create a normal user account for testing (for example, [email protected]).
Since this server will be running internal DNS, all servers should refer to this server for DNS resolution. T his can be done
through the Azure DNS settings page. (For more information, see the Appendix in this document.)
Join the ADFS server to the citrixsamldemo domain. T he Web Application Proxy server should remain in an isolated
workgroup, so manually register a DNS address with the AD DNS.
Run the Enable-PSRemoting Force cmdlet on these servers, to allow PS remoting through firewalls from the AzureAD
Connect tool.
Install the XenApp or XenDesktop Delivery Controller and VDA on the remaining two Windows servers joined to
citrixsamldemo.
All VMs running in Azure should be congured to use only this DNS server. You can do this through the Network Interface
GUI.
Note that when remote conguration is complete, only the Web Application Proxy and NetScaler VMs should have public
IP addresses enabled. (During conguration, the public IP address is used for RDP access to the environment).
Commonname:
adfs.citrixsamldemo.net [name of computer]
SubjectAltname:
*.citrixsamldemo.net [name of zone]
fs.citrixsamldemo. net [entry in DNS]
enterpriseregistration.citrixsamldemo.net
Set up Azure AD
T his section details the process of setting up a new Azure AD instance and creating user identities that can be used to join
Windows 10 to Azure AD.
Create a global administrator in Azure (in this example, [email protected]) and log on with the
new account to set up a password.
By default, users are identied with an email address in the form: <user.name>@<company>.onmicrosoft.com.
Although this works without further conguration, a standard format email address is better, preferably one that matches
the email account of the end user: <user.name>@<company>.com
T he Add domain action congures a redirect from your real company domain. T he example uses citrixsamldemo.net.
If you are setting up ADFS for single sign-on, enable the check box.
Step 2 of the Azure AD conguration GUI redirects to the Microsoft download page for Azure AD Connect. Install this on
the ADFS VM. Use Custom install, rather than Express Settings, so that ADFS options are available.
Accept the default ltering options, or restrict users and devices to a particular set of groups.
Select the certicate PFX le to use in AD FS, specifying fs.citrixsamldemo.net as the DNS name.
For the remaining steps of the wizard, use the standard administrator passwords, and create a service account for ADFS.
Azure AD Connect will then prompt to validate the ownership of the DNS zone.
When complete, the external address fs.citrixsamldemo.net is contacted over port 443.
Note that the UPN must match the UPN recognized by the ADFS domain controller.
In this example, StoreFront is installed on the same server as the Delivery Controller. T he VDA is installed as a standalone
Windows 2012 R2 RDS worker, without integrating with Machine Creation Services (although that can optionally be
congured). Check that the user [email protected] can authenticate with a password, before continuing.
Install the Federated Authentication Service (FAS) component on the ADFS server and congure a rule for the Controller to
act as a trusted StoreFront.
Request a computer certicate for the Delivery Controller, and congure IIS and StoreFront to use HT T PS by setting an IIS
binding for port 443, and changing the StoreFront base address to https:.
Congure StoreFront to use the FAS server (use the PowerShell script in the Federated Authentication Service article), and
Using the Manage Authentication Methods GUI in the StoreFront management console, congure StoreFront to use
NetScaler to perform authentication.
To integrate NetScaler authentication options, congure a Secure T icket Authority (STA) and congure the NetScaler
Gateway address.
Select CUSTOM > Add an unlisted application my organization is using to create a new custom application for your
users.
Congure an icon
Create an image 215 by 215 pixels in size and upload it on the CONFIGURE page to use as an icon for the application.
Return to the Application dashboard overview page and select Congure Single sign-on.
T his deployment will use SAML 2.0 authentication, which corresponds to Microsof t Azure AD Single Sign-On.
T he next page contains information that is used to congure NetScaler as a relying party to Azure AD.
Download the base 64 trusted signing certicate and copy the sign-on and sign-out URLs. You will paste these in NetScaler
conguration screens later.
T he nal step is to enable the application so that it appears on users myapps.microsoft.com control page. T his is done on
MyApps page
When the application has been congured, it appears on the users lists of Azure applications when they visit
https://myapps.microsoft.com.
When it is Azure AD joined, Windows 10 supports single sign-on to Azure applications for the user who logs on. Clicking the
icon takes the browser to the SAML cgi/samlauth web page that was congured earlier.
Paste this URL into a web browser to ensure that you are redirected by Azure AD to the NetScaler cgi/samlauth web page
congured earlier. T his works only for users who have been assigned, and will provide single sign-on only for Windows 10
Azure AD-joined logon sessions. (Other users will be prompted for Azure AD credentials.)
Log on to the NetScaler VM, pointing a web browser to the internal IP address, using the credentials specied when the
user authenticated. Note that you must change the password of the nsroot user in an Azure AD VM.
T his example starts by conguring a simple StoreFront integration without SAML. After that deployment is working, it adds
a SAML logon policy.
Select the standard NetScaler StoreFront settings. For use in Microsoft Azure, this example congures port 4433, rather
than port 443. Alternatively, you can port-forward or remap the NetScaler administrative web site.
For simplicity, the example uploads an existing server certicate and private key stored in a le.
T he domain controller will be used for account resolution, so add its IP address into the primary authentication method.
Note the formats expected in each eld in the dialog box.
Connect to NetScaler and check that authentication and launch are successful with the username and password.
T he web browser should display the Azure AD applications for the user.
Verify that clicking the icon redirects you to an authenticated StoreFront server.
Similarly, verify that direct connections using the Single Sign-on URL and a direct connection to the NetScaler site redirect
you to Microsoft Azure and back.
Finally, verify that non-Azure AD joined machines also function with the same URLs (although there will be a single explicit
sign-on to Azure AD for the rst connection).
Appendix
Several standard options should be congured when setting up a VM in Azure.
Select Conguration of the Public IP address/DNS name label. Choose a public DNS address for the VM. T his can be
used for CNAME references in other DNS zone les, ensuring that all DNS records remain correctly pointing to the VM, even
if the IP address is reallocated.
Each VM in a cloud has a set of rewall rules applied automatically, known as the security group. T he security group
controls trafc forwarded from the public to the private IP address. By default, Azure allows RDP to be forwarded to all
VMs. T he NetScaler and ADFS servers must also need to forward T LS trafc (443).
Related information
T he Federated Authentication Service article is the primary reference for FAS installation and configuration.
T he common FAS deployments are summarized in the Federated Authentication Service architectures overview article.
"How-to" articles are introduced in the Federated Authentication Service configuration and management article.
Related information:
T he primary reference for FAS installation and initial setup is the Federated Authentication Service article.
T he Federated Authentication Service architectures overview article provides summaries of the major FAS architectures,
plus links to other articles about the more complex architectures.
Use the Get-FASMsCerticateAuthority cmdlet to determine which CA servers FAS can connect to. T he following example
shows that FAS can connect to three CA servers.
Citrix recommends that you create a role using the FAS administration console, rather than using PowerShell to create the
role. T his avoids the complication of having to add the SDL manually later. In the following example, a role named default is
created, with the access rule congured:
T he UI equivalent is:
After you have the certicate denition name, modify the certicate denition to have a list of CerticateAuthorities,
rather than just one:
Note: Your FAS administration console will not be functional after doing this. You will see an empty eld in both Certicate
Authority and Certicate Template upon loading:
Functionally, FAS is still ne. If you use the console to modify the access rule, just repeat step 2 to display all the certicate
authorities.
After you congure the FAS server with multiple CA servers, user certicate generation is distributed among all the
congured CA servers. Also, if one of the congured CA servers fails, the FAS server will switch to another available CA server.
Restart the Microsoft CA and submit a certicate request. If you run netstat a n b you should see that certsvr is now
listening on port 900:
T here is no need to congure the FAS server (or any other machines using the CA), because DCOM has a negotiation stage
using the RPC port. When a client needs to use DCOM, it connects to the DCOM RPC Service on the certicate server and
requests access to a particular DCOM server. T his triggers port 900 to be opened, and the DCOM server instructs the FAS
server how to connect.
Get-ADUser is a standard cmdlet to query for a list of users. T he example above contains a lter argument to list only users
with a UserPrincipalName and an account status of enabled.'
T he SearchBase argument narrows which part of the AD to search for users. You can omit this if you want to include all
users in AD. Note: T his query might return a large number of users.
FAS server
T he following PowerShell script takes the previously-generated user list and creates a list of user certicates.
T he script above is catered for a rule named default. If you have a different rule name (for example, hello), just change the
$rule variable in the script.
New-FasAuthorizationCerticate
Get-FasAuthorizationCerticate
Remove-FasAuthorizationCerticate
Related information
T he Federated Authentication Service article is the primary reference for FAS installation and configuration.
T he common FAS deployments are summarized in the Federated Authentication Service architectures overview article.
Other "how-to" articles are introduced in the Federated Authentication Service configuration and management article.
Introduction
Private keys are stored by means of the Network Service account and marked as non-exportable by default.
T he private key associated with the registration authority (RA) certificate, from the Citrix_RegistrationAuthority
certificate template.
T he private keys associated with the user certificates, from the Citrix_SmartcardLogon certificate template.
T here are actually two RA certicates: Citrix_RegistrationAuthority_ManualAuthorization (valid for 24 hours by default) and
Citrix_RegistrationAuthority (valid for two years by default).
During step 3 of the Initial Setup in the FAS administration console, when the administrator clicks Authorize the FAS
server generates a keypair and sends a Certicate Signing Request (CSR) to the CA for the
Citrix_RegistrationAuthority_ManualAuthorization certicate. T his is a temporary certicate, valid for 24 hours by
default. T he CA does not automatically issue this certicate; its issuance must be manually authorised on the CA by an
administrator. Once the certicate is issued to the FAS server, FAS uses the
Citrix_RegistrationAuthority_ManualAuthorization certicate to automatically obtain the
Citrix_RegistrationAuthority certicate (valid for two years by default). T he FAS server deletes the certicate and key
for Citrix_RegistrationAuthority_ManualAuthorization as soon as it obtains the Citrix_RegistrationAuthority
certicate.
T he private key associated with the RA certicate is particularly sensitive, because the RA certicate policy allows whoever
possesses the private key to issue certicate requests for the set of users congured in the template. As a consequence,
whoever controls this key can connect to the environment as any of the users in the set.
You can congure the FAS server to protect private keys in a way that ts your organizations security requirements, using
one of the following:
Microsoft Enhanced RSA and AES Cryptographic Provider or Microsoft Software Key Storage Provider for both the RA
certificate and the user certificates private keys.
Microsoft Platform Key Storage Provider with a T rusted Platform Module (T PM) chip for the RA certificates private key,
and Microsoft Enhanced RSA and AES Cryptographic Provider or Microsoft Software Key Storage Provider for the user
certificates private keys.
A Hardware Security Module (HSM) vendors Cryptographic Service or Key Storage Provider with the HSM device for
both the RA certificate and the user certificates private keys.
T he FAS reads the cong le only when the service starts. If any values are changed, the FAS must be restarted before it
reects the new settings.
Value Comment
Value Comment
HSM_Vendor CSP/Key Storage Supplied by HSM vendor. The value diers between vendors. If you plan to run your FAS server in
Provider a virtualized environment, check with your HSM vendor whether virtualization is supported.
Value Comment
Value Comment
GenerateTPMProtectedKey Private key will be managed using the TPM. Private key is stored via the ProviderName you
specied in ProviderName (for example, Microsoft Platform Key Storage Provider)
Value Comment
T he cong le settings are represented graphically as follows (installation defaults are shown in red):
T his example covers the RA certicate private key and user certicates private keys stored using the Microsoft Software
Key Storage Provider
T his is the default post-install conguration. No additional private key conguration is required.
Example 2
T his example shows the RA certicate private key stored in the FAS server motherboards hardware T PM via the Microsoft
Platform Key Storage Provider, and user certicates private keys stored using the Microsoft Software Key Storage
Provider.
T his scenario assumes that the T PM on your FAS server motherboard has been enabled in the BIOS according to the T PM
manufacturers documentation and then initialized in Windows; see https://technet.microsoft.com/en-
gb/library/cc749022(v=ws.10).aspx.
Step 1: During the initial setup of the FAS conguration using the administration console, complete only the rst two
steps: Deploy certicate templates and Setup Certicate Authority.
Step 2: On your CA server, add the Certicate Templates MMC snap-in. Right-click the
Citrix_RegistrationAuthority_ManualAuthorization template and select Duplicate Template.
Select the General tab. Change the name and validity period. In this example, the name is Ofine_RA and the validity period
is 2 years:
Add-PSSnapin Citrix.Authentication.FederatedAuthenticationService.V1
Step 5: Generate the RSA keypair inside the FAS servers T PM and create the CSR by entering the following PowerShell
cmdlet on the FAS server. Note: Some T PMs restrict key length. T he default is key length is 2048 bits. Be sure to specify a
key length supported by your hardware.
For example:
T he following is displayed:
To verify that the T PM was used to generate the keypair, look in the application log in the Windows Event viewer on the
FAS server, at the time that the keypair is generated.
Followed by:
Step 6: Copy the certicate request section into a text editor and save it to disk as a text le.
Step 7: Submit the CSR to your CA by typing the following into PowerShell on the FAS server:
certreq -submit -attrib "certicatetemplate:<certicate template from step 2>" <certicate request le from step 6>
For example:
T he following is displayed:
Step 8: On the CA server, in the CA MMC snap-in, click Pending Requests. Note the Request ID. T hen right-click the
request and choose Issue.
Step 9: Select the Issued Certicates node. Find the certicate that was just issued (the Request ID should match).
Double-click to open the certicate. Select the Details tab. Click Copy to File. T he Certicate Export Wizard launches. Click
Next . Choose the following options for the le format:
Step 10: Copy the exported certicate le onto the FAS server.
Step 11: Import the RA certicate into the FAS server registry by entering the following PowerShell cmdlet on the FAS
server:
For example:
T he following is displayed:
Note that the step Authorize this Service has turned green, and now displays Deauthorize this Service. T he entry below
indicates Authorized by: Ofine CSR
Step 13: Select the User Roles tab in the FAS administration console and edit the settings described in the main FAS article.
Note: Deauthorizing the FAS through the administration console will delete the User Rule.
When performing the FAS initial setup steps, after deploying certicate templates and setting up the CA, but before
authorizing the service (step 3 in the conguration sequence):
Some T PMs restrict key length. T he default key length is 2048 bits. Be sure to specify a key length supported by your
hardware.
Step 3: Manually issue the pending certicate request from the CA server. After the RA certicate is obtained, step 3 in the
setup sequence in the management console will be green. At this point, the RA certicates private key will have generated
in the T PM. T he certicate will be valid for 2 years by default.
Note: Although FAS can generate user certicates with T PM protected keys, the T PM hardware may be too slow for large
deployments.
Step 5: Restart the Citrix Federated Authentication Service. T his forces the service to re-read the cong le and reect the
changed values. T he subsequent automatic private key operations will affect user certicate keys; those operations will not
store the private keys in the T PM, but use the Microsoft Software Key Storage Provider.
Step 6: Select the User Roles tab in the FAS administration console and edit the settings as described in the main FAS
article.
Note: Deauthorizing the FAS through the administration console will delete the User Rule.
Example 3
T his example covers an RA certicate private key and user certicates private keys stored in an HSM. T his example assumes
If you plan to run your FAS server in a virtualized environment, check with your HSM vendor about hypervisor support.
Step 1. During the initial setup of the FAS conguration using the administration console, complete only the rst two
steps: Deploy certicate templates and Setup Certicate Authority.
Step 2: Consult your HSM vendors documentation to determine what your HSMs ProviderName value should be. If your
HSM uses CAPI, the provider might be referred to in the documentation as a Cryptographic Service Provider (CSP). If your
HSM uses CNG, the provider might be referred to as a Key Storage Provider (KSP).
Step 4 : Restart the Citrix Federated Authentication Service to read the values from the cong le.
Step 5: Generate the RSA keypair inside the HSM and create the CSR by clicking Authorize in the Initial Setup tab of the
FAS administration console.
Step 6: To verify that the keypair was generated in the HSM, check the application entries in the Windows Event log:
Step 7: On the CA server, in the CA MMC, select the Pending Requests node:
Note that the step Authorize this Service has turned green, and now displays Deauthorize this Service. T he entry below
indicates Authorized by: [<CA Name>]
Note: Deauthorizing the FAS through the administration console will delete the User Rule.
Note: When using an HSM to store private keys, HSM containers are identied with a GUID. T he GUID for the private key in
the HSM matches the GUID for the equivalent certicate in the registry.
To determine the GUID for the RA certicate, enter the following PowerShell cmdlets on the FAS server:
Add-pssnapin Citrix.a*
For example:
For example:
Related information
T he Federated Authentication Service article is the primary reference for FAS installation and configuration.
T he common FAS deployments are summarized in the Federated Authentication Services architectures overview article.
Other "how-to" articles are introduced in the Federated Authentication Service configuration and management article.
T his document provides an overview of security issues to consider when deploying the FAS. It also provides an overview of
features available that may assist in securing your infrastructure.
Network architecture
T he following diagram shows the main components and security boundaries used in an FAS deployment.
T he FAS server should be treated as part of the security-critical infrastructure, along with the CA and domain controller. In
a federated environment, Citrix NetScaler and Citrix Storefront are components that are trusted to perform user
authentication; other XenApp and XenDesktop components are unaffected by introducing the FAS.
T he StoreFront server contacts the FAS server over port 80 using mutually authenticated Kerberos. Authentication uses
the Kerberos HOST /fqdn identity of the FAS server, and the Kerberos machine account identity of the StoreFront server.
T his generates a single use credential handle needed by the Citrix Virtual Delivery Agent (VDA) to log on the user.
When an HDX session is connected to the VDA, the VDA also contacts the FAS server over port 80. Authentication uses
the Kerberos HOST /fqdn identity of the FAS server, and the Kerberos machine identity of the VDA. Additionally, the VDA
must supply the credential handle to access the certicate and private key.
Federated Authentication Service [in] Kerberos over HT T P from StoreFront and VDAs
Administration responsibilities
Administration of the environment can be divided into the following groups:
Name Responsibility
Each administrator controls different aspects of the overall security model, allowing a defense-in-depth approach to
securing the system.
To avoid misconguration, Citrix recommends that a single policy be applied to all machines in the environment. Take care
when modifying the list of FAS servers, especially when removing or reordering entries.
Control of this GPO should be limited to FAS administrators (and/or domain administrators) who install and decommission
FAS servers. Take care to avoid reusing a machine FQDN name shortly after decommissioning an FAS server.
Certicate templates
If you do not want to use the Citrix_SmartcardLogon certicate template supplied with the FAS, you can modify a copy of
it. T he following modications are supported.
If you want to rename the Citrix_SmartcardLogon to match your organizational template naming standard, you must:
Create a copy of the certificate template and rename it to match your organizational template naming standard.
Use FAS PowerShell commands to administer FAS, rather than the administrative user interface. (T he administrative user
interface is only intended for use with the Citrix default template names.)
Either use the Microsoft MMC Certificate T emplates snap-in or the Publish-FasMsT emplate command to publish your
template, and
Use the New-FasCertificateDefinition command to configure FAS with the name of your template.
Do not modify the Renewal period. FAS ignores this setting in the certicate template. FAS automatically renews the
certicate halfway through its validity period.
Do not modify these properties. FAS ignores these settings in the certicate template. FAS always deselects Allow private
key to be exported and deselects Renew with same key.
Do not modify these properties. FAS ignores these settings in the certicate template.
Refer to Federated Authentication Service private key protection for equivalent settings that FAS provides.
Do not modify these properties. FAS does not support key attestation.
Do not modify these properties. FAS does not support superseding templates.
Note: Inappropriate Extension settings may cause security issues, or result in unusable certicates.
Citrix recommends that you modify these settings to Allow the Enroll permission for only the machine accounts of the FAS
servers. As for other services, also Allow the Full Control permission for SYST EM. No other permissions are required. You
may want to Allow other permissions, for example to allow FAS administrators to view a modied template for
troubleshooting purposes.
You can modify these settings to match your organizational policy, if needed.
Although Citrix does not recommend it, you can modify these settings to match your organizational policy, if needed.
You can modify these settings. T he setting must be at least Windows Server 2003 CAs (schema version 2). However, FAS
supports only Windows Server 2008 and later CAs. Also, as explained above, FAS ignores the additional settings available by
selecting Windows Server 2008 CAs (schema version 3) or Windows Server 2012 CAs (schema version 4).
Publishing templates
For a certicate authority to issue certicates based on a template supplied by the enterprise administrator, the CA
administrator must choose to publish that template.
A simple security practice is to publish only the RA certicate templates when the FAS servers are being installed, or to insist
on a completely ofine issuance process. In either case, the CA administrator should maintain complete control over
authorizing RA certicate requests, and have a policy for authorizing FAS servers.
Firewall settings
Generally, the CA administrator will also have control of the network rewall settings of the CA, allowing control over
incoming connections. T he CA administrator can congure DCOM TCP and rewall rules so that only FAS servers can
request certicates.
Restricted enrollment
By default any holder of an RA certicate can issue certicates to any user, using any certicate template that allows
For advanced deployments, custom security modules can be used to track and veto certicate issuance.
FAS administration
T he FAS has several security features.
At the center of the FAS security model is the control for which Kerberos accounts can access functionality:
StoreFront [IdP] T hese Kerberos accounts are trusted to declare that a user has been correctly
authenticated. If one of these accounts is compromised, then certicates can be created
and used for users allowed by the conguration of the FAS.
VDAs [Relying party] T hese are the machines that are allowed to access the certicates and private keys. A
credential handle retrieved by the IdP is also needed, so a compromised VDA account in this
group has limited scope to attack the system.
Users T his controls which users can be asserted by the IdP. Note that there is overlap with the
Restricted Enrollment Agent conguration options at the CA.
Congure rules
Rules are useful if multiple independent XenApp or XenDesktop deployments use the same FAS server infrastructure. Each
rule has a separate set of conguration options; in particular, the ACLs can be congured independently.
Different certicate templates and CAs can be congured for different access rights. Advanced congurations may
choose to use less or more powerful certicates, depending on the environment. For example, users identied as external
may have a certicate with fewer privileges than internal users.
T he FAS administrator can control whether the certicate used to authenticate is available for use in the users session.
For example, this could be used to have only signing certicates available in-session, with the more powerful logon
certicate being used only at logon.
T he FAS administrator can congure FAS to store private keys in a Hardware Security Module (HSM) or Trusted Platform
Module (T PM). Citrix recommends that at least the RA certicate private key is protected by storing it in a T PM; this option
is provided as part of the ofine certicate request process.
Similarly, user certicate private keys can be stored in a T PM or HSM. All keys should be generated as non-exportable and
be at least 2048 bits in length.
Event logs
T he FAS server provides detailed conguration and runtime event logs, which can be used for auditing and intrusion
detection.
T he FAS includes remote administration features (mutually authenticated Kerberos) and tools. Members of the Local
Administrators Group have full control over FAS conguration. T his list should be carefully maintained.
RDP access should be limited to authorized administrators. Where possible, user accounts should require smart card logon,
especially for CA and domain administrator accounts.
Related information
T he Federated Authentication Service article is the primary reference for FAS installation and configuration.
FAS architectures are introduced in the Federated Authentication Service architectures overview article.
Other "how-to" articles are introduced in the Federated Authentication Service configuration and management article.
T his article describes the logs and error messages Windows provides when a user logs on using certicates and/or smart
cards. T hese logs provide information you can use to troubleshoot authentication failures.
NTAuth certif icate store: T o authenticate to Windows, the CA immediately issuing user certificates (that is, no
chaining is supported) must be placed in the NT Auth store. T o see these certificates, from the certutil program, enter:
certutil viewstore enterprise NT Auth.
Root and intermediate certif icate stores: Usually, certificate logon systems can provide only a single certificate, so if
a chain is in use, the intermediate certificate store on all machines must include these certificates. T he root certificate
must be in the T rusted Root Store, and the penultimate certificate must be in the NT Auth store.
Logon certif icate extensions and Group Policy: Windows can be configured to enforce verification of EKUs and
other certificate policies. See the Microsoft documentation: https://technet.microsoft.com/en-
us/library/ff404287%28v=ws.10%29.aspx.
AllowCerticatesWithNoEKU When disabled, certicates must include the smart card logon
Extended Key Usage (EKU).
AllowT imeInvalidCerticates By default, Windows lters out expired certicates. T his option
overrides that lter.
Domain controller certif icates: T o authenticate Kerberos connections, all servers must have appropriate Domain
Controller certificates. T hese can be requested using the Local Computer Certificate Personal Store MMC snap-in
menu.
By default, every user in Active Directory has an implicit UPN based on the pattern <samUsername>@<domainNetBios> and
<samUsername>@<domainFQDN>. T he available domains and FQDNs are included in the RootDSE entry for the forest.
Note that a single domain can have multiple FQDN addresses registered in the RootDSE.
Additionally, every user in Active Directory has an explicit UPN and altUserPrincipalNames. T hese are LDAP entries that
specify the UPN for the user.
When searching for users by UPN, Windows looks rst in the current domain (based on the identity of the process looking
up the UPN) for explicit UPNs, then alterative UPNs. If there are no matches, it looks up the implicit UPN, which may resolve
to different domains in the forest.
If a certicate does not include an explicit UPN, Active Directory has the option to store an exact public certicate for each
use in an x509certicate attribute. To resolve such a certicate to a user, a computer can query for this attribute directly
(by default, in a single domain).
An option is provided for the user to specify a user account that speeds up this search, and also allows this feature to be
used in a cross-domain environment.
If there are multiple domains in the forest, and the user does not explicitly specify a domain, the Active Directory rootDSE
species the location of the Certicate Mapping Service. T his is usually located on a global catalog machine, and has a
cached view of all x509certicate attributes in the forest. T his computer can be used to efciently nd a user account in
To force Windows to use a particular Windows domain controller for logon, you can explicitly set the list of domain
controllers that a Windows machine uses by conguring the lmhosts le: \Windows\System32\drivers\etc\lmhosts.
T here is usually a sample le named lmhosts.sam in that location. Simply include a line:
Where "1.2.3.4" is the IP address of the domain controller named "dcnetbiosname" in the "mydomain" domain.
After a restart, the Windows machine uses that information to log on to mydomain. Note that this conguration must be
reverted when debugging is complete.
At logon, Windows sets an MSDOS environment variable with the domain controller that logged the user on. To see this,
start the command prompt with the command: echo %LOGONSERVER%.
Logs relating to authentication are stored on the computer returned by this command.
If a smartcard certicate is exported as a DER certicate (no private key required), you can validate it with the command:
certutil verify user.cer
On the domain controller and users machine, open the event viewer and enable logging for
Microsoft/Windows/CAPI2/Operational Logs.
You can control CAPI logging with the registry keys at: CurrentControlSet\Services\crypt32.
Value Description
CAPI logs
Message Description
X509 Objects In verbose mode, certicates and Certicate Revocation Lists (CRLs) are dumped to
AppData\LocalLow\Microsoft\X509Objects
Error messages
Certicate not trusted T he smart card certicate could not be built using
certicates in the computer's intermediate and trusted
Certicate revocation check error T he CRL for the smart card could not be downloaded
from the address specied by the certicate CRL
distribution point. If revocation checking is mandated, this
prevents logon from succeeding. See the Certicates and
public key infrastructure section.
Certicate Usage errors T he certicate is not suitable for logon. For example, it
might be a server certicate or a signing certicate.
Kerberos logs
To enable Kerberos logging, on the domain controller and the end user machine, create the following registry values:
During a logon, the domain controller validates the callers certicate, producing a sequence of log entries in the following
form.
T he nal event log message shows lsass.exe on the domain controller constructing a chain based on the certicate
provided by the VDA, and verifying it for validity (including revocation). T he result is returned as ERROR_SUCCESS.
T he domain controller shows a sequence of logon events, the key event being 4768, where the certicate is used to issue
the Kerberos T icket Granting T icket (krbtgt).
T he messages before this show the machine account of the server authenticating to the domain controller. T he messages
following this show the user account belonging to the new krbtgt being used to authenticate to the domain controller.
T he VDA security audit log corresponding to the logon event is the entry with event ID 4648, originating from
winlogon.exe.
T his example VDA CAPI log shows a single chain build and verication sequence from lsass.exe, validating the domain
controller certicate (dc.citrixtest.net).
Invalid Username or Password T he computer believes that you have a valid certicate
and private key, but the Kerberos domain controller has
rejected the connection. See the Kerberos logs section of
this article.
T he system could not log you on. Your credentials could T he domain controller cannot be contacted, or the
not be veried. domain controller does not have appropriate certicates
installed.
T he system could not log you on. T he smartcard T he intermediate and root certicates are not installed on
certicate used for authentication was not trusted. the local computer. See CT X206156 for instructions on
installing smart card certicates on non-domain joined
computers. Also, see the Certicates and public key
You cannot logon because smart card logon is not A workgroup user account has not been fully congured
supported for your account. for smart card logon.
T he requested key does not exist A certicate references a private key that is not
accessible. T his can happen when a PIV card is not
completely congured and is missing the CHUID or CCC
le.
An error occurred when trying to use the smart card T he smart card middleware was not installed correctly.
See CT X206156 for smart card installation instructions.
Insert a smart card T he smart card or reader was not detected. If the smart
card is inserted, this message indicates a hardware or
middleware issue. See CT X206156 for smart card
installation instructions.
No valid smart card certicate could be found. T he extensions on the certicate might not be set
correctly, or the RSA key is too short (<2048 bits). See
CT X206901 for information about generating valid smart
card certicates.
T he smart card is blocked A smart card has been locked (for example, the user
entered an incorrect pin multiple times).
Bad Request A smart card private key does not support the
cryptography required by the domain controller. For
example, the domain controller might have requested a
private key decryption, but the smart card supports only
signing.
Related information
Configuring a domain for smart card logon: http://support.citrix.com/article/CT X206156
Smartcard logon policies: https://technet.microsoft.com/en-us/library/ff404287%28v=ws.10%29.aspx
Enabling CAPI logging: http://social.technet.microsoft.com/wiki/contents/articles/242.troubleshooting-pki-problems-on-
windows.aspx
Enabling Kerberos logging: https://support.microsoft.com/en-us/kb/262177
Guidelines for enabling smart card logon with third-party certification authorities: https://support.microsoft.com/en-
us/kb/281245
Add-PSSnapin Citrix.Authentication.FederatedAuthenticationService.V1
In a PowerShell window, you can use Get-Help <cmdlet name> to display cmdlet help.
T he zip le linked below contains help les for all FAS PowerShell SDK cmdlets. To use it, click the link, which will download
the zip le. T hen extract its content to a local folder. T he index.html le lists all cmdlets, with links to individual cmdlet help
les.
Printing concepts
Before you begin planning your deployment, make sure that you understand these core concepts for printing:
Printing concepts build on Windows printing concepts. To congure and successfully manage printing in your environment,
you must understand how Windows network and client printing works and how this translates into printing behavior in this
environment.
Print process
In this environment, all printing is initiated (by the user) on machines hosting applications. Print jobs are redirected through
the network print server or user device to the printing device.
T here is no persistent workspace for users of virtual desktops and applications. When a session ends the user's workspace
is deleted, thus all settings need to be rebuilt at the beginning of each session. As a result, each time a user starts a new
session, the system must rebuild the user's workspace.
You can customize how to perform these tasks by conguring options for printer provisioning, print job routing, printer
property retention, and driver management. Be sure to evaluate how the various option settings might change the
performance of printing in your environment and the user experience.
Printer provisioning
T he process that makes printers available in a session is known as provisioning. Printer provisioning is typically handled
dynamically. T hat is, the printers that appear in a session are not predetermined and stored. Instead, the printers are
assembled, based on policies, as the session is built during log on and reconnection. As a result, the printers can change
T he system also monitors client-side printers and dynamically adjusts in-session auto-created printers based on additions,
deletions, and changes to the client-side printers. T his dynamic printer discovery benets mobile users as they connect from
various devices.
Universal Print Server - T he Citrix Universal Print Server provides universal printing support for network printers. T he
Universal Print Server uses the Universal print driver. T his solution enables you to use a single driver on a Server OS
machine to allow network printing from any device.
Citrix recommends the Citrix Universal Print Server for remote print server scenarios. T he Universal Print Server transfers
the print job over the network in an optimized and compressed format, thus minimizing network use and improving the
user experience.
A client component, UPClient - Enable the UPClient on each Server OS machine that provisions session network
printers and uses the Universal print driver.
A server component, UPServer - Install UPServer on each print server that provisions session network printers and uses
the Universal print driver for the session printers (whether or not the session printers are centrally provisioned).
For Universal Print Server requirements and setup details, refer to the system requirements and installation articles.
T he following illustration shows the typical workow for a network based printer in an environment that uses Universal
Print Server.
Note: T he Universal Print Server is also supported for VDI-in-a-Box 5.3. For information about installing Universal Print
Server with VDI-in-a-Box, refer to the VDI-in-a-Box documentation.
Autocreation - Autocreation refers to printers automatically created at the beginning of each session. Both remote
network printers and locally attached client printers can be auto-created. Consider auto-creating only the default client
printer for environments with a large number of printers per user. Auto-creating a smaller number of printers uses less
overhead (memory and CPU) on Server OS machines. Minimizing auto-created printers can also reduce user logon times.
Auto-created printers are based on:
After the user ends the session, the printers for that session are deleted.
Client and network printer autocreation has associated maintenance. For example, adding a printer requires that you:
T he term printing pathway e ncompasses both the path by which print jobs are routed and the location where print jobs are
spooled. Both aspects of this concept are important. Routing affects network trafc. Spooling affects utilization of local
resources on the device that processes the job.
In this environment, print jobs can take two paths to a printing device: through the client or through a network print server.
T hose paths are referred to as the client printing pathway and the network printing pathway. Which path is chosen by
default depends on the kind of printer used.
T he system routes jobs to locally attached printers from the Server OS machine, through the client, and then to the print
device. T he ICA protocol optimizes and compresses the print job trafc. When a printing device is attached locally to the
user device, print jobs are routed over the ICA virtual channel.
Network-based printers
By default, all print jobs destined for network printers route from the Server OS machine, across the network, and directly
to the print server. However, print jobs are automatically routed over the ICA connection in the following situations:
If the virtual desktop or application cannot contact the print server.
If the native printer driver is not available on the Server OS machine.
If the Universal Print Server is not enabled, conguring the client printing pathway for network printing is useful for low
bandwidth connections, such as wide area networks, that can benet from the optimization and trafc compression that
results from sending jobs over the ICA connection.
T he client printing pathway also lets you limit trafc or restrict bandwidth allocated for print jobs. If routing jobs through
the user device is not possible, such as for thin clients without printing capabilities, Quality of Service should be congured
to prioritize ICA/HDX trafc and ensure a good in-session user experience.
T he Citrix Universal Printer Driver (UPD) is a device independent print driver, which has been designed to work with most
printers. T he Citrix UPD consists of two components:
Server component. T he Citrix UPD is installed as part of the XenApp or XenDesktop VDA installation. T he VDA installs the
following drivers with Citrix UPD: "Citrix Universal Printer" (EMF driver) and the "Citrix XPS Universal Printer" (XPS driver).
When a print job is initiated the driver records the output of the application and sends it, without any modication to the
end-point device.
Client component. T he Citrix UPD is installed as part of the Citrix Receiver installation. It fetches the incoming print stream
for the XenApp or XenDesktop session and forwards it to the local printing sub-system where the print job is rendered
using the device specic printer drivers. In addition to Citrix UPD, the Citrix PDF Universal Printer driver can be installed
separately with Citrix Receiver for HT ML5 and Citrix Receiver for Chrome.
Enhanced Metafile Format (EMF), default. EMF is the 32-bit version of the Windows Metafile (WMF) format. T he EMF
driver can only be used by Windows based clients.
XML Paper Specification (XPS). T he XPS driver uses XML to create a platform-independent "electronic paper" similar to
Adobe's PDF format.
Printer Command Language (PCL5c and PCL4 ). PCL is a printing protocol developed originally by Hewlett-Packard for
inkjet printers. It is used for printing basic text and graphics and is widely supported on HP LaserJet and multifunction
peripherals.
PostScript (PS). PostScript is a computer language that can be used for printing text and vector graphics. T he driver is
widely used in low-cost printers and multifunction peripherals.
T he PCL and PS drivers are best suited when using non-Windows based devices such as a Mac or UNIX client. T he order in
which Citrix UPD attempts to use the drivers can be changed using the Universal driver preference policy setting.
T he Citrix UPD (EMF and XPS drivers) supports advanced printing features such as stapling and paper source selection.
T hese features are available if the native driver makes them available using the Microsoft Print Capability technology. T he
native driver should use the standardized Print Schema Keywords in the Print Capabilities XML. If non-standard keywords
T he following illustration shows the Universal print driver components and a typical workow for a printer locally attached
to a device.
When planning your driver management strategy, determine if you will support the Universal print driver, device-specic
drivers, or both. If you support standard drivers, you need to determine:
During printer autocreation, if the system detects a new local printer connected to a user device, it checks the Server OS
machine for the required printer driver. By default, if a Windows-native driver is not available, the system uses the Universal
print driver.
T he printer driver on the Server OS machine and the driver on the user device must match for printing to succeed. T he
illustration that follows shows how a printer driver is used in two places for client printing.
Related content
Whether your organization has security policies that reserve printers for certain users (for example, printers for Human
Resources or payroll).
Whether users need to print while away from their primary work location, such as workers who move between
workstations or travel on business.
When designing your printing conguration, try to give users the same experience in a session as they have when printing
from local user devices.
T he following illustration shows the print deployment for these use cases:
Branch A - A small overseas branch office with a few Windows workstations. Every user workstation has a locally
attached, private printer.
Branch B - A large branch office with thin clients and Windows-based workstations. For increased efficiency, the users
of this branch share network-based printers (one per floor). Windows-based print servers located within the branch
manage the print queues.
Home of f ice - A home office with a Mac OS-based user device that accesses the company's Citrix infrastructure. T he
user device has a locally attached printer.
In Branch A, all users work on Windows-based workstations, therefore auto-created client printers and the Universal printer
driver are used. T hose technologies provide these benefits:
Performance - Print jobs are delivered over the ICA printing channel, thus the print data can be compressed to save
bandwidth.
To ensure that a single user printing a large document cannot degrade the session performance of other users, a Citrix
policy is congured to specify the maximum printing bandwidth.
An alternative solution is to leverage a multi-stream ICA connection, in which the print trafc is transferred within a
separate low priority TCP connection. Multi-stream ICA is an option when Quality of Service (QoS) is not implemented on
the WAN connection.
In Branch B, all printers are network-based and their queues are managed on a Windows print server, thus the Citrix Universal
Print Server is the most efcient conguration.
All required printer drivers are installed and managed on the print server by local administrators. Mapping the printers into
the virtual desktop or application session works as follows:
For Windows-based workstations - T he local IT team helps users connect the appropriate network-based printer to
their Windows workstations. T his enables users to print from locally-installed applications.
During a virtual desktop or application session, the printers congured locally are enumerated through autocreation. T he
virtual desktop or application then connects to the print server as a direct network connection if possible.
T he Citrix Universal Print Server components are installed and enabled, thus native printer drivers are not required. If a
driver is updated or a printer queue is modied, no additional conguration is required in the data center.
For thin clients - For thin client users, printers must be connected within the virtual desktop or application session. T o
provide users with the simplest printing experience, administrators configure a single Citrix Session Printer policy per floor
to connect a floor's printer as the default printer.
To ensure the correct printer is connected even if users roam between oors, the policies are ltered based on the
subnet or the name of the thin client. T hat conguration, referred to as proximity printing, allows for local printer driver
maintenance (according to the delegated administration model).
If a printer queue needs to be modied or added, Citrix administrators must modify the respective Session printer policy
within the environment.
Because the network printing trafc will be sent outside the ICA virtual channel, QoS is implemented. Inbound and
outbound network trafc on ports used by ICA/HDX trafc are prioritized over all other network trafc. T hat conguration
ensures that user sessions are not impacted by large print jobs.
For home ofces where users work on non-standard workstations and use non-managed print devices, the simplest
approach is to use auto-created client printers and the Universal printer driver.
Deployment summary
Best practices
Many factors determine the best printing solution for a particular environment. Some of these best practices might not
apply to your Site.
Use the Citrix Universal Print Server.
Use the Universal printer driver or Windows-native drivers.
Minimize the number of printer drivers installed on Server OS machines.
Use driver mapping to native drivers.
Never install untested printer drivers on a production site.
Avoid updating a driver. Always attempt to uninstall a driver, restart the print server, and then install the replacement
driver.
Uninstall unused drivers or use the Printer driver mapping and compatibility policy to prevent printers from being created
with the driver.
T ry to avoid using version 2 kernel-mode drivers.
T o determine if a printer model is supported, contact the manufacturer or see the Citrix Ready product guide at
www.citrix.com/ready.
In general, all of the Microsoft-supplied printer drivers are tested with Terminal Services and guaranteed to work with
Citrix. However, before using a third-party printer driver, consult your printer driver vendor so that the driver is certied for
Terminal Services by the Windows Hardware Quality Labs (WHQL) program. Citrix does not certify printer drivers.
Security considerations
By default, if you do not configure any policy rules, printing behavior is as follows:
T he Universal Print Server is disabled.
All printers configured on the user device are created automatically at the beginning of each session.
T his behavior is equivalent to conguring the Citrix policy setting Auto-create client printers with the Auto-create all
client printers option.
T he system routes all print jobs queued to printers locally attached to user devices as client print jobs (that is, over the
ICA channel and through the user device).
T he system routes all print jobs queued to network printers directly from Server OS machines. If the system cannot route
the jobs over the network, it will route them through the user device as a redirected client print job.
T his behavior is equivalent to disabling the Citrix policy setting Direct connection to print servers.
T he system uses the Windows version of the printer driver if it is available on the Server OS machine. If the printer driver is
not available, the system attempts to install the driver from the Windows operating system. If the driver is not available
in Windows, it uses a Citrix Universal print driver.
T his behavior is equivalent to enabling the Citrix policy setting Automatic installation of in-box printer drivers and
conguring the Universal printing setting with the Use universal printing only if requested driver is unavailable.
Enabling Automatic installation of in-box printer drivers might result in the installation of a large number of native printer
drivers.
Note: If you are unsure about what the shipping defaults are for printing, display them by creating a new policy and setting
all printing policy rules to Enabled. T he option that appears is the default.
Always-On logging
An Always-On logging feature is available for the print server and printing subsystem on the VDA.
To collate the logs as a ZIP for emailing, or to automatically upload logs to Citrix Insight Services, use the Start-
TelemetryUpload PowerShell cmdlet.
You can have different printing congurations for different user devices, users, or any other objects on which policies are
ltered.
Most printing functions are congured through the Citrix Printing policy settings. Printing settings follow standard Citrix
policy behavior.
T he system can write printer settings to the printer object at the end of a session or to a client printing device, provided the
users network account has sufcient permissions. By default, Citrix Receiver uses the settings stored in the printer object in
the session, before looking in other locations for settings and preferences.
By default, the system stores, or retains, printer properties on the user device (if supported by the device) or in the user
prole on the Server OS machine. When a user changes printer properties during a session, those changes are updated in
the user prole on the machine. T he next time the user logs on or reconnects, the user device inherits those retained
settings. T hat is, printer property changes on the user device do not impact the current session until after the user logs off
and then logs on again.
In Windows printing environments, changes made to printing preferences can be stored on the local computer or in a
document. In this environment, when users modify printing settings, the settings are stored in these locations:
On the user device itself - Windows users can change device settings on the user device by right-clicking the printer in
the Control Panel and selecting Printing Preferences. For example, if Landscape is selected as page orientation,
landscape is saved as the default page orientation preference for that printer.
Inside of a document - In word-processing and desktop-publishing programs, document settings, such as page
orientation, are often stored inside documents. For example, when you queue a document to print, Microsoft Word
typically stores the printing preferences you specified, such as page orientation and the printer name, inside the
document. T hese settings appear by default the next time you print that document.
From changes a user made during a session - T he system keeps only changes to the printing settings of an auto-
created printer if the change was made in the Control Panel in the session; that is, on the Server OS machine.
On the Server OS machine - T hese are the default settings associated with a particular printer driver on the machine.
T he settings preserved in any Windows-based environment vary according to where the user made the changes. T his also
means that the printing settings that appear in one place, such as in a spreadsheet program, can be different than those in
others, such as documents. As result, printing settings applied to a specic printer can change throughout a session.
Because printing preferences can be stored in multiple places, the system processes them according to a specic priority.
Also, it is important to note that device settings are treated distinctly from, and usually take precedence over, document
settings.
Citrix recommends that you do not change where the printer properties are stored. T he default setting, which saves the
printer properties on the user device, is the easiest way to ensure consistent printing properties. If the system is unable to
save properties on the user device, it automatically falls back to the user prole on the Server OS machine.
Review the Printer properties retention policy setting if these scenarios apply:
If you use legacy plug-ins that do not allow users to store printer properties on a user device.
If you use mandatory profiles on your Windows network and want to retain the user's printer properties.
When determining the best print solution for your environment, consider the following:
T he Universal Print Server provides features not available for the Windows Print Provider: Image and font caching,
advanced compression, optimization, and QoS support.
T he Universal print driver supports the public device-independent settings defined by Microsoft. If users need access to
device settings that are specific to a print driver manufacturer, the Universal Print Server paired with a Windows-native
driver might be the best solution. With that configuration, you retain the benefits of the Universal Print Server while
providing users access to specialized printer functionality. A trade-off to consider is that Windows-native drivers require
maintenance.
T he Citrix Universal Print Server provides universal printing support for network printers. T he Universal Print Server uses the
Universal print driver, a single driver on the Server OS machine that allows local or network printing from any device,
including thin clients and tablets.
To use the Universal Print Server with a Windows-native driver, enable the Universal Print Server. By default, if the Windows-
native driver is available, it is used. Otherwise, the Universal print driver is used. To specify changes to that behavior, such as
to use only the Windows-native driver or only the Universal print driver, update the Universal print driver usage policy setting.
For environments where you want to deploy the UPClient component separately, for example with XenApp 6.5:
1. Download the XenApp and XenDesktop Virtual Delivery Agent (VDA) standalone package for Windows Desktop OS or
Windows Server OS.
2. Extract the VDA using the command line instructions described in Install using the command line.
3. Install the pre-requisites from the \Image-Full\Support\VcRedist_2013_RT M
Vcredist_x64 / vcredist_x86
Run x86 for 32-bit only, and both for 64-bit deployments
4. Install the cdf prerequisite from the \Image-Full\x64\Virtual Desktop Components or \Image-Full\x86\Virtual Desktop
Components.
Cdf_x64 / Cdf_x86
x86 for 32-bit, x64 for 64-bit
5. Find the UPClient component in \Image-Full\x64\Virtual Desktop Components or \Image-Full\x86\Virtual Desktop
Components.
6. Install the UPClient component by extracting and then launching the component's MSI.
7. A restart is required after installing the UPClient component.
To opt out of CEIP, edit the registry key HKLM\Sof tware\Citrix\Universal Print Server\CEIPEnabled and set the DWORD
value to 0.
Caution: Editing the registry incorrectly can cause serious problems that may require you to reinstall your operating system.
Citrix cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor
at your own risk. Be sure to back up the registry before you edit it.
Universal Print Server enable. Universal Print Server is disabled by default. When you enable Universal Print Server, you
choose whether to use the Windows Print Provider if the Universal Print Server is unavailable. After you enable the
Universal Print Server, a user can add and enumerate network printers through the Windows Print Provider and Citrix
Provider interfaces.
Universal Print Server print data stream (CGP) port. Specifies the T CP port number used by the Universal Print Server
print data stream CGP (Common Gateway Protocol) listener. Defaults to 7229.
Universal Print Server web service (HTTP/SOAP) port. Specifies the T CP port number used by the Universal Print
Server listener for incoming HT T P/SOAP requests. Defaults to 8080.
To change the default port of HT T P 8080 for Universal Print Server communication to XenApp and XenDesktop VDAs, the
following registry must also be created and the port number value modied on the Universal Print Server computer(s):
HKEY_LOCAL_MACHINE\SOFT WARE\Policies\Citrix\PrintingPolicies
"UpsHttpPort"=DWORD:<portnumber>
T his port number must match the HDX Policy, Universal Print Server web service (HT T P/SOAP) port, in Studio.
Universal Print Server print stream input bandwidth limit (kbps). Specifies the upper bound (in kilobits-per-second)
for the transfer rate of print data delivered from each print job to the Universal Print Server using CGP. Defaults
to 0 (unlimited).
Universal Print Servers f or load balancing. T his setting lists the Universal Print Servers to be used to load balance
printer connections established at session launch, after evaluating other Citrix printing policy settings. T o optimize printer
creation time, Citrix recommends that all print servers have the same set of shared printers.
Once the printing policies are modied on the Delivery Controller, it can take a few minutes for the policy changes to be
applied to the VDAs.
Interactions with other policy settings - T he Universal Print Server honors other Citrix printing policy settings and
interacts with them as noted in the following table. T he information provided assumes that the Universal Print Server policy
setting is enabled, the Universal Print Server components are installed, and the policy settings are applied.
Client printer redirection, Auto-create client After the Universal Print Server is enabled, client network printers are
printers created using the Universal print driver instead of the native drivers.
Users see the same printer name as before.
Session printers When you use the Citrix Universal Print Server solution, Universal print
driver policy settings are honored.
Direct connections to print server When the Universal Print Server is enabled and the Universal print driver
usage policy setting is congured to use universal printing only, a direct
network printer connection can be created to the print server, using the
Universal print driver.
Ef f ects on user interf aces - T he Citrix Universal print driver used by the Universal Print Server disables the following user
interface controls:
In the Printer Properties dialog box, the Local Printer Settings button
In the Document Properties dialog box, the Local Printer Settings and Preview on client buttons
To set non-standard printer settings such as stapling and secure PIN, select Local Settings in the customer UPD print
dialog for any client mapped printers that use either the Citrix UPD EMF or XPS drivers. T he Printing Pref erences dialog of
the mapped printer is displayed outside the session on the client, allowing the user to change any printer option, and the
modied printer settings are used in the active session when printing that document.
T hese features are available if the native driver makes them available using the Microsoft Print Capability technology. T he
native driver should use the standardized Print Schema Keywords in the Print Capabilities XML. If non-standard keywords
are used, the advanced printing features will not be available using Citrix Universal print driver.
When using the Universal Print Server, the Add Printer Wizard for the Citrix Print Provider is the same as the Add Printer
Wizard for the Windows Print Provider, with the following exceptions:
When adding a printer by name or address, you can provide an HT T P/SOAP port number for the print server. T hat port
number becomes a part of the printer name and appears in displays.
If the Citrix Universal print driver usage policy setting specifies that universal printing must be used, the Universal print
driver name appears when selecting a printer. T he Windows Print Provider cannot use the Universal print driver.
For more information about the Universal Print Server, see CT X200328.
Citrix Universal Printer - A generic printer created at the beginning of sessions that is not tied to a printing device. T he
Citrix Universal Printer is not required to enumerate the available client printers during logon, which can greatly reduce
resource usage and decrease user logon times. T he Universal Printer can print to any client-side printing device.
T he Citrix Universal Printer might not work for all user devices or Citrix Receivers in your environment. T he Citrix Universal
Printer requires a Windows environment and does not support the Citrix Ofine Plug-in or applications that are streamed
to the client. Consider using auto-created client printers and the Universal print driver for such environments.
To use a universal printing solution for non-Windows Citrix Receivers, use one of the other Universal print drivers that are
based on postscript/PCL and installed automatically.
Citrix Universal print drivers - A device-independent printer driver. If you configure a Citrix Universal print driver, the
system uses the EMF-based Universal print driver by default.
T he Citrix Universal print driver might create smaller print jobs than older or less advanced printer drivers. However, a
device-specic driver might be needed to optimize print jobs for a specialized printer.
Conf igure universal printing - Use the following Citrix policy settings to configure universal printing. For more information,
refer to the on-screen policy settings help.
Universal print driver usage. Specifies when to use universal printing.
Auto-create generic universal printer. Enables or disables auto-creation of the generic Citrix Universal Printer object for
sessions when a user device compatible with Universal Printing is in use. By default, the generic Universal Printer object is
not auto-created.
Universal driver preference. Specifies the order in which the system attempts to use Universal print drivers, beginning with
the first entry in the list. You can add, edit, or remove drivers and change the order of the drivers in the list.
Universal printing preview preference. Specifies whether to use the print preview function for auto-created or generic
universal printers.
Universal printing EMF processing mode. Controls the method of processing the EMF spool file on the Windows user
device. By default, EMF records are spooled directly to the printer. Spooling directly to the printer allows the spooler to
process the records faster and uses fewer CPU resources.
For more policies, see Optimize printing performance. To change the defaults for settings such as paper size, print quality,
color, duplex, and the number of copies, see CT X113148.
Auto-create printers f rom the user device - At the start of a session, the system auto-creates all printers on the user
device by default. You can control what, if any, types of printers are provisioned to users and prevent autocreation.
Use the Citrix policy setting Auto-create client printers to control autocreation. You can specify that:
All printers visible to the user device, including network and locally attached printers, are created automatically at the
start of each session (default)
All local printers physically attached to the user device is created automatically
Only the default printer for the user device is created automatically
Autocreation is disabled for all client printers
T he Auto-create client printers setting requires that the Client printer redirection setting is Allowed (the default).
By default, network printers on the user device are created automatically at the beginning of sessions. T he system enables
you to reduce the number of network printers that are enumerated and mapped by specifying the network printers to be
You can lter session printer policies by IP address to provide proximity printing. Proximity printing enables users within a
specied IP address range to automatically access the network printing devices that exist within that same range. Proximity
printing is provided by the Citrix Universal Print Server and does not require the conguration described in this section.
When proximity printing is congured and an employee travels from one department to another, no additional printing
device conguration is required. Once the user device is recognized within the new department's IP address range, it will
have access to all network printers within that range.
Conf igure specif ic printers to be redirected in sessions - T o create administrator-assigned printers, configure the Citrix
policy setting Session printers. Add a network printer to that policy using one of the following methods:
Enter the printer UNC path using the format \\servername\printername.
Browse to a printer location on the network.
Browse for printers on a specific server. Enter the server name using the format \\servername and click Browse.
Important: T he server merges all enabled session printer settings for all applied policies, starting from the highest to lowest
priorities. When a printer is configured in multiple policy objects, custom default settings are taken from only the highest
priority policy object in which that printer is configured.
Network printers created with the Session printers setting can vary according to where the session was initiated by ltering
on objects such as subnets.
Specif y a def ault network printer f or a session - By default, the user's main printer is used as the default printer for the
session. Use the Citrix policy setting Default printer to change how the default printer on the user device is established in a
session.
1. On the Default printer settings page, select a setting for Choose client's default printer:
Network printer name. Printers added with the Session printers policy setting appear in this menu. Select the network
printer to use as the default for this policy.
Do not adjust the user's default printer. Uses the current T erminal Services or Windows user profile setting for the
default printer. For more information, refer to the on-screen policy settings help.
2. Apply the policy to the group of users (or other filtered objects) you want to affect.
Conf igure proximity printing - Proximity printing is also provided by the Citrix Universal Print Server, which does not require
the configuration described here.
1. Create a separate policy for each subnet (or to correspond with printer location).
2. In each policy, add the printers in that subnet's geographic location to the Session printers setting.
3. Set the Default printer setting to Do not adjust the user's default printer.
4. Filter the policies by client IP address. Be sure to update these policies to reflect changes to the DHCP IP address
ranges.
To minimize administrative overhead and the potential for print driver issues, Citrix recommends use of the Citrix Universal
print driver.
If auto-creation fails, by default, the system installs a Windows-native printer driver provided with Windows. If a driver is not
available, the system falls back to the Universal print driver. For more information about printer driver defaults, refer to Best
practices, security considerations, and default operations.
If the Citrix Universal print driver is not an option for all scenarios, map printer drivers to minimize the amount of drivers
installed on Server OS machines. In addition, mapping printer drivers enables you to:
Allow specified printers to use only the Citrix Universal print driver
Allow or prevent printers to be created with a specified driver
Substitute good printer drivers for outdated or corrupted drivers
Substitute a driver that is available on Windows server for a client driver name
Prevent the automatic installation of printer drivers - T he automatic installation of print drivers should be disabled to
ensure consistency across Server OS machines. T his can be achieved through Citrix policies, Microsoft policies, or both. To
prevent the automatic installation of Windows-native printer drivers, disable the Citrix policy setting Automatic installation
of in-box printer drivers.
Map client printer drivers - Each client provides information about client-side printers during logon, including the printer
driver name. During client printer autocreation, Windows server printer driver names are selected that correspond to the
printer model names provided by the client. T he autocreation process then uses the identied, available printer drivers to
construct redirected client print queues.
Here is the general process for defining driver substitution rules and editing print settings for mapped client printer drivers:
1. T o specify driver substitution rules for auto-created client printers, configure the Citrix policy setting Printer driver
mapping and compatibility by adding the client printer driver name and selecting the server driver that you want to
substitute for the client printer driver from the Find printer driver menu. You can use wildcards in this setting. For example,
to force all HP printers to use a specific driver, specify HP* in the policy setting.
2. T o ban a printer driver, select the driver name and choose the Do not create setting.
3. As needed, edit an existing mapping, remove a mapping, or change the order of driver entries in the list.
4. T o edit the printing settings for mapped client printer drivers, select the printer driver, click Settings, and specify settings
such as print quality, orientation, and color. If you specify a printing option that the printer driver does not support, that
option has no effect. T his setting overrides retained printer settings the user set during a previous session.
5. Citrix recommends testing the behavior of the printers in detail after mapping drivers, since some printer functionality can
be available only with a specific driver.
When users log on the system checks the client printer driver compatibility list before it sets up the client printers.
To optimize printing performance, use the Universal Print Server and Universal print driver. T he following policies control
printing optimization and compression:
Universal printing optimization defaults. Specifies default settings for the Universal Printer when it is created for a
session:
Desired image quality specifies the default image compression limit applied to universal printing. By default, Standard
Quality is enabled, meaning that users can only print images using standard or reduced quality compression.
Enable heavyweight compression enables or disables reducing bandwidth beyond the compression level set by Desired
image quality, without losing image quality. By default, heavyweight compression is disabled.
Image and Font Caching settings specify whether or not to cache images and fonts that appear multiple times in the
print stream, ensuring each unique image or font is sent to the printer only once. By default, embedded images and
fonts are cached.
Allow non-administrators to modify these settings specifies whether or not users can change the default print
optimization settings within a session. By default, users are not allowed to change the default print optimization
settings.
Universal printing image compression limit. Defines the maximum quality and the minimum compression level available for
images printed with the Universal print driver. By default, the image compression limit is set to Best Quality (lossless
compression).
Universal printing print quality limit. Specifies the maximum dots per inch (dpi) available for generating printed output in
the session. By default, no limit is specified.
By default, all print jobs destined for network printers route from the Server OS machine, across the network, and directly
to the print server. Consider routing print jobs over the ICA connection if the network has substantial latency or limited
bandwidth. To do that, disable the Citrix policy setting Direct connections to print servers. Data sent over the ICA
connection is compressed, so less bandwidth is consumed as the data travels across the WAN.
Improve session perf ormance by limiting printing bandwidth - While printing les from Server OS machines to user
printers, other virtual channels (such as video) may experience decreased performance due to competition for bandwidth
especially if users access servers through slower networks. To prevent such degradation, you can limit the bandwidth used
by user printing. By limiting the data transmission rate for printing, you make more bandwidth available in the HDX data
stream for transmission of video, keystrokes, and mouse data.
Important: T he printer bandwidth limit is always enforced, even when no other channels are in use.
Use the following Citrix policy Bandwidth printer settings to configure printing bandwidth session limits. T o set the limits for
the site, perform this task using Studio. T o set the limits for individual servers, perform this task using the Group Policy
Management Console in Windows locally on each Server OS machine.
T he Printer redirection bandwidth limit setting specifies the bandwidth available for printing in kilobits per second (kbps).
T he Printer redirection bandwidth limit percent setting limits the bandwidth available for printing to a percentage of the
overall bandwidth available.
Note: T o specify bandwidth as a percentage using the Printer redirection bandwidth limit percent setting, enable the
Overall session bandwidth limit as well.
If you enter values for both settings, the most restrictive setting (the lower value) is applied.
Use the policy settings, Universal Print Servers for load balancing and Universal Print Servers out-of-service threshold, to
distribute the printing load across all the print servers in the load balance solution.
If there is an unforeseen failure of a print server, the failover mechanism of the load balancer in each VDA automatically
redistributes the printer connections allocated on the failed print servers to the other available print servers such that all
existing and incoming sessions function normally without affecting the user experience and without requiring the
immediate administrator intervention.
Administrators can monitor the activity of the load balanced print servers using a set of performance counters to track the
following on the VDA:
List of load balanced print servers on the VDA and their state (available, unavailable)
Number of printer connections accepted by each print server
Number of printer connections failed on each print server
Number of active printer connection on each print server
Number of pending printer connections on each print server
T he following table summarizes where you can display printers and manage print queues in your environment.
Client printers (Printers attached to the user Client On Print Management snap-in located in
device) printing the Microsoft Management Console
pathway
Off Pre-Windows 8: Control Panel
Windows 8: Print Management snap-in
Network printers (Printers on a network print Network On Print Server > Print Management snap-
server) printing in located in the Microsoft
pathway Management Console
Network printers (Printers on a network print Client On Print Server > Print Management snap-
server) printing in located in the Microsoft
pathway Management Console
Local network server printers (Printers from a Network On Print Server > Control Panel
network print server that are added to a Server OS printing
machine) pathway
At the HDX leverages the computing capacity of user devices to enhance and optimize the user experience.
device HDX technology ensures users receive a smooth, seamless experience with multimedia content in their
virtual desktops or applications. Workspace control enables users to pause virtual desktops and
applications and resume working from a different device at the point where they left off.
On the HDX incorporates advanced optimization and acceleration capabilities to deliver the best performance
network over any network, including low-bandwidth and high-latency WAN connections.
HDX features adapt to changes in the environment, balancing performance and bandwidth by applying
the best technologies for each unique user scenario, whether the desktop or application is accessed
locally on the corporate network or remotely from outside the corporate rewall.
In the HDX leverages the processing power and scalability of servers to deliver advanced graphical performance,
datacenter regardless of the capabilities of the client device.
HDX channel monitoring provided by Citrix Director displays the status of connected HDX channels on
user devices.
HDX Insight, the integration of NetScaler Network Inspector and Performance Manager with Director,
captures data about ICA trafc and provides a dashboard view of real-time and historical details such as
client-side and server-side ICA session latency, bandwidth use of ICA channels, and the ICA round trip time
value of each session.
HDX provides a superior graphics and video experience for most users by default, with no configuration required. Citrix
Good to know:
For support and requirements information for HDX features, see the System requirements article. Except where
otherwise noted, HDX features are available for supported Windows Server OS and Windows Desktop OS machines, plus
Remote PC Access desktops.
T his content describes how to further optimize the user experience, improve server scalability, or reduce bandwidth
requirements. For information about working with Citrix policies and policy settings, see the Citrix policies documentation
for this release.
For instructions that include working with the registry, use caution: editing the registry incorrectly can cause serious
problems that may require you to reinstall your operating system. Citrix cannot guarantee that problems resulting from
the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk. Be sure to back up the registry
before you edit it.
Tablet mode requires a minimum of version XenServer 7.2. XenServer 7.2 integrates with the XenDesktop VDA, changing the
hypervisor to enable the virtual rmware settings for 2-in-1 devices. Windows 10 loads the GPIO driver on the target virtual
machine based on this updated BIOS. It is used for toggling between tablet and desktop modes within the virtual
machine. For .more information, see http://docs.citrix.com/content/dam/docs/en-us/xenserver/current-
release/downloads/xenserver-release-notes.pdf..
T he tablet mode offers a user interface that is better suited to touch screens:
To disable (or re-enable) tablet mode, use the registry setting on XenApp and XenDesktop:
Warning:
Editing the registry incorrectly can cause serious problems that may require you to reinstall your operating system. Citrix
cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at
your own risk. Be sure to back up the registry before you edit it.
HKEY_LOCAL_MACHINE\Software\Citrix\Sessions
Name: CitrixEnhancedUserExperience
Type: REG_DWORD
Value:
0 (Disable)
1 (Enable)
We recommend for the best results that you navigate to Settings >System >Tablet Mode before starting a session and
set the following options from the drop-down menus:
Visual quality. Controls the visual quality of images displayed on the user device: medium, high, always lossless, build to
lossless (default = medium). T he actual video quality with the default setting of medium depends on available bandwidth.
T arget frame rate. Specifies the maximum number of frames per second that are sent from the virtual desktop to the
user device (default = 30). For devices with slower CPUs, specifying a lower value can improve the user experience. T he
maximum supported frame rate per second is 60.
Display memory limit. Specifies the maximum video buffer size for the session in kilobytes (default = 65536 KB). For
connections requiring more color depth and higher resolution, increase the limit. You can calculate the maximum memory
required.
Citrix Receiver users can override the default behavior by choosing the Desktop Viewer Mic & Webcam setting Don't use my
microphone or webcam. To prevent users from switching from HDX webcam video compression, disable USB device
redirection with the policy settings under ICA policy settings > USB Devices policy settings.
HDX webcam video compression requires that the following policy settings be enabled (all are enabled by default).
Introduction
Adaptive transport is a new data transport mechanism for XenApp and XenDesktop. It is faster, more scalable, improves
application interactivity, and is more interactive on challenging long-haul WAN and internet connections. Adaptive transport
maintains high server scalability and efcient use of bandwidth. By using adaptive transport, ICA virtual channels
automatically respond to changing network conditions. T hey intelligently switch the underlying protocol between the new
Citrix protocol called Enlightened Data Transport (EDT ) and TCP to deliver the best performance. It improves data
throughput for all ICA virtual channels including T hinwire display remoting, le transfer (Client Drive Mapping), printing, and
multimedia redirection. T he same setting is applicable for both LAN and WAN conditions.
When set to Pref erred, data transport over EDT is used as primary, with fallback to TCP.
For testing purposes, you can set Diagnostic mode, in which case only EDT is used, and fallback to TCP is disabled.
Conguration
Check that the ICA UDP services are enabled on a VDA using netstat -a.
Check that the virtual channels are running over EDT using Director or the CtxSession.exe command-line utility available
on the VDA.
Director example
In Director, Session Details > Connection Type displays the policy settings. Look for Connection type HDX. If the
protocol is UDP, EDT is active for the session. If the protocol is TCP, the session is in fallback or default mode. If the
Connection type is RDP, ICA is not in use and the protocol is n/a. For more information, see Monitor sessions.
T his example illustrates that EDT over UDP is active for the session. Type CtxSession.exe in the command line.
>CtxSession -v
Introduction
T hinwire refers to Citrix's default display remoting technology used in XenApp and XenDesktop.
Display remoting technology allows graphics generated on one machine to be transmitted, typically across a network, to
another machine for display. Graphics are usually generated as a result of user input, for example, keystrokes or mouse
actions.
A successful display remoting solution should provide a highly interactive user experience that is similar to that of a local PC.
T hinwire achieves this by using a range of complex and efcient image analysis and compression techniques. T hinwire
maximizes server scalability and consumes less bandwidth than other display remoting technologies.
Because of this balance, T hinwire meets most general business use cases and is used as the default display remoting
technology in XenApp and XenDesktop.
Thinwire or Framehawk
T hinwire should be used for delivering typical desktop workloads, for example, desktops, ofce productivity or browser-
based applications. T hinwire is also recommended for multi-monitor, high resolution or high DPI scenarios, and for workloads
with a mixture of video and non-video content.
Framehawk should be used for mobile workers on broadband wireless connections where packet loss can be intermittently
high.
HDX 3D Pro
In its default conguration, T hinwire can deliver 3D or highly interactive graphics, however enabling HDX 3D Pro mode
during the installation of the VDA for Desktop OS is a good option for such scenarios. T he 3D Pro mode congures
T hinwire with full-screen H.264 encoding for graphics transmission. T his provides a more uid experience for 3D professional
graphics. For more information, see HDX 3D Pro and GPU acceleration for Windows Desktop OS.
T hinwire has been optimized for modern operating systems, including Windows Server 2012 R2, Windows Server 2016 and
Windows 10. For Windows 7 and Windows Server 2008 R2, legacy graphics mode is recommended. Use the built-in Citrix
policy templates, High Server Scalability-Legacy OS and Optimized for WAN-Legacy OS to deliver the Citrix
recommended combinations of policy settings for these use cases.
T he policy setting which drives the behavior of T hinwire, Use video codec f or compression, is available on VDA versions
in XenApp and XenDesktop 7.6 FP3 and later. T he Use video codec when pref erred option is the default setting on
VDA versions XenApp and XenDesktop 7.9 and later.
All Citrix Receivers support T hinwire. Some Citrix Receivers may however support features of T hinwire that others do not,
for example, 8 or 16-bit graphics for reduced bandwidth usage. Support for such features are automatically negotiated
by Citrix Receiver.
T hinwire will use more server resources (CPU, memory) in multi-monitor and high-resolution scenarios. It is possible to tune
the amount of resources T hinwire uses, however, bandwidth usage may increase as a result.
In low bandwidth or high latency scenarios, you may consider enabling 8 or 16-bit graphics to improve interactivity,
Conguration
T he following Graphics policy setting sets the default and provides alternatives for different use cases:
A number of other policy settings, including the following Visual display policy settings can be used to ne tune the
performance of display remoting technology and are all supported by T hinwire:
To get the Citrix recommended combinations of policy settings for different business use cases, use the built in Citrix Policy
templates. T he High Server Scalability and Very High Denition User Experience templates both use T hinwire with the
optimum combinations of policy settings for your organization's priorities and your users' expectations.
Monitoring Thinwire
You can monitor the use and performance of T hinwire from Citrix Director. T he HDX virtual channel details view contains
useful information for troubleshooting and monitoring T hinwire in any session. To view T hinwire-related metrics:
1. In Director, search for a user, machine or endpoint, open an active session and click Details. Or, you can select Filters >
Sessions > All Sessions, open an active session and click Details.
Introduction
Framehawk is a display remoting technology for mobile workers on broadband wireless connections (Wi-Fi and 4G/LT E
cellular networks). Framehawk overcomes the challenges of spectral interference and multipath propagation, delivering a
uid and interactive user experience to users of virtual apps and desktops. Framehawk might also be a suitable choice for
users on long-haul (high latency) broadband network connections where even a small amount of packet loss can otherwise
degrade the user experience. We suggest using Adaptive Transport for this use case - for more information, see Adaptive
Transport.
You can use Citrix policy templates to implement Framehawk for a set of users and access scenarios in a way that is
appropriate for your organization. Framehawk targets single-screen mobile use cases such as laptops and tablets. Use
Framehawk where the business value of real-time interactive performance justies the extra cost in server resources and
the requirement for a broadband connection.
T hink of Framehawk as a software implementation of the human eye, looking at what's in the frame buffer and discerning
the different types of content on the screen. What's important to the user? When it comes to areas of the screen that
are changing rapidly, like video or moving graphics, it doesn't matter to the human eye if some pixels are lost along the way
because they are quickly overwritten with new data.
But when it comes to static areas of the screen, such as the icons in the systray or a toolbar, or text after scrolling to
where the user wants to start reading, the human eye is very fussy; a user expects those areas to be pixel perfect. Unlike
protocols that aim to be technically accurate from a "ones and zeros" perspective, Framehawk aims to be relevant to the
human being who is using the technology.
Framehawk includes a next-generation QoS signal amplier plus a time-based heat map for a ner-grained and more
efcient identication of workloads. It uses autonomic, self-healing transforms in addition to data compression, and avoids
retransmission of data to maintain click response, linearity and a consistent cadence. On a lossy network connection,
Framehawk can hide loss with interpolation, and the user still perceives good image quality while enjoying a more uid
experience. In addition, Framehawk algorithms intelligently distinguish between different types of packet loss; for example,
random loss (send more data to compensate) versus congestion loss (don't send more data because the channel is already
clogged).
T he Framehawk Intent Engine in Citrix Receiver distinguishes between scrolling up or down, zooming, moving to the left or
right, reading, typing, and other common actions, and manages the communication back to the Virtual Delivery Agent (VDA)
using a shared dictionary. If the user is trying to read, the visual quality of the text needs to be excellent. If the user is
scrolling, it should be quick and smooth. And it has to be interruptible, so that the user is always in control of the interaction
with the application or desktop.
By measuring cadence on the network connection (which we call "gearing", analogous to the tension on a bicycle chain),
the Framehawk logic can react more quickly, providing a superior experience over high latency connections. T his unique and
patented gearing system provides constant up-to-date feedback on network conditions, allowing Framehawk to react
Framehawk uses a data transport layer built on top of UDP. UDP is just a small part of how Framehawk overcomes lossiness,
as can be seen when comparing the performance of Framehawk with other UDP-based protocols, but it provides an
important foundation to the human-centric techniques that set Framehawk apart.
T he meaning of broadband wireless depends on several factors, including how many users are sharing the connection, the
quality of the connection, and apps being used. For optimal performance, Citrix suggests a base of 4 or 5 Mbps plus about
150 Kbps per concurrent user.
T he Citrix bandwidth recommendation for T hinwire is generally a base of 1.5 Mbps plus 150 Kbps per user (for more detail,
refer to XenApp and XenDesktop bandwidth blog), but at 3% packet loss you will nd that T hinwire over TCP needs much
more bandwidth than Framehawk to maintain a positive user experience.
Note: T hinwire remains the primary display remoting channel in the ICA protocol. Framehawk is disabled by default. Citrix
recommends enabling it selectively to address the broadband wireless access scenarios in your organization. Remember that
Framehawk requires considerably more server resources (CPU and memory) than T hinwire.
Framehawk supports all the HDX 3D Pro use cases, both for XenApp (server OS) and XenDesktop (desktop OS) apps. In
early previews, it has been validated in customer environments with 400-500 ms latency and 1-2% packet loss, providing
good interactivity using typical 3D modeling apps such as AutoCAD, Siemens NX, and others. T his support extends the
ability to view and manipulate large CAD models while on the move, or working from an offshore location or poor network
conditions. (Organizations with a requirement to deliver 3D applications over long haul network connections are
encouraged to use Adaptive Transport. For more information, see Adaptive Transport.)
Enabling this functionality doesn't require any additional conguration tasks. When installing the VDA, select the 3DPro
option at the beginning of the installation:
T he endpoint must have a minimum Citrix Receiver for Windows 4.3.100 or Citrix Receiver for iOS 6.0.1.
By default, Framehawk uses a bidirectional UDP port range (3224-3324) to exchange Framehawk display channel data with
Citrix Receiver; the range can be customized in a policy setting called "Framehawk display channel port range". Each
concurrent connection between the client and the virtual desktop requires a unique port. For multi-user OS environments,
such as XenApp servers, you need to dene sufcient ports to support the maximum number of concurrent user sessions.
For a single-user OS, such as VDI desktops, it is sufcient to dene a single UDP port. Framehawk attempts to use the rst
dened port, working up to the nal port specied in the range. T his applies both when passing through NetScaler
Gateway, and internal connections directly to the StoreFront server.
For remote access, a NetScaler Gateway must be deployed. By default, NetScaler uses UDP port 443 for encrypted
communication between the client Citrix Receivers and the Gateway. T his port must be open on any external rewalls to
allow secure communication in both directions. T he feature is known as Datagram Transport Security (DT LS).
Encrypted Framehawk connections are supported, starting with NetScaler Gateway version 11.0.62 and NetScaler Unied
Gateway version 11.0.64.34 or later.
NetScaler High Availability (HA) is supported from XenApp and XenDesktop 7.12.
Contact your Security administrator to confirm UDP ports defined for Framehawk are open on the firewall. T he
installation process does not automatically configure the firewall.
In many cases, NetScaler Gateway might be installed in the DMZ, flanked by firewalls on both the external as well as the
internal side. Ensure UDP port 443 is open on the external firewall, and UDP ports 3224-3324 are open on the internal
firewall if the environment is using the default port ranges.
Conguration
Caution: Citrix recommends that you enable Framehawk only for users who are likely to experience high packet loss. It is
also recommended that you do not enable Framehawk as a universal policy for all objects in the Site.
Framehawk is disabled by default. When enabled, the server attempts to use Framehawk for users' graphics and input. If
the prerequisites are not met for any reason, the connection is established using the default mode (T hinwire).
From XenApp and XenDesktop 7.8, an option is available to recongure the Firewall during the Features step of the VDA
installer. T his checkbox opens UDP ports 3224-3324 on the Windows Firewall, if selected. Please note that manual Firewall
conguration is required in some circumstances:
NetScaler Gateway refers to the deployment architecture where the Gateway VPN vServer is directly accessible from
the end-user device; that is, the VPN vServer has a public IP address assigned and the user connects to this IP directly.
NetScaler with Unified Gateway refers to the deployment where the Gateway VPN vServer is bound as a target to the
Content Switching vServer (CS). In this deployment, CS vServer will have the public IP and the Gateway VPN vServer will
have a dummy IP.
To enable Framehawk support on NetScaler Gateway, the DT LS parameter on the Gateway VPN vServer level must be
enabled. After the parameter is enabled and the components on XenApp or XenDesktop are updated correctly, Framehawk
audio, video, and interactive trafc is encrypted between the Gateway VPN vServer and the user device.
NetScaler Gateway, Unied Gateway, and NetScaler Gateway + Global Server Load Balancing are supported with
Framehawk.
Yes
NetScaler with Unified Gateway Note: Unied Gateway version 11.0.64.34 and later is
supported.
HDX Insight No
To enable Framehawk support on NetScaler Gateway, the DT LS parameter on the Gateway VPN vServer level must be
enabled. After the parameter is enabled and the components on XenApp or XenDesktop are updated correctly, Framehawk
audio, video, and interactive trafc is encrypted between the Gateway VPN vServer and the user device.
T his conguration is required if you are enabling UDP encryption on NetScaler Gateway for remote access.
1. Deploy and configure NetScaler Gateway to communicate with StoreFront and authenticate users for XenApp and
XenDesktop.
2. In the NetScaler Configuration tab, expand NetScaler Gateway, and select Virtual Servers.
3. Click Edit to display Basic Settings for the VPN Virtual Server; verify the state of the DT LS setting.
4. Click More to display additional configuration options:
5. Select DTLS to provide communications security for datagram protocols such as Framehawk. Click OK. T he Basic
Settings area for the VPN Virtual Server shows that the DT LS flag is set to True.
6. Reopen the Server Certificate Binding screen, and click + to bind the certificate key pair.
7. Choose the certificate key pair from earlier, click Select.
8. Save the changes to the server certificate binding.
9. After saving, the certificate key pair appears. Click Bind.
10. Ignore the "No usable ciphers configured on the SSL vserver/service" warning message, if it appears.
1. Reopen the Server Certificate Binding screen, and click + to bind the certificate key pair.
2. Choose the certificate key pair from earlier, click Select.
3. Save the changes to the server certificate binding.
4. After saving, the certificate key pair appears. Click Bind.
5. Ignore the "No usable ciphers configured on the SSL vserver/service" warning message, if it appears.
1. Ensure that Unified Gateway is installed and properly configured. For additional information, refer to the Unified
Gateway information on the Citrix Product Documentation site.
2. Enable the DT LS parameter on the VPN vServer which is bound to CS vserver as T arget Vserver.
NetScaler Gateway is the only SSL VPN product to support the UDP encryption required by Framehawk. T he Framehawk
policy may fail to apply if another SSL VPN or an incorrect version of NetScaler Gateway is used. Traditional IPSec VPN
products will support Framehawk without any modications.
1. On the StoreFront server, access the App_Data directory of your store in c:\inetpub\wwwroot\.
2. Open the default.ica file and add the following line in the WFClient section: Framehawk=On
3. Save the changes.
T his allows Framehawk sessions to be established from a compatible Citrix Receiver on iOS devices. T his step is not required
if you are using Citrix Receiver for Windows.
Monitoring Framehawk
You can monitor the use and performance of Framehawk from Citrix Director. T he HDX Virtual Channel Details view
contains useful information for troubleshooting and monitoring Framehawk in any session. To view Framehawk-related
metrics, select Graphics-Framehawk.
If the Framehawk connection is established, you will see Provider = VD3D and Connected = True in the details page. It is
normal for the virtual channel state to be idle, because it monitors the signaling channel, which is used only during the initial
handshake. T his page also provides other useful statistics about the connection.
All supported Citrix Receivers can be used with 3D graphics. For best performance with complex 3D workloads, high-
resolution monitors, multi-monitor congurations, and high frame rate applications, we recommend the latest versions of
Citrix Receiver for Windows and Citrix Receiver for Linux. For more information on supported versions of Citrix Receiver, see
Lifecycle Milestones for Citrix Receiver.
HDX 3D Pro provides the best user experience over any bandwidth:
On WAN connections: Deliver an interactive user experience over WAN connections with bandwidths as low as 1.5 Mbps.
On LAN connections: Deliver a user experience equivalent to that of a local desktop on LAN connections.
You can replace complex and expensive workstations with simpler user devices by moving the graphics processing into
the data center for centralized management.
HDX 3D Pro provides GPU acceleration for Windows Desktop OS machines and Windows Server OS machines. HDX 3D Pro
is compatible with GPU passthrough and GPU virtualization technologies offered by the following hypervisors, in addition to
bare metal:
Citrix XenServer
GPU passthrough with NVIDIA GRID and Intel GVT -d
GPU virtualization with NVIDIA GRID and Intel GVT -g
Microsoft Hyper V
GPU passthrough (Discrete Device Assignment) with NVIDIA GRID and AMD
VMware vSphere
GPU passthrough (vDGA) with NVIDIA GRID, Intel, and AMD IOMMU
GPU virtualization with NVIDIA GRID and AMD MxGPU
For the supported XenServer versions, see Citrix XenServer Hardware Compatibility List.
Use the HDX Monitor tool to validate the operation and conguration of HDX visualization technologies and to diagnose
and troubleshoot HDX issues. To download the tool and learn more about it, see https://taas.citrix.com/hdx/download/.
Flash Redirection is supported on both clients and servers. If the client supports second generation Flash Redirection, Flash
content renders on the client. Flash Redirection features include support for user connections over WAN, intelligent fallback,
and a URL compatibility list; see below for details.
Flash Redirection uses Windows event logging on the server to log Flash events. T he event log indicates whether Flash
Redirection is being used and provides details about issues. T he following are common to all events logged by Flash
Redirection:
Flash Redirection reports events to the Application log.
On Windows 10, Windows 8 and Windows 7 systems, a Flash Redirection-specific log appears in the Applications and
Services Logs node.
T he Source value is Flash.
T he Category value is None.
T o configure Flash Redirection on the server, use the following Citrix policy settings. For details, see Flash Redirection policy
settings.
By default, Flash Redirection is enabled. T o override this default behavior for individual web pages and Flash instances, use
the Flash URL compatibility list setting.
Flash intelligent fallback - detects instances of small Flash "movies" (such as those frequently used to play
advertisements) and renders them on the server instead of redirecting them for rendering on the user device. T his
optimization does not cause any interruption or failure in the loading of the web page or the Flash application. By
default, Flash intelligent fallback is enabled. T o redirect all instances of Flash content for rendering on the user device,
disable this policy setting. Note that some Flash content may not be successfully redirected.
Flash server-side content fetching URL list allows you to specify websites whose Flash content should be downloaded to
the server and then transferred to the user device for rendering. (By default, Flash Redirection downloads Flash content
directly to the user device with client-side fetching.) T his setting works with (and requires) the Enable server-side content
fetching setting on the user device and is intended primarily for use with Intranet sites and internal Flash applications; see
below for details. It also works with most Internet sites and can be used when the user device does not have direct
access to the Internet (for example, when the XenApp or XenDesktop server provides that connection).
Note: Server-side content fetching does not support Flash applications using Real T ime Messaging Protocols (RT MP);
instead, server-side rendering is used, which supports HT T P and HT T PS.
Flash URL compatibility list - specifies where Flash content from listed websites is rendered: on the user device, on the
server, or blocked.
Install Citrix Receiver and Adobe Flash Player on the user device. No further conguration is required on the user device.
You can change the default settings using Active Directory Group Policy Objects. Import and add the HDX MediaStream
Flash Redirection - Client administrative template (HdxFlashClient.adm), which is available in the following folders:
For 32-bit computers: %Program Files%\Citrix\ICA Client\Configuration\language
For 64-bit computers: %Program Files (x86)%\Citrix\ICA Client\Configuration\language
T he policy settings appear under Administrative Templates > Classic Administrative Templates (ADM) > HDX MediaStream
Flash Redirection - Client. See the Microsoft Active Directory documentation for details about GPOs and templates.
Together with server-side settings, the Enable HDX MediaStream Flash Redirection on the user device policy setting controls
whether Adobe Flash content is redirected to the user device for local rendering. By default, Flash Redirection is enabled and
uses intelligent network detection to determine when to play Flash content on the user device.
If no conguration is set and Desktop Lock is used, Flash Redirection is enabled on the user device by default.
T o change when Flash Redirection is used or to disable Flash Redirection on the user device:
1. From the Setting list, select Enable HDX MediaStream Flash Redirection on the user device and click policy setting.
2. Select Not Configured, Enabled (the default), or Disabled.
3. If you select Enabled, choose an option from the Use HDX MediaStream Flash Redirection list:
T o use the latest Flash Redirection functionality when the required configuration is present, and revert to server-side
rendering when it is not, select Only with Second Generation.
T o always use Flash Redirection, select Always. Flash content plays on the user device.
T o never use Flash Redirection, select Never. Flash content plays on the server.
T o use intelligent network detection to assess the security level of the client-side network to determine when using
Flash Redirection is appropriate, select Ask (the default). If the security of the network cannot be determined, the user
is asked whether to use Flash Redirection. If the network security level cannot be determined, the user is prompted to
choose whether to use Flash Redirection.
T he following illustration indicates how Flash Redirection is handled for various network types.
Synchronization of the client-side HT T P cookies with the server-side is disabled by default. Enable synchronization to
download HT T P cookies from the server; those HT T P cookies are then used for client-side content fetching and are
available as needed by sites containing Flash content.
Note: Client-side cookies are not replaced during the synchronization; they remain available even if the synchronization
policy is later disabled.
1. From the Setting list, select Enable synchronization of the client-side HT T P cookies with the server-side and click policy
setting.
2. Select Not Configured, Enabled, or Disabled (the default).
By default, Flash Redirection downloads Adobe Flash content directly to the user device, where it is played. Enabling server-
side content fetching causes the Flash content to download to the server and then be sent to the user device. Unless there
is an overriding policy (such as a site blocked with the Flash URL compatibility list policy setting), the Flash content plays on
the user device.
Server-side content fetching is frequently used when the user device connects to internal sites through NetScaler Gateway
Note: Server-side content fetching does not support Flash applications using Real T ime Messaging Protocols (RT MP).
Instead, server-side rendering is used for such sites.
Flash Redirection supports three enabling options for server-side content fetching. Two of these options include the ability
to cache server-side content on the user device, which improves performance because content that is reused is already
available on the user device for rendering. T he contents of this cache are stored separately from other HT T P content
cached on the user device.
Fallback to server-side content fetching begins automatically when any of the enabling options is selected and client-side
fetching of .swf les fails.
Enabling server-side content fetching requires settings on both the client device and the server.
1. From the Setting list, select Enable server-side content fetching and click policy setting.
2. Select Not Configured, Enabled, or Disabled (the default). If you enable this setting, choose an option from the Server-
side content fetching state list:
Option Description
Disabled Disables server-side content fetching, overriding the Flash server-side content fetching URL list setting
on the server. Server-side content fetching fallback is also disabled.
Enabled Enables server-side content fetching for web pages and Flash applications identified in the Flash server-
side content fetching URL list. Server-side content fetching fallback is available, but Flash content is not
cached.
Enabled Enables server-side content fetching for web pages and Flash applications identified in the Flash server-
(persistent side content fetching URL list. Server-side content fetching fallback is available. Content obtained
caching) through server-side fetching is cached on the user device and stored from session to session.
Enabled Enables server-side content fetching for web pages and Flash applications identified in the Flash server-
(temporary side content fetching URL list. Server-side content fetching fallback is available. Content obtained
caching) through server-side fetching is cached on the user device and deleted at the end of the session.
3. On the server, enable the Flash server-side content fetching URL list policy setting and populate it with target URLs.
To redirect an attempt to obtain Flash content, use the URL rewriting rules for client-side content fetching setting, which is
a second generation Flash Redirection feature. When conguring this feature, you provide two URL patterns; when the user
device attempts to fetch content from a website matching the rst pattern (the URL match pattern), it is redirected to the
website specied by the second pattern (the rewritten URL format).
You can use this setting to compensate for content delivery networks (CDN). Some websites delivering Flash content use
CDN redirection to enable the user to obtain the content from the nearest of a group of servers containing the same
content. When using Flash Redirection client-side content fetching, the Flash content is requested from the user device,
while the rest of the web page on which the Flash content resides is requested by the server. If CDN is in use, the server
request is redirected to the nearest server, and the user device request follows to the same location. T his may not be the
location closest to the user device; depending on distance, there could be a noticeable delay between the loading of the
web page and the playing of the Flash content.
1. From the Setting list, select URL rewriting rules for client-side content fetching and click policy setting.
Warning
Editing the Registry incorrectly can cause serious problems that may require you to reinstall your operating system. Citrix cannot
guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk. Be
sure to back up the registry before you edit it.
You can add registry settings to specify the minimum version required for Flash redirection for client devices accessing VDAs
using Citrix Receiver for Windows or Citrix Receiver for Linux. T his security feature ensures that an outdated Flash version is
not used.
ServerFlashPlayerVersionMinimum is a string value that species the minimum version of the Flash Player required on the
ICA Server (VDA).
ClientFlashPlayerVersionMinimum is a string value that species the minimum version of the Flash Player required on the
ICA Client (Citrix Receiver).
T hese version strings can be specied as "10" or "10.2" or "10.2.140". Only the major, minor and build numbers will be
compared. T he revision number will be ignored. For example, for a version string specied as "10" with only the major number
specied, the minor and build numbers will be assumed to be zero.
FlashPlayerVersionComparisonMask is a DWORD value that when set to zero will disable comparing the version of the
Flash Player on the ICA Client against the Flash Player on the ICA Server. T he comparison mask has other values, but these
should not be used because the meaning of any non-zero mask may change. It is recommended to only set the comparison
mask to zero for the desired clients. It is not recommended to set the comparison mask under the client agnostic settings. If
a comparison mask is not specied, Flash redirection will require that the ICA Client has a Flash Player with greater or equal
version to the Flash Player on the ICA Server. It will do so by comparing only the major version number of the Flash Player.
In order for redirection to occur the client and server minimum checks need to be successful in addition to the check using
the comparison mask.
T he subkey ClientID0x51 species Citrix Receiver for Linux. T he subkey ClientID0x1 species Citrix Receiver for Windows. T his
subkey is named by appending the hexadecimal Client Product ID (without any leading zeros) to the string "ClientID". A full
list of Client IDs can be found in the Mobile SDK for Windows Apps
documentation https://www.citrix.com/community/citrix-developer/mobile-sdk-for-windows-apps.html.
"ClientFlashPlayerVersionMinimum"="16.0.0" T his species the minimum version of the Flash Player required for the Windows
client [HKEY_LOCAL_MACHINE\SOFT WARE\Citrix\HdxMediaStreamForFlash\Server\PseudoServer\ClientID0x51] Linux ICA
Client settings
"FlashPlayerVersionComparisonMask"=dword:00000000 T his disables the version comparison-check for the linux client
(checking to see that the client has a more recent Flash Player than the server) "ClientFlashPlayerVersionMinimum"="11.2.0"
T his species the minimum version of the Flash Player for the Linux client.
[HKEY_LOCAL_MACHINE\SOFT WARE\Wow6432Node\Citrix\HdxMediaStreamForFlash\Server\PseudoServer]
"ClientFlashPlayerVersionMinimum"="13.0" "ServerFlashPlayerVersionMinimum"="13.0"
[HKEY_LOCAL_MACHINE\SOFT WARE\Wow6432Node\Citrix\HdxMediaStreamForFlash\Server\PseudoServer\ClientID0x1]
"ClientFlashPlayerVersionMinimum"="16.0.0"
[HKEY_LOCAL_MACHINE\SOFT WARE\Wow6432Node\Citrix\HdxMediaStreamForFlash\Server\PseudoServer\ClientID0x51]
"FlashPlayerVersionComparisonMask"=dword:00000000 "ClientFlashPlayerVersionMinimum"="11.2.0"
Auto client reconnect relaunches the client engine to reconnect to a disconnected session. Auto client reconnect closes (or
disconnects) the user session after the time specied in the setting. If auto client reconnect is in progress, the system sends
application and desktops network interruption notication to the user as follows:
Desktops. T he session window is grayed out and a countdown timer shows the time until the reconnections occur.
Applications. T he session window closes and a dialog appears to the user containing a countdown timer showing the
time until the reconnections are attempted.
During auto client reconnect, sessions relaunch expecting network connectivity. User cannot interact with sessions while
auto client reconnect is in progress.
On reconnection, the disconnected sessions reconnect using saved connection information. T he user can interact with the
applications and desktops normally.
Session reliability
Session reliability reconnects ICA sessions seamlessly across network interruptions. Session reliability closes (or disconnects)
the user session after the time specied in the setting. After the session reliability timeout, the auto client reconnect
settings take effect, attempting to reconnect the user to the disconnected session. When session reliability is in progress,
application and desktops network interruption notication are sent to the user as follows:
Desktops. T he session window becomes translucent and a countdown timer shows the time until the reconnections
occur.
Applications. T he window becomes translucent along with connection interrupted pop ups from the notification area.
While session reliability is active, the end user cannot interact with the ICA sessions. However, user actions like keystrokes
are buffered for few seconds immediately after the network interruption and retransmitted once the network is available.
On reconnection, the client and the server resume at the same point where they were in their exchange of protocol. T he
session windows lose translucency and appropriate notication area pop ups are shown for applications.
If Multistream and Multiport policies are enabled on the server and any or all these conditions are true, auto client
reconnect does not work:
Host to client redirection is one kind of content redirection. It is supported only on Server OS VDAs (not Desktop OS
VDAs).
When host to client redirection is enabled, URLs are intercepted at the server VDA and sent to the user device. T he web
browser or multimedia player on the user device opens these URLs.
If you enable host to client redirection and the user device fails to connect to a URL, the URL is redirected back to the
server VDA.
When host to client redirection is disabled, users open the URLs with web browsers or multimedia players located on the
server VDA.
When host to client redirection is enabled, users cannot disable it.
You might consider using host to client redirection in specic but uncommon cases, for performance, compatibility, or
compliance. Normally, other forms of content redirection are better.
Perf ormance
You can use host to client redirection for performance, so that whenever an application is installed on the user device, it is
used in preference to an application on the VDA.
Keep in mind that host to client redirection will improve performance only under specic conditions, because the VDA
already optimizes Adobe Flash and other types of multimedia content. First, consider using the other approaches (policy
settings) noted in the tables below, rather than host to client redirection; they offer more exibility and usually give a
better user experience, particularly for less-powerful user devices.
Compatibility
You can use host to client redirection for compatibility in the following use cases:
You use content types other than HT ML or multimedia (for example, a custom URL type).
You use a legacy media format (such as Real Media) that is not supported by the VDA's multimedia player with
multimedia redirection.
T he application for the content type is used by only a small number of users who already have the application installed
on their user device.
T he VDA cannot access certain web sites (for example, web sites internal to another organization).
Compliance
You can use host to client redirection for compliance in the following use cases:
T he application or content licensing agreement does not permit publishing via the VDA.
Some situations are more likely in complex environments, and also if the user device and the VDA belong to different
organizations.
Desktop PC Users use a wide range of apps installed on the Any approach (see next table)
user device
Desktop PC Users use only a few known apps that are Local App Access
installed on the user device
Desktop PC Users use no apps installed on the user device Multimedia redirection and/or Flash
redirection
Desktop appliance Vendor supports multimedia redirection and/or Multimedia redirection and/or Flash
Flash redirection redirection
T hin client Vendor supports multimedia redirection, Flash Any approach (see next table)
redirection, and host to client redirection
Zero client Vendor supports multimedia redirection and/or Multimedia redirection and/or Flash
Flash redirection redirection
Use the following examples to help guide your content redirection approach.
A web page or document T he VDA cannot access the URL Host to client redirection
A multimedia le or stream T he VDA does not have a compatible Host to client redirection
multimedia player
A document T he VDA does not have an application for that Host to client redirection
document type
A custom URL type T he VDA does not have an application for that Host to client redirection
custom URL type
Host to client redirection is supported by Citrix Receiver for Windows, Receiver for Mac, Receiver for Linux, Receiver for
HT ML5, and Receiver for Chrome.
To use host to client redirection, the user device must have a web browser, multimedia player, or other application that is
suitable for the content. If the user device is a desktop appliance, thin client, or zero client, conrm that it has suitable
applications and is sufciently powerful.
User devices enabled for Local App Access use a different mechanism for content redirection, and do not require host to
client content redirection.
You can use Citrix policies to prevent host to client content redirection for unsuitable devices.
Host to client redirection is not used for URLs in a web browser (either in a web page or entered in the address bar of the
web browser).
Note
If users change their default web browser on the VDA (for example, by using Set Default Programs), that change can interfere with
host to client redirection for applications.
An HT T P URL with an HT ML content type will open in the default web browser.
An HT T P URL with a PDF content type might open in the default web browser, or it might open in another application.
T his user device conguration is not controlled by host to client content redirection. If you do not control the
conguration of the user device, consider using Flash redirection and multimedia redirection, rather than host to client
content redirection.
T he following URL types are opened locally through user devices when host to client redirection is enabled:
You can change the list of URL types for host to client redirection, to remove and add URL types, including custom URL
types.
Enabling host to client redirection starts with enabling a Citrix policy setting.
T he Host to client redirection policy setting is located in the File Redirection policy settings section. By default, this setting
is disabled.
In addition, you may need to set registry keys and Group Policy for the server VDAs, depending on the VDA's OS.
If the server VDA is Windows Server 2008 R2 SP1, you do not need to set registry keys or Group Policy.
If the server VDA is Windows Server 2012, Windows Server 2012 R2, or Windows Server 2016, you must set registry keys
and Group Policy.
Warning
Using Registry Editor incorrectly can cause serious problems that might require you to reinstall your operating system. Citrix cannot
guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk. Be
sure to back up the registry before you edit it.
Registry changes
1. Copy the text between "Reg f ile start" and "Reg f ile end" below, and paste it in Notepad.
2. Save the Notepad file with "Save As" as type All Files and the name ServerFT A.reg.
3. Distribute the ServerFTA.reg file to the servers using Active Directory Group Policy.
[HKEY_CLASSES_ROOT\ServerFTAHTML\shell\open\command]
[HKEY_LOCAL_MACHINE\SOFTWARE\Cit rix\ServerFTA]
@="ServerFTA"
"Applicat ionName"="ServerFTA"
"ht t p"="ServerFTAHTML"
"ht t ps"="ServerFTAHTML"
-- Reg le end --
Create an XML le. Copy the text between "xml le start" and "xml le end" below, paste it in the XML le, and then save
the le as ServerFTAdef aultPolicy.xml.
-- xml le end --
From the current Group Policy Management Console, navigate to: Computer conguration > Administrative Templates
> Windows Components > File Explorer > Set a def ault associations conguration le, and provide the
ServerFTAdefaultPolicy.xml le you created.
To change the list of URL types for host to client redirection, set the following registry key on the server VDA.
Key: HKLM\Software\Wow6432Node\Citrix\SFTA
To remove URL types from the list, set DisableServerFTA and NoRedirectClasses:
Name: DisableServerFTA
Type: REG_DWORD
Data: 1
Name: NoRedirectClasses
Type: REG_MULT I_SZ
Data: Specify any combination of the values: http, https, rtsp, rtspu, pnm, or mms. Enter multiple values on separate
lines. For example:
http
https
rtsp
Name: ExtraURLProtocols
Type: REG_MULT I_SZ
Data: Specify any combination of URL types. Each URL type must include the :// sufx; separate multiple values with
semicolons. For example:
To enable host to client redirection for a specic set of web sites, set the following registry key on the server VDA.
Key: HKLM\Software\Wow6432Node\Citrix\SFTA
Name: ValidSites
Type: REG_MULT I_SZ
Data: Specify any combination of fully-qualied domain names (FQDNs). Enter multiple FQDNs on separate lines. An
FQDN may include a wildcard in the leftmost position only. T his matches a single level of domain, which is consistent
with the rules in RFC 6125. For example:
www.example.com
*.example.com
To use Internet Explorer 9 and later versions as a published browser, change the following registry key values on the server
VDA:
Keys:
HKLM\Software\Classes\htmlle\shell\opennew
HKLM\Software\Classes\http\shell\open
HKLM\Software\Classes\https\shell\open
HKCR\http\shell\open
HKCR\https\shell\open
HKCR\htmlle\shell\opennew
Change from:
Name: CommandID
Type: REG_SZ
Data: IE.Protocol
To:
Name: CommandID
Type: REG_SZ
Using GPU Passthrough, you can create VMs with exclusive access to dedicated graphics processing hardware. You can
install multiple GPUs on the hypervisor and assign VMs to each of these GPUs on a one-to-one basis.
Using GPU virtualization, multiple virtual machines can directly access the graphics processing power of a single physical GPU.
T he true hardware GPU sharing provides desktops suitable for users with complex and demanding design requirements. GPU
virtualization for NVIDIA GRID cards (see NVIDIA GRID) uses the same NVIDIA graphics drivers that are deployed on non-
virtualized operating systems. GPU virtualization is also supported for 5th and 6th Generation Intel CPUs with Intel Iris Pro
graphics with Intel GVT -g. For more information on these families of Intel processors, see 5th Generation Intel Core
Processors and 6th Generation Intel Core i5 Processors. GPU virtualization is also supported for AMD FirePro S-Series server
cards, see AMD Professional Graphics virtualization solution.
Adaptive H.264-based deep compression for optimal WAN and wireless performance. HDX 3D Pro uses CPU-based full-screen H.264
compression as the default compression technique for encoding. Hardware encoding is used with NVIDIA cards that support NVENC.
Lossless compression option for specialized use cases. HDX 3D Pro also offers a CPU-based lossless codec to support applications where
pixel-perfect graphics are required, such as medical imaging. True lossless compression is recommended only for specialized use cases
because it consumes significantly more network and processing resources.
When using lossless compression:
The lossless indicator, a system tray icon, notifies the user if the screen displayed is a lossy frame or a lossless frame. This helps when
the Visual Quality policy setting specifies Build to lossless. The lossless indicator turns green when the frames sent are lossless.
The lossless switch enables the user to change to Always Lossless mode anytime within the session. To select or deselect Lossless
anytime within a session, right-click the icon or use the shortcut ALT+SHIFT+1.
For lossless compression: HDX 3D Pro uses the lossless codec for compression regardless of the codec selected through policy.
For lossy compression: HDX 3D Pro uses the original codec, either the default or the one selected through policy.
Lossless switch settings are not retained for subsequent sessions. To use lossless codec for every connection, select Always lossless in
the Visual quality policy setting.
You can override the default shortcut, ALT+SHIFT+1, to select or deselect Lossless within a session. Configure a new registry setting at
HKLM\SOFTWARE\Citrix\HDX3D\LLIndicator.
Name: HKLM_HotKey, Type: String
The format to configure a shortcut combination is C=0|1, A=0|1, S=0|1, W=0|1, K=val. Keys must be comma "," separated. The order of
the keys does not matter.
A, C, S, W and K are keys, where C=Control, A=ALT, S=SHIFT, W=Win, and K=a valid key. Allowed values for K are 0-9, a-z, and any
virtual key code. For more information on virtual key codes, see Virtual-Key Codes on MSDN.
For example:
For F10, set K=0x79
For Ctrl + F10, set C=1, K=0x79
For Alt + A, set A=1, K=a or A=1, K=A or K=A, A=1
For Ctrl + Alt + 5, set C=1, A=1, K=5 or A=1, K=5, C=1
For Ctrl + Shift + F5, set A=1, S=1, K=0x74
Caut ion: Editing the registry incorrectly can cause serious problems that may require you to reinstall your operating system. Citrix
cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk.
Be sure to back up the registry before you edit it.
Dynamic resolution. You can resize the virtual desktop or application window to any resolution. Not e: The only supported method to change
the resolution is by resizing the VDA session window. Changing resolution from within the VDA session (using Control Panel > Appearance
and Personalization > Display > Screen Resolution) is not supported.
Support for NVIDIA GRID architecture. HDX 3D Pro supports NVIDIA GRID cards (see NVIDIA GRID) for GPU passthrough and GPU sharing.
NVIDIA GRID vGPU enables multiple VMs to have simultaneous, direct access to a single physical GPU, using the same NVIDIA graphics
drivers that are deployed on non-virtualized operating systems.
Support for VMware vSphere and VMware ESX using Virtual Direct Graphics Acceleration (vDGA) - You can use HDX 3D Pro with vDGA for
both RDS and VDI workloads.
Support for VMware vSphere/ESX using NVIDIA GRID vGPU and AMD MxGPU.
Support for Microsoft HyperV using Discrete Device Assignment in Windows Server 2016.
Support for Data Center Graphics with Intel Xeon Processor E3 Family. HDX 3D Pro supports multi-monitors (up to 3), console blanking,
custom resolution, and high frame-rate with the supported family of Intel processors. For more information, see http://www.citrix.com/intel
and http://www.intel.com/content/www/us/en/servers/data-center-graphics.html.
Support for AMD RapidFire on the AMD FirePro S-series server cards. HDX 3D Pro supports multi-monitors (up to 6), console blanking,
custom resolution, and high frame-rate. Note: HDX 3D Pro support for AMD MxGPU (GPU virtualization) works with VMWare vSphere vGPUs
only. XenServer and Hyper-V are supported with GPU passthrough. For more information, see AMD Virtualization Solution.
Access to a high-performance video encoder for NVIDIA GPUs and Intel Iris Pro graphics processors. T his feature is
controlled by a policy setting (enabled by default) and allows the use of hardware encoding for H.264 encoding (where
available). If such hardware is not available, the VDA will fall back to CPU-based encoding using the software video codec.
For more information, see Graphics policy settings.
When a user logs on to Citrix Receiver and accesses the virtual application or desktop, the Controller authenticates the
user and contacts the VDA for HDX 3D Pro to broker a connection to the computer hosting the graphical application.
T he VDA for HDX 3D Pro uses the appropriate hardware on the host to compress views of the complete desktop or
of just the graphical application.
T he desktop or application views and the user interactions with them are transmitted between the host computer and
the user device through a direct HDX connection between Citrix Receiver and the VDA for HDX 3D Pro.
When you use the installer's graphical interface to install a VDA for Windows Desktop OS, select Yes on the HDX 3D Pro
page. When using the command line interface, include the /enable_hdx_3d_pro option with the XenDesktop VdaSetup.exe
command.
To upgrade HDX 3D Pro, uninstall both the separate HDX 3D for Professional Graphics component and the VDA before
installing the VDA in HDX 3D Pro mode. Similarly, to switch from the standard VDA mode for Windows Desktop OS to the
3D Pro mode, uninstall the standard VDA and then install the VDA in HDX 3D Pro mode.
Generally best for virtual desktops without graphics Generally best for data center desktops with graphics
hardware acceleration, and for Remote PC Access. hardware acceleration, unless more than four monitors are
required.
Any GPU can be used for Remote PC Access, with some Supports GPU acceleration with any GPU, however console
app compatibility limitations: blanking, non-standard screen resolutions and true multi-
monitor support require NVIDIA GRID, Intel Iris Pro, or AMD
On Windows 7, 8, and 8.1, GPU acceleration for
RapidFire graphics.
DirectX feature levels up to 9.3. Some DirectX 10, 11,
12 applications may not run if they do not tolerate Leverages graphics vendor's driver for broadest application
fallback to DirectX 9. compatibility:
On Windows 10, GPU acceleration is provided for
All 3D APIs (DirectX or OpenGL) that the GPU supports.
windowed DirectX 10, 11, and 12 apps. DX 9 apps are
Full-screen 3D app support with Intel Iris Pro (Win10
rendered by WARP. DX apps cannot be used in full-
H.264 hardware encoding available with Intel Iris Pro H.264 hardware encoding available with Intel Iris Pro
graphics processors. graphics processors and NVIDIA cards.
T he NVIDIA GRID API provides direct access to the frame buffer of the GPU, providing the fastest possible frame rate for a
smooth and interactive user experience. If you install NVIDIA drivers before you install a VDA with HDX 3D Pro, NVIDIA
GRID is enabled by default.
To enable NVIDIA GRID on a VM, disable Microsoft Basic Display Adapter from the Device Manager. Run the following
command and then restart the VDA: NVFBCEnable.exe -enable -noreset
If you install NVIDIA drivers after you install a VDA with HDX 3D Pro, NVIDIA GRID is disabled. Enable NVIDIA GRID by using
the NVFBCEnable tool provided by NVIDIA.
To disable NVIDIA GRID, run the following command and then restart the VDA: NVFBCEnable.exe -disable -noreset
You can install the Intel graphics drivers before installing the VDA. T he following step is only required if you install Intel
drivers after you install a VDA with HDX 3D Pro or if the Intel driver has been updated.
In order to enable the Intel drivers required for multi-monitor support, run the following command using the
GfxDisplayTool.exe, then restart the VDA: Gf xDisplayTool.exe -vd enable
Note
Uninstalling NVIDIA or Intel drivers within ICA sessions is not supported.
To use HDX 3D Pro with multiple monitors, ensure that the host computer is congured with at least as many monitors as
are attached to user devices. T he monitors attached to the host computer can be either physical or virtual.
Do not attach a monitor (either physical or virtual) to a host computer while a user is connected to the virtual desktop or
application providing the graphical application. Doing so can cause instability for the duration of a user's session.
Let your users know that changes to the desktop resolution (by them or an application) are not supported while a graphical
application session is running. After closing the application session, a user can change the resolution of the Desktop Viewer
When multiple users share a connection with limited bandwidth (for example, at a branch ofce), Citrix recommends that
you use the Overall session bandwidth limit policy setting to limit the bandwidth available to each user. T his ensures that
the available bandwidth does not uctuate widely as users log on and off. Because HDX 3D Pro automatically adjusts to
make use of all the available bandwidth, large variations in the available bandwidth over the course of user sessions can
negatively impact performance.
For example, if 20 users share a 60 Mbps connection, the bandwidth available to each user can vary between 3 Mbps and
60 Mbps, depending on the number of concurrent users. To optimize the user experience in this scenario, determine the
bandwidth required per user at peak periods and limit users to this amount at all times.
For users of a 3D mouse, Citrix recommends that you increase the priority of the Generic USB Redirection virtual channel to
0. For information about changing the virtual channel priority, see CT X128190.
Since Windows Server is a multi-user operating system, a GPU accessed by XenApp can be shared by multiple users without
the need for GPU virtualization (vGPU).
For procedures that involve editing the registry, use caution: Editing the registry incorrectly can cause serious problems that
may require you to reinstall your operating system. Citrix cannot guarantee that problems resulting from the incorrect use
of Registry Editor can be solved. Use Registry Editor at your own risk. Be sure to back up the registry before you edit it.
GPU sharing
GPU Sharing enables GPU hardware rendering of OpenGL and DirectX applications in remote desktop sessions; it has the
following characteristics:
Can be used on bare metal or virtual machines to increase application scalability and performance.
Enables multiple concurrent sessions to share GPU resources (most users do not require the rendering performance of a
dedicated GPU).
Requires no special settings.
You can install multiple GPUs on a hypervisor and assign VMs to each of these GPUs on a one-to-one basis: either install a
graphics card with more than one GPU, or install multiple graphics cards with one or more GPUs each. Mixing heterogeneous
graphics cards on a server is not recommended.
Virtual machines require direct passthrough access to a GPU, which is available with Citrix XenServer, VMware vSphere vDGA
and Intel GVT -d. When HDX 3D Pro is used with GPU Passthrough, each GPU in the server supports one multi-user virtual
machine.
Some applications handle video RAM shortages better than others. If the hardware becomes extremely overloaded, this
could cause instability or a crash of the graphics card driver. Limit the number of concurrent users to avoid such issues.
To conrm that GPU acceleration is occurring, use a third-party tool such as GPU-Z. GPU-Z is available at
http://www.techpowerup.com/gpuz/.
DirectX, Direct3D, and WPF rendering is only available on servers with a GPU that supports a display driver interface (DDI)
version of 9ex, 10, or 11.
On Windows Server 2008 R2, DirectX and Direct3D require no special settings to use a single GPU.
On Windows Server 2016 and Windows Server 2012, Remote Desktop Services (RDS) sessions on the RD Session Host
server use the Microsoft Basic Render Driver as the default adapter. T o use the GPU in RDS sessions on Windows Server
2012, enable the Use the hardware default graphics adapter for all Remote Desktop Services sessions setting in the
group policy Local Computer Policy > Computer Configuration > Administrative T emplates > Windows Components >
Remote Desktop Services > Remote Desktop Session Host > Remote Session Environment.
T o enable WPF applications to render using the server's GPU, create the following settings in the registry of the server
running Windows Server OS sessions:
[HKEY_LOCAL_MACHINE\SOFT WARE\Citrix\CtxHook\AppInit_Dlls\Multiple Monitor Hook]
"EnableWPFHook"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFT WARE\Wow6432Node\Citrix\CtxHook\AppInit_Dlls\Multiple Monitor Hook]
"EnableWPFHook"=dword:00000001
GPU acceleration of CUDA and OpenCL applications running in a user session is disabled by default.
T o use the CUDA acceleration POC features, enable the following registry settings:
[HKEY_LOCAL_MACHINE\SOFT WARE\Citrix\CtxHook\AppInit_Dlls\Graphics Helper] "CUDA"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFT WARE\Wow6432Node\Citrix\CtxHook\AppInit_Dlls\Graphics Helper]
"CUDA"=dword:00000001
T o use the OpenCL acceleration POC features, enable the following registry settings:
[HKEY_LOCAL_MACHINE\SOFT WARE\Citrix\CtxHook\AppInit_Dlls\Graphics Helper] "OpenCL"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFT WARE\Wow6432Node\Citrix\CtxHook\AppInit_Dlls\Graphics Helper]
"OpenCL"=dword:00000001
Important: Most audio features are transported using the ICA stream and are secured in the same way as other ICA traffic.
User Datagram Protocol (UDP) audio uses a separate, unsecured, transport mechanism when NetScaler Access Gateway is
not in path. If NetScaler Access Gateway is configured to access XenApp and XenDesktop resources, then UDP audio
traffic between the endpoint device and NetScaler Access Gateway is secured using DT LS protocol.
Audio quality
In general, higher sound quality consumes more bandwidth and server CPU utilization by sending more audio data to user
devices. Sound compression allows you to balance sound quality against overall session performance; use Citrix policy
settings to congure the compression levels to apply to sound les.
By default, the Audio quality policy setting is set to High - high denition audio when TCP transport is used, and to Medium
- optimized-for-speech when UDP transport (recommended) is used. T he High Denition audio setting provides high delity
stereo audio, but consumes more bandwidth than other quality settings. Do not use this audio quality for non-optimized
voice chat or video chat applications (such as softphones), because it may introduce latency into the audio path that is not
suitable for real-time communications. T he optimized for speech policy setting is recommended for real-time audio,
regardless of the selected transport protocol.
Consider creating separate policies for groups of dial-up users and for those who connect over a LAN or WAN. Over
connections where bandwidth is limited, download speed is often more important to users than sound quality. T herefore,
you may want to create one policy for low speed connections that applies high compression levels to sound, and another
for LAN or WAN connections that applies lower compression levels.
For setting details, see Audio policy settings. Remember to enable Client audio settings on the user device; see Audio
setting policies for user devices.
To allow users to receive audio from an application on a server through speakers or other sound devices (such as
headphones) on the user device, leave the Client audio redirection setting at its default (Allowed).
Client audio mapping may cause a heavy load on the servers and the network; however, prohibiting client audio redirection
disables all HDX audio functionality.
For setting details see Audio policy settings. Remember to enable client audio settings on the user device; see Audio setting
policies for user devices.
To allow users to record audio using input devices such as microphones on the user device leave the Client microphone
redirection setting at its default (Allowed).
For security, users are alerted when servers that are not trusted by their user devices try to access microphones, and can
choose to accept or reject access prior to using the microphone. Users can disable this alert on Citrix Receiver.
T he Audio Plug N Play policy setting allows or prevents the use of multiple audio devices to record and play sound. T his
setting is Enabled by default. Audio plug n play enables audio devices to be recognized even if they are not plugged in until
after the user's session has been established.
Audio redirection bandwidth limit and Audio redirection bandwidth limit percent
T he Audio redirection bandwidth limit policy setting species the maximum bandwidth (in kilobits per second) for a playing
and recording audio in a session. T he Audio redirection bandwidth limit percent setting species the maximum bandwidth
for audio redirection as a percentage of the total available bandwidth. By default, zero (no maximum) is specied for both
settings. If both settings are congured, the one with the lowest bandwidth limit is used.
For setting details, see Bandwidth policy settings. Remember to enable Client audio settings on the user device; see Audio
setting policies for user devices.
Audio over UDP Real-time Transport and Audio UDP port range
By default, Audio over UDP Real-time T ransport is allowed (when selected at time of installation), opening up a UDP port on
the server for connections that use Audio over UDP Real-time T ransport. Citrix recommends configuring UDP/RT P for
audio, to ensure the best possible user experience in the event of network congestion or packet loss.
Important: Audio data transmitted with UDP is not encrypted when NetScaler Access Gateway is not in path. If NetScaler
Access Gateway is configured to access XenApp and XenDesktop resources then audio traffic between the endpoint
device and NetScaler Access Gateway is secured using DT LS protocol.
T he Audio UDP port range species the range of port numbers that the Virtual Delivery Agent (VDA) uses to exchange
audio packet data with the user device.
For setting details about Audio over UDP Real-time Transport, see Audio policy settings; for details about Audio UDP port
range, see Multi-stream connections policy settings. Remember to enable Client audio settings on the user device; see
Audio setting policies for user devices.
1. Load the group policy templates by following Configure Receiver with the Group Policy Object template.
2. In the Group Policy Editor, expand Administrative T emplates > Citrix Components > Citrix Receiver > User Experience.
3. For Client audio settings, select Not Conf igured, Enabled, or Disabled.
Not Conf igured. By default Audio Redirection is enabled with high quality audio or previously configured custom
audio settings.
Enabled. Audio redirection is enabled with selected options.
Disabled. Audio redirection is disabled.
4. If you select Enabled, choose a sound quality. For UDP audio, use Medium (default).
5. For UDP audio only, select Enable Real-Time Transport and then set the range of incoming ports to open in the local
Windows firewall.
As an Administrator, if you do not have control on endpoint devices to make these changes, for example in the case of
BYOD or home computers, then use the default.ica attributes from StoreFront to enable UDP Audio.
command COPY
If UDP Audio is enabled by editing default.ica, then UDP audio will enabled for all users who are using that store.
Users in audio or video conferences may hear an echo. Echoes usually occur when speakers and microphones are too close
to each other. For that reason, Citrix recommends the use of headsets for audio and video conferences.
HDX provides an echo cancellation option (enabled by default) that minimizes echo. T he effectiveness of echo cancellation
is sensitive to the distance between the speakers and the microphone; devices should not be too close or too far away
from each other.
You can change a registry setting to disable echo cancellation. When working in the registry, use caution: editing the
registry incorrectly can cause serious problems that may require you to reinstall your operating system. Citrix cannot
Multiple channel streaming connections are supported for Virtual Delivery Agents (VDAs) installed on Windows 10, Windows
8 and Windows 7 machines. Work with your network administrator to ensure the Common Gateway Protocol (CGP) ports
congured in the Multi-Port Policy setting are assigned correctly on the network routers.
Quality of service (QoS) is supported only when multiple session reliability ports, or the CGP ports, are congured.
Caution: Use transport security when using this feature. Citrix recommends using Internet Protocol Security (IPsec) or
T ransport Layer Security (T LS). T LS connections are supported only when the connections traverse a NetScaler Gateway
that supports multi-stream ICA. On an internal corporate network, multi-stream connections with T LS are not supported.
T o set quality of service for multiple streaming connections, add the following Citrix policy settings to a policy (see Multi-
stream connections policy settings for details):
Multi-Port policy - T his setting specifies ports for ICA traffic across multiple connections, and establishes network
priorities.
Select a priority from the CGP default port priority list; by default, the primary port (2598) has a High priority.
Enter additional CGP ports in CGP port1, CGP port2, and CGP port3 as needed, and identify priorities for each. Each
port must have a unique priority.
Explicitly congure the rewalls on VDAs to allow the additional TCP trafc.
Multi-Stream computer setting - T his setting is disabled by default. If you use Citrix NetScaler SD-WAN with Multi-
Stream support in your environment, you do not need to configure this setting. Configure this policy setting when using
third-party routers or legacy Branch Repeaters to achieve the desired Quality of Service (QoS).
Multi-Stream user setting - T his setting is disabled by default.
For policies containing these settings to take effect, users must log off and then log on to the network.
Monitors
Mice
Keyboards
VoIP phones
Headsets
Webcams
Scanners
Cameras
Printers
Drives
Smart card readers
Drawing tablets
Signature pads
Optimized support offers an improved user experience with better performance and bandwidth efciency over a WAN.
Optimized support is usually the best option, especially in high latency or security-sensitive environments.
HDX technology provides generic USB redirection for specialty devices that don't have optimized support or where it is
unsuitable, for example:
T he USB device has additional advanced features that are not part of optimized support, such as a mouse or webcam
with additional buttons.
Users need functions which are not part of optimized support, such as burning a CD.
T he USB device is a specialized device, such as test and measurement equipment or an industrial controller.
An application requires direct access to the device as a USB device.
T he USB device only has a Windows driver available. For example, a smart card reader may not have a driver available for
Citrix Receiver for Android.
T he version of Citrix Receiver does not provide optimized support for this type of USB device.
Note
Generic USB redirection can be used together with optimized support. If you enable generic USB redirection, configure Citrix USB
devices policy settings for both generic USB redirection and optimized support to avoid inconsistent and unexpected behavior.
T he Citrix policy setting Client USB device optimization rules is a specific setting for generic USB redirection, for a particular of USB
device. It is not optimized support as described here.
Client USB plug and play device redirection is a related feature that provides optimized support for devices such as cameras and
media players that use the Picture T ransfer Protocol (PT P) or Media T ransfer Protocol (MT P). Client USB plug and play redirection
is not part of generic USB redirection. Client USB plug and play redirection is available on Server OS only.
With generic USB redirection, for some types of USB devices, network latency and bandwidth can affect user experience
and USB device operation. For example, timing-sensitive devices may not operate correctly over high-latency low-bandwidth
links. Use optimized support instead where possible.
Some USB devices require high bandwith to be usable, for example a 3D mouse (used with 3D apps that also typically
require high bandwidth). You can avoid performance problems using Citrix polices. For more information, see Bandwidth
policy settings for Client USB device redirection, and Multi-stream connection policy settings.
Some USB devices are security-sensitive by nature, for example, smart card readers, ngerprint readers, and signature pads.
Other USB devices such as USB storage devices can be used to transmit data that may be sensitive.
USB devices are often used to distribute malware. Conguration of Citrix Receiver, XenApp and XenDesktop can reduce, but
not eliminate, risk from these USB devices. T his applies whether generic USB redirection or optimized support is used.
Important
For security-sensitive devices and data, always secure the HDX connection using either T LS or IPSec.
Only enable support for the USB devices that you need. Congure both generic USB redirection and optimized support to meet this
need.
Provide guidance to users for safe use of USB devices: only use USB devices that have been obtained from a trustworthy source;
not to leave USB devices unattended in open environments - for example, a ash drive in an Internet cafe; explain the risks of using
a USB device on more than one computer.
Generic USB redirection is supported for USB 2.0 and earlier devices. Generic USB redirection is also supported for USB 3.0
devices connected to a USB 2.0 or USB 3.0 port. Generic USB redirection does not support USB features introduced in USB
3.0, such as super speed.
For Citrix Receiver versions, see the Citrix Receiver feature matrix.
If you are using earlier versions of Citrix Receiver, refer to Citrix Receiver documentation to conrm that generic USB
redirection is supported. Refer to Citrix Receiver documentation for any restrictions on USB device types that are
supported.
Generic USB redirection is supported for desktop sessions from VDA for Server OS version 7.6 through current, with these
restrictions:
Some types of USB devices are not supported for generic USB redirection because it would not be useful to redirect them:
USB modems.
USB network adapters.
USB hubs. T he USB devices connected to USB hubs are handled individually.
USB virtual COM ports. Use COM port redirection rather than generic USB Redirection.
For information on USB devices that have been tested with generic USB redirection, see CT X123569. Some USB devices do
not operate correctly with generic USB redirection.
You can control which types of USB devices use generic USB redirection. T his is separately congurable:
On the VDA, using Citrix policy settings. For more information, see Redirection of client drives and user devices and USB
devices policy settings in the Policy settings reference
In Citrix Receiver, using Citrix Receiver-dependent mechanisms. For example, Citrix Receiver for Windows is configured
with registry settings that can be controlled by an Administrative T emplate. By default, USB redirection is allowed for
certain classes of USB devices and denied for others; for more information, see Configure your XenDesktop environment
in the Citrix Receiver for Windows documentation for details.
If two different organizations or departments are responsible for Citrix Receiver and VDA they can enforce control
separately. T his would apply when a user in one organization accesses an application in another organization.
If USB devices should be allowed only for certain users or for users only connecting over LAN (rather than with NetScaler
Gateway), this can be controlled with Citrix policy settings.
To enable generic USB Redirection, congure both Citrix policy settings and Citrix Receiver.
1. Add the Client USB device redirection to a policy and set its value to Allowed.
In Citrix Receiver:
3. Enable USB support when you install Citrix Receiver on user devices. You can do this using an Administrative template or in
Citrix Receiver for Windows > Preferences > Connections.
For thin clients, consult the manufacturer for details of USB support and any required conguration.
USB devices are automatically redirected when USB support is enabled and the USB user preference settings are set to
automatically connect USB devices. USB devices are also automatically redirected when operating in Desktop Appliance
mode and the connection bar is not present.
Users can explicitly redirect devices that are not automatically redirected by selecting the devices from the USB device list.
Users can get more help on how to do this in the Citrix Receiver for Windows user help article, Display your devices in the
Desktop Viewer.
In Citrix Receiver, manually select the USB device to use generic USB redirection, choose Switch to generic from
the Devices tab of the Preferences dialog box.
Automatically select the USB device to use generic USB redirection, by configuring auto-redirection for the USB device
type (for example, AutoRedirectStorage=1) and set USB user preference settings to automatically connect USB devices.
For more information, see CT X123015.
Note: Only congure generic USB redirection for use with a webcam if the webcam is found to be incompatible with HDX
multimedia redirection.
To prevent USB devices from ever being listed or redirected, you can specify device rules for Citrix Receiver and the VDA.
For generic USB redirection, you will need to know at least the USB device class and subclass. Not all USB devices use their
obvious USB device class and subclass. For example:
For more precise control, you will also need to know the Vendor ID, Product ID, and Release ID. You can get this
information from the device vendor.
Important
Malicious USB devices may present USB device characteristics that do not match their intended usage. Device rules are not intended
You control the USB devices available for generic USB redirection by specifying USB device redirection rules for both VDA
and Citrix Receiver, to override the default USB policy rules.
Edit the administrator override rules for the Server OS machines through group policy rules. T he Group Policy
Management Console is included on the installation media:
For x64: dvd root \os\lang\x64\Citrix Policy\ CitrixGroupPolicyManagement_x64.msi
For x86: dvd root \os\lang\x86\Citrix Policy\ CitrixGroupPolicyManagement_x86.msi
Edit the user device registry. An Administrative template (ADM file) is included on the installation media so you can
change the user device through Active Directory Group Policy:
dvd root \os\lang\Support\Configuration\icaclient_usb.adm
Warning
Editing the registry incorrectly can cause serious problems that may require you to reinstall your operating system. Citrix cannot
guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk. Be
sure to back up the registry before you edit it.
T he product default rules are stored in HKLM\SOFT WARE\Citrix\PortICA\GenericUSB\DeviceRules. Do not edit these
product default rules. Instead, use them as a guide for creating administrator override rules as explained below. T he GPO
overrides are evaluated before the product default rules.
Tag Description
Class Class from either the device descriptor or an interface descriptor; see the USB Web site at
http://www.usb.org/ for available USB Class Codes
Note
If you are using the ADM template le, you must create rules on a single line, as a semicolon-separated list.
Examples:
T he following example shows an administrator-defined USB policy rule for vendor and product identifiers:
Allow: VID=046D PID=C626 # Allow Logitech SpaceNavigator 3D Mouse
Deny: VID=046D # Deny all Logitech products
T he following example shows an administrator-defined USB policy rule for a defined class, sub-class, and protocol:
Deny: Class=EF SubClass=01 Prot=01 # Deny MS Active Sync devices
Allow: Class=EF SubClass=01 # Allow Sync devices
Allow: Class=EF # Allow all USB-Miscellaneous devices
Users can connect a USB device before or after starting a virtual session.
Optimized support is provided for USB mass storage devices. T his is part of XenApp and XenDesktop client drive mapping.
Drives on the user device are automatically mapped to drive letters on the virtual desktop when users log on. T he drives are
displayed as shared folders with mapped drive letters. To congure client drive mapping, use the Client removable
drives setting in the File Redirection policy settings section of the ICA policy settings.
With USB mass storage devices you can use either Client drive mapping or generic USB redirection, or both, controlled by
If both generic USB redirection and the client drive mapping policies are enabled and a mass storage device is inserted either
before or after a session starts, it will be redirected using client drive mapping. When both generic USB redirection and the
client drive mapping policies are enabled and a device is congured for automatic redirection (see
http://support.citrix.com/article/CT X123015) and a mass storage device is inserted either before or after a session starts, it
will be redirected using generic USB redirection.
Note
USB redirection is supported over lower bandwidth connections, for example 50 Kbps, however copying large les will not work.
You can control whether users can copy les from their virtual environments to their user devices. By default, les and
folders on mapped client-drives are available in read/write mode from within the session.
To prevent users from adding or modifying les and folders on mapped client-devices, enable the Read-only client drive
access policy setting. When adding this setting to a policy, make sure the Client drive redirection setting is set
to Allowed and is also added to the policy.
Flash has been the standard, but it requires a plug-in, doesn't work on all devices, and has higher battery usage in mobile
devices. Companies like Youtube, NetFlix.com, and newer browsers versions of Mozilla, Google, and Microsoft are moving to
HT ML5 making it the new standard.
For an example of a progressive download, see the HT ML5 video redirection test page. Use the developer tools in your
browser to inspect the video element in the webpage and nd the source (an mp4 container format) in the HT ML5 video
tag:
Requirements
We support only redirection for progressive downloads in mp4 format. We don't support WebM and Adaptive bitrate
streaming technologies like DASH/HLS.
We support:
Control these by using policies. For more information, see Multimedia policy settings.
Troubleshooting Tips
Errors might occur when the webpage tries to execute HdxVideo.js. If the JavaScript fails to load, the HT ML5 redirection
mechanism fails. Ensure there are no errors related to HdxVideo.js by inspecting the console in the developers tool windows
of your browser. For example:
You can apply policy settings to physical and virtual machines or to users. You can apply settings to individual users at the
local level or in security groups in Active Directory. T he congurations dene specic criteria and rules, and if you do not
specically assign the policies, the settings are applied to all connections.
You can apply policies on different levels of the network. Policy settings placed at the Organizational Unit GPO level take
the highest precedence on the network. Policies at the Domain GPO level override policies on the Site Group Policy Object
level, which override any conicting policies on both the Microsoft and Citrix Local Policies levels.
All Citrix Local Policies are created and managed in the Citrix Studio console and stored in the Site Database; whereas,
Group Policies are created and managed with the Microsoft Group Policy Management Console (GPMC) and stored in
Active Directory. Microsoft Local Policies are created in the Windows Operating System and are stored in the registry.
Studio uses a Modeling Wizard to help administrators compare conguration settings within templates and policies to help
eliminate conicting and redundant settings. Administrators can set GPOs using the GPMC to congure settings and apply
them to a target set of users at different levels of the network.
T hese GPOs are saved in Active Directory, and access to the management of these settings is generally restricted for most
of IT for security.
Settings are merged according to priority and their condition. Any disabled setting overrides a lower-ranked enabled setting.
Uncongured policy settings are ignored and do not override lower-ranked settings.
Local policies can also have conicts with group policies in the Active Directory, which could override each other depending
on the situation.
When creating policies for groups of users, devices, and machines, some members may have different requirements and
would need exceptions to some policy settings. Exceptions are made by way of lters in Studio and the GPMC that
determine who or what the policy affects.
Note: Mixing Windows and Citrix policies in the same GPO is not supported.
Related content
You can use the following tools to work with Citrix policies.
Studio - If you are a Citrix administrator without permission to manage group policy, use Studio to create policies for
your site. Policies created using Studio are stored in the site database and updates are pushed to the virtual desktop
either when that virtual desktop registers with the broker or when a user connects to that virtual desktop.
Local Group Policy Editor (Microsoft Management Console snap-in) - If your network environment uses Active
Directory and you have permission to manage group policy, you can use the Local Group Policy Editor to create policies
for your Site. T he settings you configure affect the Group Policy Objects (GPOs) you specify in the Group Policy
Management Console.
Important: You must use the Local Group Policy Editor to configure some policy settings, including those related to
registering VDAs with a Controller and those related to Microsoft App-V servers.
However, if a conflict occurs, policy settings that are processed last can overwrite those that are processed earlier. T his
means that policy settings take precedence in the following order:
1. Organizational Units
2. Domain-level GPOs
3. Site-level GPOs
4. XenApp or XenDesktop Site GPO (stored in the Site database)
5. Local GPO
For example, a Citrix administrator uses Studio to create a policy (Policy A) that enables client le redirection for the
company's sales employees. Meanwhile, another administrator uses the Group Policy Editor to create a policy (Policy B) that
disables client le redirection for sales employees. When the sales employees log on to the virtual desktops, Policy B is
applied and Policy A is ignored because Policy B was processed at the domain level and Policy A was processed at the
XenApp or XenDesktop Site GPO level.
However, when a user launches an ICA or Remote Desktop Protocol (RDP) session, Citrix session settings override the same
settings congured in an Active Directory policy or using Remote Desktop Session Host Conguration. T his includes
settings that are related to typical RDP client connection settings such as Desktop wallpaper, Menu animation, and View
window contents while dragging.
In the Local Group Policy Editor, policies and settings appear in two categories: Computer Conguration and User
Conguration. Each category has a Citrix Policies node. See the Microsoft documentation for details about navigating and
using this snap-in.
In Studio, policy settings are sorted into categories based on the functionality or feature they affect. For example, the
Profile management section contains policy settings for Profile management.
Computer settings (policy settings applying to machines) define the behavior of virtual desktops and are applied when a
virtual desktop starts. T hese settings apply even when there are no active user sessions on the virtual desktop. User
settings define the user experience when connecting using ICA. User policies are applied when a user connects or
reconnects using ICA. User policies are not applied if a user connects using RDP or logs on directly to the console.
T o access policies, settings, or templates, select Policies in the Studio navigation pane.
T he Policies tab lists all policies. When you select a policy, tabs to the right display: Overview (name, priority,
enabled/disabled status, and description), Settings (list of configured settings), and Assigned to (user and machine
objects to which the policy is currently assigned). For more information, see Create policies.
T he Templates tab lists Citrix-provided and custom templates you created. When you select a template, tabs to the
right display: Description (why you might want to use the template) and Settings (list of configured settings). For more
information, see Policy templates.
T he Comparison tab enables you to compare the settings in a policy or template with those in other policies or
templates. For example, you might want to verify setting values to ensure compliance with best practices. For more
information, see Compare, prioritize, model, and troubleshoot policies.
From the Modelling tab, you can simulate connection scenarios with Citrix policies. For more information, see
Compare, prioritize, model, and troubleshoot policies.
T o search for a setting in a policy or template:
1. Select the policy or template.
2. Select Edit policy or Edit T emplate in the Actions pane.
3. On the Settings page, begin to type the name of the setting.
You can rene your search by selecting a specic product version, selecting a category (for example, Bandwidth), or by
selecting the View selected only check box or selecting to search only the settings that have been added to the
selected policy. For an unltered search, select All Settings.
You can rene your search by selecting a specic product version or by selecting a category. For an unltered search, select
A policy, once created, is completely independent of the template used. You can use the Description eld on a new policy
to keep track of the source template used.
In Studio, policies and templates are displayed in a single list regardless of whether they contain user, computer or both
types of settings and can be applied using both user and computer lters.
In Group Policy Editor, Computer and User settings must be applied separately, even if created from a template that
contains both types of settings. In this example choosing to use Very High Denition User Experience in Computer
Conguration:
Legacy Graphics mode is a Computer setting that will be used in a policy created from this template.
T he User settings, grayed out, will not be used in a policy created from this template.
A source for creating your own policies and templates to share between sites.
A reference for easier comparison of results between deployments as you will be able to quote the results, for example,
"..when using Citrix template x or y..".
A method for communicating policies with Citrix Support or trusted third parties by importing or exporting templates.
Policy templates can be imported or exported. For additional templates and updates to the built-in templates, see
CT X202000.
Very High Def inition User Experience. T his template enforces default settings which maximize the user experience.
Use this template in scenarios where multiple policies are processed in order of precedence.
High Server Scalability. Apply this template to economize on server resources. T his template balances user experience
and server scalability. It offers a good user experience while increasing the number of users you can host on a single
server. T his template does not use video codec for compression of graphics and prevents server side multimedia
rendering.
High Server Scalability-Legacy OS. T his High Server Scalability template applies only to VDAs running Windows Server
2008 R2 or Windows 7 and earlier. T his template relies on the Legacy graphics mode which is more efficient for those
operating systems.
Optimized f or CloudBridge. Apply this template for users working from branch offices with CloudBridge for optimizing
delivery of XenDesktop. NetScaler SD-WAN is the new name for CloudBridge.
Optimized f or WAN. T his template is intended for task workers in branch offices using a shared WAN connection or
remote locations with low bandwidth connections accessing applications with graphically simple user interfaces with
little multimedia content. T his template trades off video playback experience and some server scalability for optimized
bandwidth efficiency.
Optimized f or WAN-Legacy OS. T his Optimized for WAN template applies only to VDAs running Windows Server 2008
R2 or Windows 7 and earlier. T his template relies on the Legacy graphics mode which is more efficient for those
operating systems.
Security and Control. Use this template in environments with low tolerance to risk, to minimize the features enabled by
default in XenApp and XenDesktop. T his template includes settings which will disable access to printing, clipboard,
peripheral devices, drive mapping, port redirection, and Flash acceleration on user devices. Applying this template may use
more bandwidth and reduce user density per server.
While we recommend using the built-in Citrix templates with their default settings, you will nd settings that do not have a
specic recommended value, for example, Overall session bandwidth limit, included in the Optimized for WAN templates. In
this case, the template exposes the setting so the administrator will understand this setting is likely to apply to the
scenario.
Note
Built-in templates are created and updated by Citrix. You cannot modify or delete these templates.
After you click Finish, the new template appears on the Templates tab.
To import a template:
To export a template:
From the Group Policy Editor, expand Computer Configuration or User Configuration. Expand the Policies node and then
select Citrix Policies. Choose the appropriate action below.
Task Instruction
Create a new template from an existing On the Policies tab, select the policy and then select Actions > Save as
policy T emplate.
Create a new policy from an existing On the T emplates tab, select the template and then click New Policy.
template
Create a new template from an existing On the T emplates tab, select the template and then click New
template T emplate.
View template settings On the T emplates tab, select the template and then click the Settings
tab.
View a summary of template properties On the T emplates tab, select the template and then click the Properties
tab.
View template prerequisites On the T emplates tab, select the template and then click the
Prerequisites tab.
Policy templates are stored on the machine where the policy management package was installed. T his machine is either the
Delivery Controller machine or the Group Policy Objects management machine - not the XenApp and XenDesktop Site's
database. T his means that the policy template les are controlled by Windows administrative permissions rather than Site's
Delegated Administration roles and scopes.
As a result, an administrator with read-only permission in the Site can, for example, create new templates. However,
because templates are local les, no changes are actually made to your environment.
Custom templates are only visible to the user account that creates them and stored in the users Windows prole. To
expose a custom template further, create a policy from it or export it to a shared location.
If you already created a policy that applies to a group, consider editing that policy and conguring the appropriate settings,
instead of creating another policy. Avoid creating a new policy solely to enable a specic setting or to exclude the policy
from applying to certain users.
When you create a new policy, you can base it on settings in a policy template and customize settings as needed, or you
can create it without using a template and add all the settings you need.
In Citrix Studio, new policies created are set to Disabled unless the Enable policy checkbox is explicitly checked.
Policy settings
Policy settings can be enabled, disabled, or not congured. By default, policy settings are not congured, which means they
are not added to a policy. Settings are applied only when they are added to a policy.
In addition, some settings control the effectiveness of dependent settings. For example, Client drive redirection controls
whether or not users are allowed to access the drives on their devices. To allow users to access their network drives, both
this setting and the Client network drives setting must be added to the policy. If the Client drive redirection setting is
disabled, users cannot access their network drives, even if the Client network drives setting is enabled.
In general, policy setting changes that impact machines go into effect either when the virtual desktop restarts or when a
user logs on. Policy setting changes that impact users go into effect the next time users log on. If you are using Active
Directory, policy settings are updated when Active Directory re-evaluates policies at 90-minute intervals and applied either
when the virtual desktop restarts or when a user logs on.
For some policy settings, you can enter or select a value when you add the setting to a policy. You can limit conguration
of the setting by selecting Use default value; this disables conguration of the setting and allows only the setting's default
value to be used when the policy is applied, regardless of the value that was entered before selecting Use default value.
As best practice:
Assign policies to groups rather than individual users. If you assign policies to groups, assignments are updated
automatically when you add or remove users from the group.
Do not enable conflicting or overlapping settings in Remote Desktop Session Host Configuration. In some cases,
Remote Desktop Session Host Configuration provides similar functionality to Citrix policy settings. When possible, keep
all settings consistent (enabled or disabled) for ease of troubleshooting.
Disable unused policies. Policies with no settings added create unnecessary processing.
When creating a policy, you assign it to certain user and machine objects; that policy is applied to connections according to
specic criteria or rules. In general, you can add as many assignments as you want to a policy, based on a combination of
criteria. If you specify no assignments, the policy is applied to all connections.
Citrix CloudBridge Whether or not a user session is launched through Citrix CloudBridge.
Note: You can add only one Citrix CloudBridge assignment to a policy.
Client IP Address IP address of the user device used to connect to the session.
IPv4 examples: 12.0.0.0, 12.0.0.*, 12.0.0.1-12.0.0.70, 12.0.0.1/24
IPv6 examples: 2001:0db8:3c4d:0015:0:0:abcd:ef12, 2001:0db8:3c4d:0015::/54
Delivery Group type Type of desktop or application: private desktop, shared desktop, private application, or shared
application.
Tag Tags.
Note: To ensure that policies are applied correctly when using tags, install the hotx
at CT X142439.
When a user logs on, all policies that match the assignments for the connection are identied. T hose policies are sorted
into priority order and multiple instances of any setting are compared. Each setting is applied according to the priority
Important: When configuring both Active Directory and Citrix policies using the Group Policy Management Console,
assignments and settings may not be applied as expected. For more information, see CT X127461
A policy named "Unfiltered" is provided by default.
If you use Studio to manage Citrix policies, settings you add to the Unfiltered policy are applied to all servers, desktops,
and connections in a Site.
If you use the Local Group Policy Editor to manage Citrix policies, settings you add to the Unfiltered policy are applied to
all Sites and connections that are within the scope of the Group Policy Objects (GPOs) that contain the policy. For
example, the Sales OU contains a GPO called Sales-US that includes all members of the US sales team. T he Sales-US GPO
is configured with an Unfiltered policy that includes several user policy settings. When the US Sales manager logs on to
the Site, the settings in the Unfiltered policy are automatically applied to the session because the user is a member of
the Sales-US GPO.
An assignment's mode determines if the policy is applied only to connections that match all the assignment criteria. If the
mode is set to Allow (the default), the policy is applied only to connections that match the assignment criteria. If the mode
is set to Deny, the policy is applied if the connection does not match the assignment criteria. T he following examples
illustrate how assignment modes affect Citrix policies when multiple assignments are present.
Example: Assignments of like type with dif f ering modes - In policies with two assignments of the same type, one
set to Allow and one set to Deny, the assignment set to Deny takes precedence, provided the connection satisfies both
assignments. For example:
Policy 1 includes the following assignments:
Assignment A specifies the Sales group; the mode is set to Allow
Assignment B specifies the Sales manager's account; the mode is set to Deny
Because the mode for Assignment B is set to Deny, the policy is not applied when the Sales manager logs on to the Site,
even though the user is a member of the Sales group.
Example: Assignments of dif f ering type with like modes - In policies with two or more assignments of differing
types, set to Allow, the connection must satisfy at least one assignment of each type in order for the policy to be
applied. For example:
Policy 2 includes the following assignments:
Assignment C is a User assignment that specifies the Sales group; the mode is set to Allow
Assignment D is a Client IP Address assignment that specifies 10.8.169.* (the corporate network); the mode is set to
Allow
When the Sales manager logs on to the Site from the ofce, the policy is applied because the connection satises both
assignments.
From the Group Policy Editor, expand Computer Configuration or User Configuration. Expand the Policies node and then
select Citrix Policies. Choose the appropriate action below.
Task Instruction
Edit an existing policy On the Policies tab, select the policy and then click Edit.
Change the priority of an existing On the Policies tab, select the policy and then click either Higher or Lower.
policy
View summary information about a On the Policies tab, select the policy and then click the Summary tab.
policy
View and amend policy settings On the Policies tab, select the policy and then click the Settings tab.
Enable or disable a policy On the Policies tab, select the policy and then select either Actions > Enable or
Actions > Disable.
Create a new policy from an existing On the T emplates tab, select the template and then click New Policy.
template
When using multiple policies, you must determine how to prioritize them, how to create exceptions, and how to view the
effective policy when policies conict.
In general, policies override similar settings congured for the entire Site, for specic Delivery Controllers, or on the user
device. T he exception to this principle is security. T he highest encryption setting in your environment, including the
operating system and the most restrictive shadowing setting, always overrides other settings and policies.
Citrix policies interact with policies you set in your operating system. In a Citrix environment, Citrix settings override the
same settings congured in an Active Directory policy or using Remote Desktop Session Host Conguration. T his includes
settings that are related to typical Remote Desktop Protocol (RDP) client connection settings such as Desktop wallpaper,
Menu animation, and View window contents while dragging. For some policy settings, such as Secure ICA, the settings in
policies must match the settings in the operating system. If a higher priority encryption level is set elsewhere, the Secure
ICA policy settings that you specify in the policy or when you are delivering application and desktops can be overridden.
For example, the encryption settings that you specify when creating Delivery Groups should be at the same level as the
encryption settings you specied throughout your environment.
Note: In the second hop of double-hop scenarios, when a Desktop OS VDA connects to Server OS VDA, Citrix policies act
on the Desktop OS VDA as if it were the user device. For example, if policies are set to cache images on the user device, the
images cached for the second hop in a double-hop scenario are cached on the Desktop OS VDA machine.
Compare policies and templates
You can compare settings in a policy or template with those in other policies or templates. For example, you might need to
verify setting values to ensure compliance with best practices. You might also want to compare settings in a policy or
template with the default settings provided by Citrix.
1. Select Policies in the Studio navigation pane.
2. Click the Comparison tab and then click Select.
3. Choose the policies or templates to compare. T o include default values in the comparison, select the Compare to default
settings check box.
4. After you click Compare, the configured settings are displayed in columns.
5. T o see all settings, select Show All Settings. T o return to the default view, select Show Common Settings.
Prioritize policies
Prioritizing policies allows you to dene the precedence of policies when they contain conicting settings. When a user logs
on, all policies that match the assignments for the connection are identied. T hose policies are sorted into priority order
and multiple instances of any setting are compared. Each setting is applied according to the priority ranking of the policy.
You prioritize policies by giving them different priority numbers in Studio. By default, new policies are given the lowest
priority. If policy settings conflict, a policy with a higher priority (a priority number of 1 is the highest) overrides a policy with a
Exceptions
When you create policies for groups of users, user devices, or machines, you may find that some members of the group
require exceptions to some policy settings. You can create exceptions by:
Creating a policy only for those group members who need the exceptions and then ranking the policy higher than the
policy for the entire group
Using the Deny mode for an assignment added to the policy
An assignment with the mode set to Deny applies a policy only to connections that do not match the assignment criteria.
For example, a policy contains the following assignments:
Assignment A is a client IP address assignment that specifies the range 208.77.88.*; the mode is set to Allow
Assignment B is a user assignment that specifies a particular user account; the mode is set to Deny
T he policy is applied to all users who log on to the Site with IP addresses in the range specied in Assignment A. However,
the policy is not applied to the user logging on to the Site with the user account specied in Assignment B, even though the
user's computer is assigned an IP address in the range specied in Assignment A.
Sometimes a connection does not respond as expected because multiple policies apply. If a higher priority policy applies to
a connection, it can override the settings you congure in the original policy. You can determine how nal policy settings are
merged for a connection by calculating the Resultant Set of Policy.
You can calculate the Resultant Set of Policy in the following ways:
Use the Citrix Group Policy Modeling Wizard to simulate a connection scenario and discern how Citrix policies might be
applied. You can specify conditions for a connection scenario such as domain controller, users, Citrix policy assignment
evidence values, and simulated environment settings such as slow network connection. T he report that the wizard
produces lists the Citrix policies that would likely take effect in the scenario. If you are logged on to the Controller as a
domain user, the wizard calculates the Resultant Set of Policy using both site policy settings and Active Directory Group
Policy Objects (GPOs).
Use Group Policy Results to produce a report describing the Citrix policies in effect for a given user and controller. T he
Group Policy Results tool helps you evaluate the current state of GPOs in your environment and generates a report that
describes how these objects, including Citrix policies, are currently being applied to a particular user and controller.
You can launch the Citrix Group Policy Modeling Wizard from the Actions pane in Studio. You can launch either tool from
the Group Policy Management Console in Windows.
If you run the Citrix Group Policy Modeling Wizard or Group Policy Results tool from the Group Policy Management
Console, site policy settings created using Studio are not included in the Resultant Set of Policy.
To ensure you obtain the most comprehensive Resultant Set of Policy, Citrix recommends launching the Citrix Group Policy
Modeling wizard from Studio, unless you create policies using only the Group Policy Management Console.
Follow the wizard instructions to select the domain controller, users, computers, environment settings, and Citrix
assignment criteria to use in the simulation. After you click Finish, the wizard produces a report of the modeling results. In
Studio, the report appears in the middle pane under the Modeling tab.
Troubleshoot policies
Users, IP addresses, and other assigned objects can have multiple policies that apply simultaneously. T his can result in
conflicts where a policy may not behave as expected. When you run the Citrix Group Policy Modeling Wizard or the Group
Policy Results tool, you might discover that no policies are applied to user connections. When this happens, users
connecting to their applications and desktops under conditions that match the policy evaluation criteria are not affected
by any policy settings. T his occurs when:
No policies have assignments that match the policy evaluation criteria.
Policies that match the assignment do not have any settings configured.
Policies that match the assignment are disabled.
If you want to apply policy settings to the connections that meet the specified criteria, make sure:
T he policies you want to apply to those connections are enabled.
T he policies you want to apply have the appropriate settings configured.
ICA
See Adaptive
Transport.
ICA listener connection timeout 120000 milliseconds VDA 5, 5.5, 5.6 FP1,
VDA for Desktop OS
7 through current
Launching of non-published programs during client connection Prohibited VDA for Server OS 7
through current
Client clipboard write allowed formats No formats are specied VDA 7.6 through
current
Session clipboard write allowed formats No formats are specied VDA 7.6 through
current
Flash video fallback prevention Not configured VDA 7.6 FP3 through current
Flash video fallback prevention error *.swf VDA 7.6 FP3 through current
ICA/Audio
Auto client reconnect authentication Do not require authentication All VDA versions
Auto client reconnect logging Do not log auto-reconnect events All VDA versions
ICA/Bandwidth
Client USB device redirection 0 Kbps VDA 5.5, 5.6 FP1, VDA for Server OS 7 through current, VDA for
bandwidth limit Desktop OS 7 through current
Client USB device redirection 0 VDA 5.5, 5.6 FP1, VDA for Server OS 7 through current, VDA for
COM port redirection bandwidth 0 Kbps All VDA versions; for VDA 7.0 through 7.8, configure this setting using
limit the registry
COM port redirection bandwidth 0 All VDA versions; for VDA 7.0 through 7.8, configure this setting using
limit percent the registry
HDX MediaStream Multimedia 0 Kbps VDA 5.5, 5.6 FP1, VDA for Server OS 7 and VDA for Desktop OS 7
Acceleration bandwidth limit through current VDA for Server OS and VDA for Desktop OS
HDX MediaStream Multimedia 0 VDA 5.5, 5.6 FP1, VDA for Server OS 7 through current, VDA for
Acceleration bandwidth limit Desktop OS 7 through current
percent
LPT port redirection bandwidth limit 0 Kbps All VDA versions; for VDA 7.0 through 7.8, configure this setting using
the registry
LPT port redirection bandwidth limit 0 All VDA versions; for VDA 7.0 through 7.8, configure this setting using
percent the registry
T WAIN device redirection 0 Kbps VDA 5.5, 5.6 FP1, VDA for Server OS 7 through current, VDA for
bandwidth limit Desktop OS 7 through current
T WAIN device redirection 0 VDA 5.5, 5.6 FP1, VDA for Server OS 7 through current, VDA for
bandwidth limit percent Desktop OS 7 through current
ICA/Client Sensors
Allow applications to use the physical Prohibited VDA 5.6 FP1, VDA for Server OS 7 through current, VDA for
location of the client device Desktop OS 7 through current
ICA/Desktop UI
Desktop Composition Redirection Disabled (7.6 FP3 through VDA 5.6, VDA for Desktop OS 7 through
current) current
Desktop Composition Redirection graphics Medium VDA 5.6, VDA for Desktop OS 7 through
quality current
ICA round trip calculations for idle connections Disabled All VDA versions
ICA/File Redirection
Preserve client drive Disabled VDA 5, 5.5, 5.6 FP1, VDA for Desktop OS 7 through current
letters
Read-only client drive Disabled VDA 5.5, 5.6 FP1, VDA for Server OS 7 through current, VDA for Desktop OS 7
access through current
Special folder Allowed Web Interface deployments only; VDA for Server OS 7 through current
redirection
ICA/Graphics
Display memory limit 65536 Kb VDA 5, 5.5, 5.6 FP1, VDA for
Desktop OS 7 through current
Display mode degrade preference Degrade color depth rst All VDA versions
Image caching Enabled VDA 5.5, 5.6 FP1, VDA for Server
OS 7 through current, VDA for
Desktop OS 7 through current
Maximum allowed color depth 32 bits per pixel All VDA versions
Notify user when display mode is degraded Disabled VDA for Server OS 7 through
current
Use video codec for compression Use video codec when preferred VDA 7.6 FP3 through current
Use hardware encoding for video codec Enabled VDA 7.11 through current
ICA/Graphics/Caching
Persistent cache threshold 3000000 bps VDA for Server OS 7 through current
ICA/Graphics/Framehawk
Framehawk display channel port range 3224,3324 VDA 7.6 FP2 through current
ICA/Keep Alive
ICA keep alives Do not send ICA keep alive messages All VDA versions
Allow local app access Prohibited VDA for Server OS 7 through current, VDA for Desktop OS 7 through
current
URL redirection black No sites are VDA for Server OS 7 through current, VDA for Desktop OS 7 through
list specified current
URL redirection white No sites are VDA for Server OS 7 through current, VDA for Desktop OS 7 through
list specified current
ICA/Mobile Experience
Automatic keyboard Prohibited VDA 5.6 FP1, VDA for Server OS 7 through current, VDA for Desktop OS 7
display through current
Launch touch-optimized Allowed VDA 5.6 FP1, VDA for Server OS 7 through current, VDA for Desktop OS 7
desktop through current
T his setting is disabled and not available for Windows 10 and Windows
Server 2016 machines.
Remote the combo box Prohibited VDA 5.6 FP1, VDA for Server OS 7 through current, VDA for Desktop OS 7
through current
ICA/Multimedia
Optimization for Windows Media multimedia redirection over WAN Allowed VDA for Server OS 7 through
current, VDA for Desktop OS
7 through current
Use GPU for optimizing Windows Media multimedia redirection over Prohibited VDA for Server OS 7 through
WAN current, VDA for Desktop OS
7 through current
Windows media fallback prevention Not congured VDA 7.6 FP3 through current
Windows Media client-side content fetching Allowed VDA for Server OS 7 through
current, VDA for Desktop OS
7 through current
Windows Media Redirection buffer size 5 seconds VDA 5, 5.5, 5.6 FP1
Windows Media Redirection buffer size use Disabled VDA 5, 5.5, 5.6 FP1
ICA/Multi-Stream Connections
Audio UDP port 16500, 16509 VDA 5.5, 5.6 FP1, VDA for Server OS 7 through current, VDA for
range Desktop OS 7 through current
Multi-Port policy Primary port (2598) has VDA 5.5, 5.6 FP1, VDA for Server OS 7 through current, VDA for
High Priority Desktop OS 7 through current
Multi-Stream Disabled VDA 5.5, 5.6 FP1, VDA for Server OS 7 through current, VDA for
computer setting Desktop OS 7 through current
Multi-Stream user Disabled VDA 5.5, 5.6 FP1, VDA for Server OS 7 through current, VDA for
setting Desktop OS 7 through current
ICA/Port Redirection
Auto connect client COM Disabled All VDA versions; for VDA 7.0 through 7.8, configure this setting using
ports the registry
Auto connect client LPT Disabled All VDA versions; for VDA 7.0 through 7.8, configure this setting using
ports the registry
Client COM port redirection Prohibited All VDA versions; for VDA 7.0 through 7.8, configure this setting using
the registry
Client LPT port redirection Prohibited All VDA versions; for VDA 7.0 through 7.8, configure this setting using
the registry
ICA/Printing
Default printer Set default printer to the client's main printer All VDA
versions
Printer assignments User's current printer is used as the default printer for the All VDA
session versions
Printer auto-creation event log Log errors and warnings All VDA
preference versions
ICA/Printing/Client Printers
Auto-create client printers Auto-create all client printers All VDA versions
Printer properties retention Held in profile only if not saved on client All VDA versions
Retained and restored client printers Allowed VDA 5, 5,5, 5.6 FP1
ICA/Printing/Drivers
Universal print driver usage Use universal printing only if requested driver is All VDA
unavailable versions
Universal Print Server print data stream (CGP) port 7229 All VDA versions
Universal Print Server print stream input bandwidth limit (kpbs) 0 All VDA versions
Universal Print Server web service (HT T P/SOAP) port 8080 All VDA versions
Universal Print Server out-of-service threshold 180 (seconds) VDA versions 7.9
through current
ICA/Printing/Universal Printing
Universal printing image compression Best quality (lossless compression) All VDA
limit versions
Universal printing preview preference Do not use print preview for auto-created or generic universal All VDA
printers versions
ICA/Security
SecureICA minimum encryption level Basic VDA for Server OS 7 through current
ICA/Server Limits
Server idle timer interval 0 milliseconds VDA for Server OS 7 through current
ICA/Session Limits
Disconnected session timer Disabled VDA 5, 5.5, 5.6 FP1, VDA for Desktop OS 7 through current
Disconnected session timer interval 1440 minutes VDA 5, 5.5, 5.6 FP1, VDA for Desktop OS 7 through current
Session connection timer Disabled VDA 5, 5.5, 5.6 FP1, VDA for Desktop OS 7 through current
Session idle timer Enabledf VDA 5, 5.5, 5.6 FP1, VDA for Desktop OS 7 through current
Session idle timer interval 1440 minutes VDA 5, 5.5, 5.6 FP1, VDA for Desktop OS 7 through current
ICA/Session Reliability
Estimate local time for legacy clients Enabled VDA for Server OS 7 through current
Use local time of client Use server time zone All VDA versions
ICA/TWAIN Devices
Client T WAIN device Allowed VDA 5.5, 5.6 FP1, VDA for Server OS 7 through current, VDA for Desktop OS
redirection 7 through current
T WAIN compression Medium VDA 5.5, 5.6 FP1, VDA for Server OS 7 through current, VDA for Desktop OS
level 7 through current
ICA/USB Devices
Client USB device optimization rules Enabled (VDA 7.6 FP3 through VDA 7.6 FP3 through current
current)
Client USB device redirection rules No rules are specied All VDA versions
Client USB Plug and Play device Allowed VDA for Server OS 7 through current,
redirection VDA for Desktop OS 7 through
current
ICA/Visual Display
Preferred color depth for simple graphics 24 bits per pixel VDA 7.6 FP3 through current
Visual quality Medium VDA for Server OS 7 through current, VDA for Desktop
OS 7 through current
Minimum image quality Normal VDA 5.5, 5.6 FP1, VDA for Server OS 7 through current, VDA for
Desktop OS 7 through current
Moving image compression Enabled VDA 5.5, 5.6 FP1, VDA for Server OS 7 through current, VDA for
Desktop OS 7 through current
Progressive compression level None VDA 5.5, 5.6 FP1, VDA for Server OS 7 through current, VDA for
Desktop OS 7 through current
Progressive compression 2147483647 VDA 5.5, 5.6 FP1, VDA for Server OS 7 through current, VDA for
threshold value Kbps Desktop OS 7 through current
T arget minimum frame rate 10 fps VDA 5.5, 5.6 FP1, VDA for Server OS 7 through current, VDA for
Desktop OS 7 through current
ICA/WebSockets
WebSockets port 8008 VDA for Server OS 7 through current, VDA for
number Desktop OS 7 through current
WebSockets trusted T he wildcard, *, is used to trust all VDA for Server OS 7 through current, VDA for
origin server list Receiver for Web URLs Desktop OS 7 through current
Load Management
CPU usage excluded process priority Below Normal or Low VDA for Server OS 7 through current
Memory usage base load Zero load: 768MB VDA for Server OS 7 through current
Excluded groups Disabled. Members of all user groups are processed. All VDA versions
Processed groups Disabled. Members of all user groups are processed. All VDA versions
Cross-platform settings user groups Disabled. All user groups specified in Processed groups are All VDA
processed versions
Exclusion list - directories Disabled. All folders in the user profile are synchronized. All VDA versions
Exclusion list - files Disabled. All files in the user profile are synchronized. All VDA versions
Directories to synchronize Disabled. Only non-excluded folders are synchronized. All VDA versions
Files to synchronize Disabled. Only non-excluded files are synchronized. All VDA versions
Redirection settings for Contents are redirected to the UNC path specified in the All VDA
AppData(Roaming) AppData(Roaming) path policy settings versions
Redirection settings for Contents are redirected to the UNC path specified in the Contacts path All VDA
Contacts policy settings versions
Redirection settings for Contents are redirected to the UNC path specified in the Desktop path All VDA
Desktop policy settings versions
Redirection settings for Contents are redirected to the UNC path specified in the Documents All VDA
Documents path policy settings versions
Redirection settings for Contents are redirected to the UNC path specified in the Downloads All VDA
Downloads path policy settings versions
Redirection settings for Contents are redirected to the UNC path specified in the Favorites path All VDA
Favorites policy settings versions
Redirection settings for Contents are redirected to the UNC path specified in the Links path policy All VDA
Links settings versions
Redirection settings for Contents are redirected to the UNC path specified in the Music path All VDA
Music policy settings versions
Redirection settings for Contents are redirected to the UNC path specified in the Pictures path All VDA
Pictures policy settings versions
Redirection settings for Contents are redirected to the UNC path specified in the Saved Games All VDA
Saved Games path policy settings versions
Redirection settings for Contents are redirected to the UNC path specified in the Searches path All VDA
Searches policy settings versions
Redirection settings for Contents are redirected to the UNC path specified in the Start Menu All VDA
Start Menu path policy settings versions
Redirection settings for Contents are redirected to the UNC path specified in the Video path All VDA
Video policy settings versions
Path to log file Disabled. Log files are saved in the default location; All VDA
%SystemRoot%\System32\Logfiles\UserProfileManager. versions
Path to the template profile Disabled. New user profiles are created from the default user All VDA
profile on the device where a user first logs on. versions
Prole Management/Registry
Exclusion list Disabled. All registry keys in the HKCU hive are processed when a user logs off. All VDA versions
Streamed user profile groups Disabled. All user profiles within an OU are processed All VDA
normally. versions
Receiver
StoreFront accounts No stores are VDA for Server OS 7 through current, VDA for Desktop OS 7 through
list specified current
Controller registration IPv6 No netmask is VDA for Server OS 7 through current, VDA for Desktop OS 7
netmask specified through current
Enable auto update of Enabled VDA for Server OS 7 through current, VDA for Desktop OS 7
controllers through current
Only use IPv6 controller Disabled VDA for Server OS 7 through current, VDA for Desktop OS 7
registration through current
Virtual IP
Virtual IP virtual loopback programs list None VDA 7.6 through current
T he following tables list the settings you can congure within a policy. Find the task you want to complete in the left
column, then locate its corresponding setting in the right column.
Audio
Control whether to allow the use of multiple audio devices Audio Plug N Play
Control whether to allow audio input from microphones on Client microphone redirection
the user device
Control audio mapping to speakers on the user device Client audio redirection
T WAIN devices (such as a camera or scanner) T WAIN device redirection bandwidth limit or
Control whether or not drives on the user device are Auto connect client drives
connected when users log on to the server
Control cut-and-paste data transfer between the server and Client clipboard redirection
the local clipboard
Control how drives map from the user device Client drive redirection
Control whether users' local hard drives are available in a Client xed drives and
session
Client drive redirection
Control whether users' local oppy drives are available in a Client oppy drives and
session
Client drive redirection
Control whether users' network drives are available in a Client network drives and
session
Client drive redirection
Control whether users' local CD, DVD, or Blu-ray drives are Client optical drives and
available in a session
Client drive redirection
Control whether users' T WAIN devices, such as scanners and Client T WAIN device redirection
cameras, are available in a session and control compression of
T WAIN compression redirection
image data transfers
Control whether USB devices are available in a session Client USB device redirection and
Improve the speed of writing and copying les to a client disk Use asynchronous writes
over a WAN
Content redirection
Control whether to use content redirection from the server Host to client redirection
to the user device
Desktop UI
View window contents while a window is dragged View window contents while dragging
Control the maximum number of frames per second sent to Target frame rate
user devices from virtual desktops
Control the visual quality of images displayed on the user Visual quality
device
Control the delivery of HT ML5 multimedia web content to HT ML5 video redirection
users
Specify ports for ICA trafc across multiple connections and establish network Multi-Port policy
priorities
Enable support for multi-stream connections between servers and user devices Multi-Stream (computer and user
settings)
Control creation of client printers on the user device Auto-create client printers and
Control the location where printer properties are stored Printer properties retention
Control whether print requests are processed by the client or the server Direct connections to print servers
Control whether users can access printers connected to their user devices Client printer redirection
Control installation of native Windows drivers when automatically creating Automatic installation of in-box printer
client and network printers drivers
Control when to use the Universal Printer Driver Universal print driver usage
Note: Policies cannot be used to enable a screen saver in a desktop or application session. For users who require screen
savers, the screen saver can be implemented on the user device.
Adaptive transport
T his setting allows or prevents data transport over EDT as primary and fallback to TCP.
1. In Studio, enable the policy setting, HDX adaptive transport (it is disabled by default). We also recommend that you
do not enable this feature as a universal policy for all objects in the Site.
2. T o enable the policy setting, set the value to Pref erred, then click OK.
Pref erred. Adaptive transport over EDT is used when possible, with fallback to TCP.
Diagnostic mode. EDT is forced on and fall back to TCP is disabled. We recommend this setting
only for troubleshooting.
T his setting species the wait timeout value in milliseconds for a session to wait for the rst application to start. If the
start of the application exceeds this time period, the session ends.
You can choose the default time (10000 milliseconds) or specify a number in milliseconds.
T his setting allows or prevents the clipboard on the user device being mapped to the clipboard on the server.
To prevent cut-and-paste data transfer between a session and the local clipboard, select Prohibit. Users can still cut and
paste data between applications running in sessions.
After allowing this setting, congure the maximum allowed bandwidth the clipboard can consume in a client connection
using the Clipboard redirection bandwidth limit or the Clipboard redirection bandwidth limit percent settings.
When the Restrict client clipboard write setting is Enabled, host clipboard data cannot be shared with the client endpoint
but you can use this setting to allow specic data formats to be shared with the client endpoint clipboard. To use this
setting, enable it and add the specic formats to be allowed.
Note: Enabling HT ML format clipboard copy support (HT ML Format) will copy any scripts (if they exist) from the source of
the copied content to the destination. Check that you trust the source before proceeding to copy. If you do copy content
containing scripts, they will only be live if you save the destination le as an HT ML le and execute it.
Additional custom formats can be added. T he custom format name must match the formats to be registered with the
system. Format names are case-sensitive.
T his setting does not apply if either Client clipboard redirection or Restrict client clipboard write is set to Prohibited.
Desktop launches
T his setting allows or prevents non-administrative users in a VDA's Direct Access Users group connecting to a session on
that VDA using an ICA connections.
Note: T his setting applies only to Virtual Delivery Agents 5.0, 5.5, and 5.6 Feature Pack 1.
T his setting species the maximum wait time for a connection using the ICA protocol to be completed.
T his setting species the TCP/IP port number used by the ICA protocol on the server.
Valid port numbers must be in the range of 0-65535 and must not conict with other well-known port numbers. If you
change the port number, restart the server for the new value to take effect. If you change the port number on the server,
you must also change it on every Citrix Receiver or plug-in that connects to the server.
T his setting species whether to allow launching initial applications through RDP on the server.
By default, launching initial applications through RDP on the server is not allowed.
T his setting species the duration to delay the logoff checker startup. Use this policy to set the time (in seconds) that a
client session waits before disconnecting the session.
T his setting also increases the time it takes for a user to log off the server.
If this setting is Allowed, host clipboard data cannot be shared with the client endpoint. You can allow specic formats by
enabling the Client clipboard write allowed formats setting.
When this setting is Allowed, client clipboard data cannot be shared within the user session. You can allow specic formats
by enabling the Session clipboard write allowed formats setting.
When the Restrict session clipboard write setting is Allowed, client clipboard data cannot be shared with session
applications, but you can use this setting to allow specic data formats to be shared with the session clipboard.
Note: Enabling HT ML Format clipboard copy support (HT ML Format) will copy any scripts (if they exist) from the source of
the copied content to the destination. Check that you trust the source before proceeding to copy. If you do copy content
containing scripts, they will only be live if you save the destination le as an HT ML le and execute it.
Additional custom formats can be added. T he custom format name must match the formats to be registered with the
system. Format names are case-sensitive.
T his setting does not apply if either the Client clipboard redirection setting or Restrict session clipboard write setting is set
to Prohibited.
T his setting allows or prevents automatic reconnection by the same client after a connection has been interrupted.
For Citrix Receiver for Windows 4.7 and later, auto client reconnect uses only the policy settings from Citrix Studio. Updates
to these policies in Studio synchronize auto client reconnect from server to client. With older versions of Citrix Receiver for
Windows, to congure auto client reconnect, use a Studio policy and modify the registry or the default.ica le.
Allowing automatic client reconnect allows users to resume working where they were interrupted when a connection was
broken. Automatic reconnection detects broken connections and then reconnects the users to their sessions.
If the Citrix Receiver cookie containing the key to the session ID and credentials isn't used, automatic reconnection might
result in a new session being started. T hat is, instead of reconnecting to an existing session. T he cookie is not used if it has
expired, for example, because of a delay in reconnection, or if credentials must be reentered. If users intentionally
disconnect, auto client reconnect is not triggered.
A session window is grayed out when a reconnection is in progress. A countdown timer displays the time remaining before
the session is reconnected. Once a session is timed out, it is disconnected.
For application sessions, when automatic reconnect is allowed, a countdown timer appears in the notication area
specifying the time remaining before the session is reconnected. Citrix Receiver tries to reconnect to the session until there
is a successful reconnection or the user cancels the reconnection attempts.
For user sessions, when automatic reconnect is allowed, Citrix Receiver tries to reconnect to the session for a specied
period, unless there is a successful reconnection or the user cancels the reconnection attempts. By default, this period is
two minutes. To change this period, edit the policy.
When a user initially logs on, the credentials are encrypted, stored in memory, and a cookie is created containing the
encryption key. T he cookie is sent to Citrix Receiver. When this setting is congured, cookies are not used. Instead, a dialog
box is displayed to users requesting credentials when Citrix Receiver attempts to reconnect automatically.
T his setting enables or disables the recording of auto client reconnections in the event log.
By default, auto client reconnect timeout is set to 120 seconds, the maximum congurable value for an auto client
reconnect timeout is 300 seconds.
You can use Studio policy to congure the transparency level applied to the XenApp or XenDesktop session window during
session reliability reconnection time.
T his setting allows or prevents the transmission and receipt of audio between the VDA and user device over RT P using the
User Datagram Protocol (UDP). When this setting is disabled, audio is sent and received over TCP.
T his setting allows or prevents the use of multiple audio devices to record and play sound.
Audio quality
T his setting species the quality level of sound received in user sessions.
Currently, Real-time Transport (RT P) over UDP is only supported when this audio quality is selected. Use this audio quality
even for delivering media applications for the challenging network connections like very low (less than 512Kbps) lines and
when there is congestion and packet loss in the network.
Select High - high definition audio for connections where bandwidth is plentiful and sound quality is important. Clients
can play sound at its native rate. Sounds are compressed at a high quality level maintaining up to CD quality, and using up
to 112 Kbps of bandwidth. T ransmitting this amount of data can result in increased CPU utilization and network
congestion.
Bandwidth is consumed only while audio is recording or playing. If both occur at the same time, the bandwidth consumption
is doubled.
T his setting species whether applications hosted on the server can play sounds through a sound device installed on the
user device. T his setting also species whether users can record audio input.
After allowing this setting, you can limit the bandwidth consumed by playing or recording audio. Limiting the amount of
bandwidth consumed by audio can improve application performance but may also degrade audio quality. Bandwidth is
consumed only while audio is recording or playing. If both occur at the same time, the bandwidth consumption doubles. To
specify the maximum amount of bandwidth, congure the Audio redirection bandwidth limit or the Audio redirection
bandwidth limit percent settings.
On Windows Server OS machines, ensure that the Audio Plug N Play setting is Enabled to support multiple audio devices.
Important: Prohibiting Client audio redirection disables all HDX audio functionality.
Client microphone redirection
T his setting enables or disables client microphone redirection. When enabled, users can use microphones to record audio
input in a session.
For security, users are alerted when servers that are not trusted by their devices try to access microphones. Users can
choose to accept or not accept access. Users can disable the alert on Citrix Receiver.
On Windows Server OS machines, ensure that the Audio Plug N Play setting is Enabled to support multiple audio devices.
If the Client audio redirection setting is disabled on the user device, this rule has no effect.
T his setting species the maximum allowed bandwidth, in kilobits per second, for playing or recording audio in a user session.
If you enter a value for this setting and a value for the Audio redirection bandwidth limit percent setting, the most
restrictive setting (with the lower value) is applied.
T his setting species the maximum allowed bandwidth limit for playing or recording audio as a percentage of the total
session bandwidth.
If you enter a value for this setting and a value for the Audio redirection bandwidth limit setting, the most restrictive setting
(with the lower value) is applied.
If you congure this setting, you must also congure the Overall session bandwidth limit setting, which species the total
amount of bandwidth available for client sessions.
T his setting species the maximum allowed bandwidth, in kilobits per second, for the redirection of USB devices to and from
the client.
If you enter a value for this setting and a value for the Client USB device redirection bandwidth limit percent setting, the
most restrictive setting (with the lower value) is applied.
T his setting species the maximum allowed bandwidth for the redirection of USB devices to and from the client as a
percentage of the total session bandwidth.
If you enter a value for this setting and a value for the Client USB device redirection bandwidth limit setting, the most
restrictive setting (with the lower value) is applied.
If you congure this setting, you must also congure the Overall session bandwidth limit setting, which species the total
amount of bandwidth available for client sessions.
If you enter a value for this setting and a value for the Clipboard redirection bandwidth limit percent setting, the most
restrictive setting (with the lower value) is applied.
T his setting species the maximum allowed bandwidth for data transfer between a session and the local clipboard as a
percentage of the total session bandwidth.
If you enter a value for this setting and a value for the Clipboard redirection bandwidth limit setting, the most restrictive
setting (with the lower value) is applied.
If you congure this setting, you must also congure the Overall session bandwidth limit setting, which species the total
amount of bandwidth available for client sessions.
Note: For the Virtual Delivery Agent 7.0 through 7.8, configure this setting using the registry; see Configure COM Port and
LPT Port Redirection settings using the registry.
T his setting species the maximum allowed bandwidth in kilobits per second for accessing a COM port in a client
connection. If you enter a value for this setting and a value for the COM port redirection bandwidth limit percent setting,
the most restrictive setting (with the lower value) is applied.
Note: For the Virtual Delivery Agent 7.0 through 7.8, configure this setting using the registry; see Configure COM Port and
LPT Port Redirection settings using the registry.
T his setting species the maximum allowed bandwidth for accessing COM ports in a client connection as a percentage of
the total session bandwidth.
If you enter a value for this setting and a value for the COM port redirection bandwidth limit setting, the most restrictive
setting (with the lower value) is applied.
If you congure this setting, you must also congure the Overall session bandwidth limit setting, which species the total
amount of bandwidth available for client sessions
T his setting species the maximum allowed bandwidth, in kilobits per second, for accessing a client drive in a user session.
If you enter a value for this setting and a value for the File redirection bandwidth limit percent setting, the most restrictive
setting (with the lower value) takes effect.
If you enter a value for this setting and a value for the File redirection bandwidth limit setting, the most restrictive setting
(with the lower value) is applied.
If you congure this setting, you must also congure the Overall session bandwidth limit setting, which species the total
amount of bandwidth available for client sessions.
T his setting species the maximum allowed bandwidth limit, in kilobits per second, for delivering streaming audio and video
using HDX MediaStream Multimedia Acceleration.
If you enter a value for this setting and a value for the HDX MediaStream Multimedia Acceleration bandwidth limit percent
setting, the most restrictive setting (with the lower value) takes effect.
T his setting species the maximum allowed bandwidth for delivering streaming audio and video using HDX MediaStream
Multimedia Acceleration as a percentage of the total session bandwidth.
If you enter a value for this setting and a value for the HDX MediaStream Multimedia Acceleration bandwidth limit setting,
the most restrictive setting (with the lower value) takes effect.
If you congure this setting, you must also congure the Overall session bandwidth limit setting, which species the total
amount of bandwidth available for client sessions.
Note: For the Virtual Delivery Agent 7.0 through 7.8, configure this setting using the registry; see Configure COM Port and
LPT Port Redirection settings using the registry.
T his setting species the maximum allowed bandwidth, in kilobits per second, for print jobs using an LPT port in a single user
session.
If you enter a value for this setting and a value for the LPT port redirection bandwidth limit percent setting, the most
restrictive setting (with the lower value) is applied.
Note: For the Virtual Delivery Agent 7.0 through 7.8, configure this setting using the registry; see Configure COM Port and
LPT Port Redirection settings using the registry.
T his setting species the bandwidth limit for print jobs using an LPT port in a single client session as a percentage of the
total session bandwidth.
If you congure this setting, you must also congure the Overall session bandwidth limit setting, which species the total
amount of bandwidth available for client sessions.
T his setting species the total amount of bandwidth available, in kilobits per second, for user sessions.
T he maximum enforceable bandwidth cap is 10 Mbps (10,000 Kbps). By default, no maximum (zero) is specied.
Limiting the amount of bandwidth consumed by a client connection can improve performance when other applications
outside the client connection are competing for limited bandwidth.
T his setting species the maximum allowed bandwidth, in kilobits per second, for accessing client printers in a user session.
If you enter a value for this setting and a value for the Printer redirection bandwidth limit percent setting, the most
restrictive setting (with the lower value) is applied.
T his setting species the maximum allowed bandwidth for accessing client printers as a percentage of the total session
bandwidth.
If you enter a value for this setting and a value for the Printer redirection bandwidth limit setting, the most restrictive
setting (with the lower value) is applied.
If you congure this setting, you must also congure the Overall session bandwidth limit setting, which species the total
amount of bandwidth available for client sessions.
T his setting species the maximum allowed bandwidth, in kilobits per second, for controlling T WAIN imaging devices from
published applications.
If you enter a value for this setting and a value for the T WAIN device redirection bandwidth limit percent setting, the most
restrictive setting (with the lower value) is applied.
T his setting species the maximum allowed bandwidth for controlling T WAIN imaging devices from published applications as
a percentage of the total session bandwidth.
If you enter a value for this setting and a value for the T WAIN device redirection bandwidth limit setting, the most
If you congure this setting, you must also congure the Overall session bandwidth limit setting, which species the total
amount of bandwidth available for client sessions.
T hough Citrix also offers host to client redirection and Local App Access for client to URL redirection, we recommend that
you use bidirectional content redirection for domain-joined Windows clients.
Bidirectional content redirection requires XenApp or XenDesktop 7.13 and later plus Citrix Receiver for Windows 4.7 and
later.
Important
Ensure that redirection rules don't result in a looping configuration. For example, client rules at the VDA are set to
https://www.citrix.com, and VDA rules at the client are set to the same URL possibly resulting in infinite looping.
We support only domain joined endpoints.
URL redirection supports only explicit URLs (URLs displayed in the browser address bar or found using the in-browser navigation,
depending on the browser). We don't support link shorteners.
Bidirectional content redirection supports only Internet Explorer 8 through 11. Internet Explorer must be used on both the user
device and the VDA.
T he Internet Explorer browser add-on is required for Bidirectional Content Redirection. Fore more information, see Register
browser add-ons.
No fallback mechanism is present if redirection fails due to session start issues.
If two applications with same display name are configured with multiple StoreFront accounts, one display name in the primary
StoreFront account is used to start.
Supports only Citrix Receiver for Windows.
A new browser window appears only when the URL is redirected to the client. When the URL is redirected to the VDA and the
browser is already open, the redirected URL opens in a new tab.
Supports embedded links in files including documents, emails, and PDFs.
T his feature works on both desktop sessions and application sessions, unlike Local App Access URL redirection, which works
only on desktop sessions.
If Local App Access is enabled for URL redirection (either at the VDA or client), bidirectional content redirection does not take
effect.
Use Studio to congure the host to client (client) and host to host (VDA) redirection policies.
When you include URLs, you can specify one URL or a semi-colon delimited list of URLs. You can use an asterisk (*) as a
wildcard in the domain name. For example:
http://*.citrix.com; http://www.google.com
Use Citrix Receiver Group Policy Object administrative template to congure client to host (VDA) and client to client (client)
redirection.
When you include URLs, you can specify one URL or a semi-colon delimited list of URLs. You can use an asterisk (*) as a
wildcard.
For more information, see Conguring bidirectional content redirection in the Citrix Receiver documentation.
You can use the following commands to register and unregister Internet Explorer add-on:
For example, the following command registers Internet Explorer add-on on a device running Citrix Receiver.
T his setting determines whether applications running in a session on a mobile device are allowed to use the physical
location of the user device.
When this setting is prohibited, attempts by an application to retrieve location information return a "permission denied"
value.
When this setting is allowed, a user can prohibit use of location information by denying a Citrix Receiver request to access
the location. Android and iOS devices prompt at the rst request for location information in each session.
When developing hosted applications that use the Allow applications to use the physical location of the client device
setting, consider the following:
A location-enabled application should not rely on location information being available because:
A user might not allow access to location information.
T he location might not be available or might change while the application is running.
A user might connect to the application session from a different device that does not support location information.
A location-enabled application must:
Have the location feature off by default.
Provide a user option to allow or disallow the feature while the application is running.
Provide a user option to clear location data that is cached by the application. (Citrix Receiver does not cache location
data.)
A location-enabled application must manage the granularity of the location information so that the data acquired is
appropriate to the purpose of the application and conforms to regulations in all relevant jurisdictions.
A secure connection (for example, using T LS or a VPN) should be enforced when using location services. Citrix Receiver
should connect to trusted servers.
Consider obtaining legal advice regarding the use of location services.
T his setting species whether to use the processing capabilities of the graphics processing unit (GPU) or integrated graphics
processor (IGP) on the user device for local DirectX graphics rendering to provide users with a more uid Windows desktop
experience. When enabled, Desktop Composition Redirection delivers a highly responsive Windows experience while
maintaining high scalability on the server.
To turn off Desktop Composition Redirection and reduce the bandwidth required in user sessions, select Disabled when
adding this setting to a policy.
T his setting species the quality of graphics used for Desktop Composition Redirection.
Desktop wallpaper
To turn off desktop wallpaper and reduce the bandwidth required in user sessions, select Prohibited when adding this
setting to a policy.
Menu animation
Menu animation is a Microsoft personal preference setting for ease of access. When enabled, it causes a menu to appear
after a short delay, either by scrolling or fading in. An arrow icon appears at the bottom of the menu. T he menu appears
when you point to that arrow.
Menu animation is enabled on a desktop if this policy setting is set to Allowed and the menu animation Microsoft personal
preference setting is enabled.
Note: Changes to the menu animation Microsoft personal preference setting are changes to the desktop. T his means that
if the desktop is set to discard changes when the session ends, a user who has enabled menu animations in a session may
not have menu animation available in subsequent sessions on the desktop. For users who require menu animation, enable
T his setting allows or prevents the display of window contents when dragging a window across the screen.
When set to Allowed, the entire window appears to move when you drag it. When set to Prohibited, only the window
outline appears to move until you drop it.
T his setting determines whether ICA round trip calculations are performed for active connections.
By default, each ICA round trip measurement initiation is delayed until some trafc occurs that indicates user interaction.
T his delay can be indenite in length and is designed to prevent the ICA round trip measurement being the sole reason for
ICA trafc.
T his setting species the frequency, in seconds, at which ICA round trip calculations are performed.
T his setting determines whether ICA round trip calculations are performed for idle connections.
By default, each ICA round trip measurement initiation is delayed until some trafc occurs that indicates user interaction.
T his delay can be indenite in length and is designed to prevent the ICA round trip measurement being the sole reason for
ICA trafc.
If a user prole with Windows Classic theme already exists on the virtual desktop, enabling this policy does not provide an
enhanced desktop experience for that user. If a user with a Windows 7 theme user prole logs on to a virtual desktop
running Windows Server 2012 for which this policy is either not congured or disabled, that user sees an error message
indicating failure to apply the theme.
If the policy changes from enabled to disabled on a virtual desktop with active user sessions, the look and feel of those
sessions is inconsistent with both the Windows 7 and Windows Classic desktop experience. To avoid this, ensure you restart
the virtual desktop after changing this policy setting. You must also delete any roaming proles on the virtual desktop. Citrix
also recommends deleting any other user proles on the virtual desktop to avoid inconsistencies between proles.
If you are using roaming user proles in your environment, ensure the Enhanced Desktop Experience feature is enabled or
disabled for all virtual desktops that share a prole.
Citrix does not recommend sharing roaming proles between virtual desktops running server operating systems and client
operating systems. Proles for client and server operating systems differ and sharing roaming proles across both types can
lead to inconsistencies in prole properties when a user moves between the two.
T his setting allows or prevents automatic connection of client drives when users log on.
When adding this setting to a policy, make sure to enable the settings for the drive types you want automatically
connected. For example, to allow automatic connection of users' CD-ROM drives, congure this setting and the Client
optical drives setting.
T his setting enables or disables le redirection to and from drives on the user device.
When enabled, users can save les to all their client drives. When disabled, all le redirection is prevented, regardless of the
state of the individual le redirection settings such as Client oppy drives and Client network drives.
T his setting allows or prevents users from accessing or saving les to xed drives on the user device.
When adding this setting to a policy, make sure the Client drive redirection setting is present and set to Allowed. If these
settings are disabled, client xed drives are not mapped and users cannot access these drives manually, regardless of the
state of the Client xed drives setting.
To ensure xed drives are automatically connected when users log on, congure the Auto connect client drives setting.
T his setting allows or prevents users from accessing or saving les to oppy drives on the user device.
When adding this setting to a policy, make sure the Client drive redirection setting is present and set to Allowed. If these
settings are disabled, client oppy drives are not mapped and users cannot access these drives manually, regardless of the
state of the Client oppy drives setting.
To ensure oppy drives are automatically connected when users log on, congure the Auto connect client drives setting.
T his setting allows or prevents users from accessing and saving les to network (remote) drives through the user device.
When adding this setting to a policy, make sure the Client drive redirection setting is present and set to Allowed. If these
settings are disabled, client network drives are not mapped and users cannot access these drives manually, regardless of the
state of the Client network drives setting.
To ensure network drives are automatically connected when users log on, congure the Auto connect client drives setting.
T his setting allows or prevents users from accessing or saving les to CD-ROM, DVD-ROM, and BD-ROM drives on the user
device.
When adding this setting to a policy, make sure the Client drive redirection setting is present and set to Allowed. If these
settings are disabled, client optical drives are not mapped and users cannot access these drives manually, regardless of the
state of the Client optical drives setting.
To ensure optical drives are automatically connected when users log on, congure the Auto connect client drives setting.
T his setting allows or prevents users from accessing or saving les to USB drives on the user device.
When adding this setting to a policy, make sure the Client drive redirection setting is present and set to Allowed. If these
settings are disabled, client removable drives are not mapped and users cannot access these drives manually, regardless of
the state of the Client removable drives setting.
To ensure removable drives are automatically connected when users log on, congure the Auto connect client drives
setting.
T his setting enables or disables le type associations for URLs and some media content to be opened on the user device.
When disabled, content opens on the server.
T hese URL types are opened locally when you enable this setting:
Hypertext T ransfer Protocol (HT T P)
Secure Hypertext T ransfer Protocol (HT T PS)
Real Player and QuickT ime (RT SP)
Real Player and QuickT ime (RT SPU)
Legacy Real Player (PNM)
Microsoft Media Server (MMS)
T his setting enables or disables mapping of client drives to the same drive letter in the session.
When adding this setting to a policy, make sure the Client drive redirection setting is present and set to Allowed.
T his setting allows or prevents users and applications from creating or modifying les or folders on mapped client drives.
If set to Enabled, les and folders are accessible with read-only permissions.
When adding this setting to a policy, make sure the Client drive redirection setting is present and set to Allowed.
T his setting allows or prevents Citrix Receiver and Web Interface users to see their local Documents and Desktop special
folders from a session.
T his setting prevents any objects ltered through a policy from having special folder redirection, regardless of settings that
exist elsewhere. When this setting is prohibited, any related settings specied for StoreFront, Web Interface, or Citrix
Receiver are ignored.
To dene which users can have special folder redirection, select Allowed and include this setting in a policy ltered on the
users you want to have this feature. T his setting overrides all other special folder redirection settings.
Because special folder redirection must interact with the user device, policy settings that prevent users from accessing or
saving les to their local hard drives also prevent special folder redirection from working.
When adding this setting to a policy, make sure the Client xed drives setting is present and set to Allowed.
Asynchronous disk writes can improve the speed of le transfers and writing to client disks over WANs, which are typically
Citrix recommends enabling asynchronous disk writes only for users who need remote connectivity with good le access
speed and who can easily recover les or data lost in the event of connection or disk failure.
When adding this setting to a policy, make sure that the Client drive redirection setting is present and set to Allowed. If this
setting is disabled, asynchronous writes will not occur.
Flash acceleration
T his setting enables or disables Flash content rendering on user devices instead of the server. By default, client-side Flash
content rendering is enabled.
Note: T his setting is used for legacy Flash redirection with the Citrix online plug-in 12.1.
When enabled, this setting reduces network and server load by rendering Flash content on the user device. Additionally, the
Flash URL compatibility list setting forces Flash content from specic websites to be rendered on the server.
On the user device, the Enable HDX MediaStream for Flash on the user device setting must be enabled as well.
When this setting is disabled, Flash content from all websites, regardless of URL, is rendered on the server. To allow only
certain websites to render Flash content on the user device, congure the Flash URL compatibility list setting.
T his setting enables you to set key colors for given URLs.
Key colors appear behind client-rendered Flash and help provide visible region detection. T he key color specied should be
rare; otherwise, visible region detection might not work properly.
Valid entries consist of a URL (with optional wildcards at the beginning or end) followed by a 24-bit RGB color hexadecimal
code. For example: http://citrix.com 000003.
Ensure that the URL specied is the URL for the Flash content, which might be different from the URL of the website.
Warning
Using Registry Editor incorrectly can cause serious problems that can require you to reinstall the operating system. Citrix cannot
guarantee that problems resulting from incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk. Make
sure you back up the registry before you edit it.
On VDA machines running Windows 8 or Windows 2012, this setting might fail to set key colors for the URL. If this occurs,
edit the registry on the VDA machine.
[HKEY_LOCAL_MACHINE\SOFT WARE\Citrix\HdxMediaStreamForFlash\Server\PseudoServer]
"ForceHDXFlashEnabled"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFT WARE\Wow6432Node\Citrix\HdxMediaStreamForFlash\Server\PseudoServer]
T his setting enables or disables the use of original, legacy Flash redirection features with older versions of Citrix Receiver
(formerly the Citrix online plug-in).
On the user device, the Enable HDX MediaStream for Flash on the user device setting must also be enabled.
Second generation Flash redirection features are enabled for use with Citrix Receiver 3.0. Legacy redirection features are
supported for use with the Citrix online plug-in 12.1. To ensure second generation Flash redirection features are used, both
the server and the user device must have second generation Flash redirection enabled. If legacy redirection is enabled on
either the server or the user device, legacy redirection features are used.
T his setting establishes the default behavior for second generation Flash acceleration.
T his setting can be overridden for individual Web pages and Flash instances based on the conguration of the Flash URL
compatibility list setting. Additionally, the user device must have the Enable HDX MediaStream for Flash on the user device
setting enabled.
T his setting enables Flash events to be recorded in the Windows application event log.
On computers running Windows 7 or Windows Vista, a Flash redirection-specic log appears in the Applications and Services
Log node.
T his setting enables or disables automatic attempts to employ server-side rendering for Flash Player instances where client-
side rendering is either unnecessary or provides a poor user experience.
T his setting species a threshold between 0-30 milliseconds to determine where Adobe Flash content is rendered.
When enabling this setting, make sure the Flash backwards compatibility setting is also present and set to Enabled.
Note: Applies only when using HDX MediaStream Flash redirection in Legacy mode.
Flash video f allback prevention
T his setting species if and how "small" ash content is rendered and displayed to users.
Only small content. Only intelligent fallback content will be rendered on the server; other Flash content will be replaced
with an error *.swf.
Only small content with a supported client. Only intelligent fallback content will be rendered on the server if the
client is currently using Flash Redirection; other content will be replaced with an error *.swf.
No server side content. All content on the server will be replaced with an error *swf.
To use this policy setting you should specify an error *.swf le. T his error *.swf will replace any content that you do not
want to be rendered on the VDA.
T his setting species the URL of the error message which is displayed to users to replace Flash instances when the server
load management policies are in use. For example:
http://domainName.tld/sample/path/error.swf
T his setting species websites whose Flash content can be downloaded to the server and then transferred to the user
device for rendering.
T his setting is used when the user device does not have direct access to the Internet; the server provides that connection.
Additionally, the user device must have the Enable server-side content fetching setting enabled.
Second generation Flash redirection includes a fallback to server-side content fetching for Flash .swf les. If the user device
is unable to fetch Flash content from a Web site, and the Web site is specied in the Flash server-side content fetching URL
list, server-side content fetching occurs automatically.
T his setting allows visually lossless compression to be used instead of true lossless compression for graphics. Visually lossless
improves performance over true lossless, but has minor loss that is unnoticeable by sight. T his setting changes the way the
values of the Visual quality setting are used.
T his setting species the maximum video buffer size in kilobytes for the session.
Species the maximum video buffer size in kilobytes for the session. Specify an amount in kilobytes from 128 to 4,194,303.
T he maximum value of 4,194,303 does not limit the display memory. By default, the display memory is 65536 kilobytes. Using
more color depth and higher resolution for connections requires more memory. In legacy graphics mode, if the memory limit
is reached, the display degrades according to the "Display mode degrade preference" setting.
For connections requiring more color depth and higher resolution, increase the limit. Calculate the maximum memory
required using the equation:
For example, with a color depth of 32, vertical resolution of 600, and a horizontal resolution of 800, the maximum memory
required is (32 / 8) * (600) * (800) = 1920000 bytes, which yields a display memory limit of 1920 KB.
Color depths other than 32-bit are available only if the Legacy graphics mode policy setting is enabled.
HDX allocates only the amount of display memory needed for each session. So, if only some users require more than the
default, there is no negative impact on scalability by increasing the display memory limit.
Note: For the Virtual Delivery Agent 7.x, this policy setting applies only when the Legacy graphics mode policy setting is
enabled.
T his setting species whether color depth or resolution degrades rst when the session display memory limit is reached.
When the session memory limit is reached, you can reduce the quality of displayed images by choosing whether color depth
or resolution is degraded rst. When color depth is degraded rst, displayed images use fewer colors. When resolution is
degraded rst, displayed images use fewer pixels per inch.
To notify users when either color depth or resolution are degraded, congure the Notify user when display mode is
degraded setting.
T his setting enables or disables the display of seamless windows in Flip, Flip 3D, T askbar Preview, and Peek window preview
modes.
T askbar Preview When the user hovers over a window's taskbar icon, an image of that window appears
above the taskbar.
Windows Peek When the user hovers over a taskbar preview image, a full-sized image of the window
appears on the screen.
Flip When the user presses ALT +T AB, small preview icons are shown for each open window.
Flip 3D When the user presses T AB+Windows logo key, large images of the open windows
cascade across the screen.
Image caching
Note: For the Virtual Delivery Agent 7.x, this policy setting applies only when the Legacy graphics mode policy setting is
enabled.
T his setting enables or disables the caching and retrieving of sections of images in sessions. Caching images in sections and
retrieving these sections when needed makes scrolling smoother, reduces the amount of data transmitted over the
network, and reduces the processing required on the user device.
Note: T he image caching setting controls how images are cached and retrieved; it does not control whether images are
cached. Images are cached if the Legacy graphics mode setting is enabled.
Legacy graphics mode
T his setting disables the rich graphics experience. Use this setting to revert to the legacy graphics experience, reducing
bandwidth consumption over a WAN or mobile connection. Bandwidth reductions introduced in XenApp and XenDesktop
7.13 make this mode obsolete.
By default, this setting is disabled and users are provided with the rich graphics experience.
Legacy graphics mode is supported with Windows 7 and Windows Server 2008 R2 VDAs. While it is also supported on
Windows 2012 and 2012 R2, it is not recommended.
See CT X202687 for more on optimizing graphics modes and policies in XenApp and XenDesktop 7.6 FP3 or higher.
Note: For the Virtual Delivery Agent 7.x, this policy setting applies only when the Legacy graphics mode policy setting is
enabled.
T his setting applies only to T hinWire drivers and connections. It does not apply to VDAs that have a non-T hinWire driver as
the primary display driver, such as VDAs that use a Windows Display Driver Model (WDDM) driver as the primary display driver.
For Desktop OS VDAs using a WDDM driver as the primary display driver, such as Windows 8, this setting has no effect. For
Windows Server OS VDAs using a WDDM driver, such as Windows Server 2012 R2, this setting might prevent users from
connecting to the VDA.
Setting a high color depth requires more memory. To degrade color depth when the memory limit is reached, congure the
Display mode degrade preference setting. When color depth is degraded, displayed images use fewer colors.
Note: For the Virtual Delivery Agent 7.x, this policy setting applies only when the Legacy graphics mode policy setting is
enabled.
T his setting displays a brief explanation to the user when the color depth or resolution is degraded.
Note: For the Virtual Delivery Agent 7.x, this policy setting applies only when the Legacy graphics mode policy setting is
enabled.
T his setting discards queued images that are replaced by another image.
T his improves response when graphics are sent to the user device. Conguring this setting can cause animations to become
choppy because of dropped frames.
Allows use of a video codec (H.264) to compress graphics when video decoding is available on the endpoint. When For the
entire screen is chosen the video codec will be applied as the default codec for all. When For actively changing regions is
selected the video codec will be used for areas where there is constant change on the screen, other data will use still image
compression and bitmap caching. When video decoding is not available on the endpoint, or when you specify Do not use, a
combination of still image compression and bitmap caching is used. When Use video codec when pref erred is selected,
the system chooses, based on various factors. T he results may vary between versions as the selection method is enhanced.
Select Use video codec when pref erred to allow the system to make its best effort to choose appropriate settings for
the current scenario.
Select For the entire screen to optimize for improved user experience and bandwidth, especially in cases with heavy use of
server-rendered video and 3D graphics.
Select For actively changing regions to optimize for improved video performance, especially in low bandwidth, while
maintaining scalability for static and slowly changing content. T his setting is supported in multi-monitor deployments.
Select Do not use video codec to optimize for server CPU load and for cases that do not have a lot of server-rendered
video or other graphically intense applications.
T his setting allows the use of graphics hardware, if available, to compress screen elements with video (H.264) codec. If such
hardware is not available, the VDA will fall back to CPU-based encoding using the software video codec.
Any Citrix Receiver that supports H.264 decoding can be used with NVENC hardware encoding.
Lossy (4:2:0) and visually lossless (4:4:4) compression are supported. Visually lossless (graphics policy setting, Allow visually
lossless compression) requires Receiver for Windows 4.5 or higher.
NVIDIA
For NVIDIA GRID GPUs, hardware encoding is supported with VDAs for Desktop OS in HDX 3D Pro mode.
NVIDIA GPUs must support NVENC hardware encoding. See NVIDIA video codec SDK for a list of supported GPUs.
NVIDIA GRID requires driver version 3.1 or higher. NVIDIA Quadro requires driver version 362.56 or higher. Citrix recommends
drivers from the NVIDIA Release R361 branch.
Lossless text, a feature of the VDA when congured in standard mode (not HDX 3D Pro), is not compatible with NVENC
hardware encoding. If it has been enabled in HDX 3D Pro mode, lossless text takes priority over NVENC hardware encoding.
Selective use of the H.264 hardware codec for actively changing regions is not supported.
Intel
For Intel Iris Pro graphics processors, hardware encoding is supported with VDAs for Desktop OS (in standard or HDX 3D
Pro mode) and VDAs for Server OS.
Intel Iris Pro graphics processors in the Intel Broadwell processor family and later are supported. Intel Iris Pro hardware
encoder SDK is required and can be downloaded from Intel website: Remote Displays SDK.
Selective use of the H.264 hardware codec for actively changing regions is supported.
On VDAs in 3D Pro mode, the Intel encoder provides a good user experience for up to eight encoding sessions (for example
one user using eight monitors or eight users using a monitor each). If more than eight encoding sessions are required, check
how many monitors the virtual machine connects with. To maintain a good user experience, the administrator can decide to
congure this policy setting on a per user or per machine basis.
Note: For the Virtual Delivery Agent 7.x, this policy setting applies only when the Legacy graphics mode policy setting is
enabled.
T his setting caches bitmaps on the hard drive of the user device. T his enables re-use of large, frequently-used images from
previous sessions.
T he threshold value represents the point below which the Persistent Cache feature will take effect. For example, using the
default value, bitmaps are cached on the hard drive of the user device when bandwidth falls below 3000000 bps.
T his setting species the number of seconds between successive ICA keep-alive messages.
Specify an interval between 1-3600 seconds in which to send ICA keep-alive messages. Do not congure this setting if your
network monitoring software is responsible for closing inactive connections.
Enabling this setting prevents broken connections from being disconnected. If the server detects no activity, this setting
prevents Remote Desktop Services (RDS) from disconnecting the session. T he server sends keep-alive messages every few
seconds to detect if the session is active. If the session is no longer active, the server marks the session as disconnected.
ICA keep-alive does not work if you are using session reliability. Congure ICA keep-alive only for connections that are not
using Session Reliability.
T his setting allows or prevents the integration of users' locally-installed applications with hosted applications within a
hosted desktop environment.
When a user launches a locally-installed application, that application appears to run within their virtual desktop, even
though it is actually running locally.
T his setting species websites that are redirected to and launched in the local Web browser. T his might include websites
requiring locale information, such as msn.com or newsgoogle.com, or websites containing rich media content that are
better rendered on the user device.
T his setting species websites that are rendered in the environment in which they are launched.
T his setting enables or disables the automatic display of the keyboard on mobile device screens.
T his setting is disabled and not available for Windows 10 or Windows Server 2016 machines.
T his setting determines the overall Citrix Receiver interface behavior by allowing or prohibiting a touch-friendly interface
that is optimized for tablet devices.
To use only the Windows interface, set this policy setting to Prohibited.
T his setting determines the types of combo boxes you can display in sessions on mobile devices. To display the device-
native combo box control, set this policy setting to Allowed. When this setting is allowed, a user can change a Citrix
Receiver for iOS session setting to use the Windows combo box.
Controls and optimizes the way XenApp and XenDesktop servers deliver HT ML5 multimedia web content to users.
1. Copy the file, HdxVideo.js, from %Program Files%/Citrix/ICA Service/HT ML5 Video Redirection on the VDA install to the
location of your internal web page.
2. Insert this line into your web page (if your web page has other scripts, include HdxVideo.js before those scripts):
<script src="HdxVideo.js" type="text/javascript"></script>
Note: If HdxVideo.js is not in the same location as your web page, use the src attribute to specify the full path to it.
If the JavaScript has not been added to your controlled web pages and the user plays an HT ML5 video, XenApp and
XenDesktop defaults to server side rendering.
For redirection of HT ML5 videos to work, allow Windows Media Redirection. T his policy is mandatory for Server Fetch
Client Render, and necessary for Client Side Fetching (which in turn also requires Windows Media client-side content
fetching to be Allowed).
HdxVideo.js replaces the browser HT ML5 Player controls with its own. To check that the HT ML5 video redirection policy is
in effect on a certain website, compare the player controls to a scenario where the HTML5 video redirection policy is
Prohibited:
play
pause
seek
repeat
audio
full screen
HT ML5 video redirection includes support for video content over T LS (HT T PS). To achieve this redirection and maintain the
T LS integrity of the webpage, place custom certicates in the computer certicate store on the VDA.
HdxVideo.js uses Secure Websockets to communicate with another process running on the VDA:
WebSocketService.exe runs on the Local System, and performs SSL termination and user session mapping. T LS Secure
WebSocket is listening on 127.0.0.1 port 9001.
T his setting applies only to Windows Media and not to HT ML5. It requires you enable Optimization for Windows Media
multimedia redirection over WAN.
T his setting species the maximum video quality level allowed for an HDX connection. When congured, maximum video
quality is limited to the specied value, ensuring that multimedia Quality of Service (QoS) is maintained within an
environment.
T o limit the maximum video quality level allowed, choose one of the following options:
1080p/8.5mbps
720p/4.0mbps
480p/720kbps
380p/400kbps
240p/200kbps
Playing multiple videos simultaneously on the same server consumes large amounts of resources and may impact server
When adding this setting to a policy, make sure the Windows Media Redirection setting is present and set to Allowed.
When using multimedia conferencing, make sure the following conditions are met:
Manufacturer-supplied drivers for the web cam used for multimedia conferencing are installed.
Connect the web cam to the user device before initiating a video conferencing session. T he server uses only one installed
web cam at any given time. If multiple web cams are installed on the user device, the server attempts to use each web
cam in succession until a video conferencing session is created successfully.
T his setting applies only to Windows Media and not to HT ML5. T he setting enables real-time multimedia transcoding,
allowing audio and video media streaming to mobile devices over degraded networks, and enhancing the user experience by
improving how Windows Media content is delivered over a WAN.
By default, the delivery of Windows Media content over the WAN is optimized.
When adding this setting to a policy, make sure the Windows Media Redirection setting is present and set to Allowed.
When this setting is enabled, real-time multimedia transcoding is deployed automatically as needed to enable media
streaming, providing a seamless user experience even in extreme network conditions.
T his setting applies only to Windows Media and enables real-time multimedia transcoding to be done in the Graphics
Processing Unit (GPU) on the Virtual Delivery Agent (VDA). It improve server scalability. GPU transcoding is available only if the
VDA has a supported GPU for hardware acceleration. Otherwise, transcoding falls back to the CPU.
By default, using the GPU on the VDA to optimize the delivery of Windows Media content over the WAN is prohibited.
When adding this setting to a policy, make sure the Windows Media Redirection and Optimization for Windows Media
multimedia redirection over WAN settings are present and set to Allowed.
T his setting applies to both HT ML5 and Windows Media. For it to work with HT ML5, set the HTML video redirection
policy to Allowed.
Administrators can use the Windows media fallback prevention policy setting to specify the methods that will be
attempted to deliver streamed content to users.
By default, this setting is not congured. When the setting is set to Not Confgured, the behavior is the same as Play all
content.
When the content does not play, the error message "Company has blocked video because of lack of resources" displays in
the player window (for a default duration of 5 seconds).
T he duration of this error message can be customized with the following registry key on the VDA. If the registry entry does
not exist, the duration defaults to 5 seconds.
Warning
Editing the registry incorrectly can cause serious problems that may require you to reinstall your operating system. Citrix cannot
guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk. Be
sure to back up the registry before you edit it.
\HKLM\SOFT WARE\Wow6432Node\Citrix\HdxMediastream
or
\HKLM\SOFT WARE\Citrix\HdxMediastream
Name: VideoLoadManagementErrDuration
Type: DWORD
Unit: seconds
T his setting applies to both HT ML5 and Windows Media. T he setting enables a user device to stream multimedia les
directly from the source provider on the internet or intranet, rather than through the XenApp or XenDesktop host server.
By default, this setting is Allowed. Allowing this setting improves network usage and server scalability by moving any
processing on the media from the host server to the user device. It also removes the requirement that an advanced
multimedia framework such as Microsoft DirectShow or Media Foundation be installed on the user device. the user device
requires only the ability to play a le from a URL
When adding this setting to a policy, make sure the Windows Media Redirection setting is present and set to Allowed. If
Windows Media Redirection is disabled, the streaming of multimedia les to the user device direct from the source
provider is also disabled.
T his setting applies to both HT ML5 and Windows Media and controls and optimizes the way servers deliver streaming audio
and video to users.
By default, this setting is Allowed. For HT ML5, this setting doesn't take effect if the policy HTML5 video redirection is
Prohibited.
Allowing this setting increases the quality of audio and video rendered from the server to a level that compares with audio
and video played locally on a user device. T he server streams multimedia to the client in the original, compressed form and
allows the user device to decompress and render the media.
Windows Media redirection optimizes multimedia les that are encoded with codecs that adhere to Microsoft DirectShow,
DirectX Media Objects (DMO), and Media Foundation standards. To play back a given multimedia le, a codec compatible
with the encoding format of the multimedia le must be present on the user device.
By default, audio is disabled on Citrix Receiver. To allow users to run multimedia applications in ICA sessions, turn on audio or
give users permission to turn on audio in their Citrix Receiver interface.
Select Prohibited only if playing media using Windows Media redirection appears worse than when rendered using basic
ICA compression and regular audio. T his is rare but can happen under low bandwidth conditions, for example, with media
with a very low frequency of key frames.
T his setting species a buffer size from 1 to 10 seconds for multimedia acceleration.
T his setting enables or disables using the buffer size specied in the Windows Media Redirection buf f er size setting.
If this setting is disabled or if the Windows Media Redirection buffer size setting is not congured, the server uses the
default buffer size value (ve seconds).
When enabled, this setting opens a UDP port on the server to support all connections congured to use Audio over UDP
Realtime Transport.
T his setting species the range of port numbers (in the form lowest port number,highest port number) used by the Virtual
Delivery Agent (VDA) to exchange audio packet data with the user device. T he VDA attempts to use each UDP port pair to
exchange data with the user device, starting with the lowest and incrementing by two for each subsequent attempt. Each
port handles both inbound and outbound trafc.
Multi-Port policy
T his setting species the TCP ports to be used for ICA trafc and establishes the network priority for each port.
When you configure ports, you can assign the following priorities:
Very High - for real-time activities, such as webcam conferences
High - for interactive elements, such as screen, keyboard, and mouse
Medium - for bulk processes, such as client drive mapping
Low - for background activities, such as printing
Each port must have a unique priority. For example, you cannot assign a Very High priority to both CGP port 1 and CGP port
3.
To remove a port from prioritization, set the port number to 0. You cannot remove the primary port and you cannot modify
its priority level.
When conguring this setting, restart the server. T his setting takes effect only when the Multi-Stream computer setting
policy setting is enabled.
If you use Citrix NetScaler SD-WAN with Multi-Stream support in your environment, you do not need to congure this
When configuring this setting, reboot the server to ensure changes take effect.
Important: Using this policy setting in conjunction with bandwidth limit policy settings such as Overall session bandwidth
limit may produce unexpected results. When including this setting in a policy, ensure that bandwidth limit settings are not
included.
Multi-Stream user setting
T his setting takes effect only on hosts where the Multi-Stream computer setting policy setting is enabled.
Important: Using this policy setting with bandwidth limit policy settings such as Overall session bandwidth limit may produce
unexpected results. When including this setting in a policy, ensure that bandwidth limit settings are not included.
For Virtual Delivery Agent versions earlier than 7.0, use the following policy settings to congure port redirection. For VDA
versions 7.0 through 7.8, congure these settings using the registry; see Congure COM Port and LPT Port Redirection
settings using the registry. For VDA version 7.9, use the following policy settings.
T his setting enables or disables automatic connection of COM ports on user devices when users log on to a site.
T his setting enables or disables automatic connection of LPT ports on user devices when users log on to a site.
T his setting allows or prevents access to COM ports on the user device.
T his setting allows or prevents access to LPT ports on the user device.
LPT ports are used only by legacy applications that send print jobs to the LPT ports and not to the print objects on the
user device. Most applications today can send print jobs to printer objects. T his policy setting is necessary only for servers
that host legacy applications that print to LPT ports.
Note, although Client COM port redirection is bi-directional, LPT port redirection is output only and limited to \\client\LPT 1
and \\client\LPT 2 within an ICA session.
T his setting controls whether client printers are mapped to a server when a user logs on to a session.
By default, client printer mapping is allowed. If this setting is disabled, the PDF printer for the session is not auto-created.
T his setting species how the default printer on the user device is established in a session.
By default, the user's current printer is used as the default printer for the session.
T o use the current Remote Desktop Services or Windows user profile setting for the default printer, select Do not adjust
the user's default printer. If you choose this option, the default printer is not saved in the profile and it does not change
according to other session or client properties. T he default printer in a session will be the first printer auto-created in the
session, which is either:
T he first printer added locally to the Windows server in Control Panel > Devices and Printers.
T he first auto-created printer, if there are no printers added locally to the server.
You can use this option to present users with the nearest printer through prole settings (known as proximity printing).
Printer assignments
T his setting provides an alternative to the Default printer and Session printers settings. Use the individual Default printer
and Session printers settings to congure behaviors for a site, large group, or organizational unit. Use the Printer
assignments setting to assign a large group of printers to multiple users.
T his setting species how the default printer on the listed user devices is established in a session.
By default, the user's current printer is used as the default printer for the session.
It also species the network printers to be auto-created in a session for each user device. By default, no printers are
specied.
To use the current Remote Desktop Services or Windows user prole setting for the default printer, select Do no adjust.
If you choose this option, the default printer is not saved in the prole and it does not change according to other
session or client properties. T he default printer in a session will be the rst printer auto-created in the session, which is
either:
T he first printer added locally to the Windows server in Control Panel > Devices and Printers.
T he first auto-created printer, if there are no printers added locally to the server.
When setting the session printers value: to add printers, type the UNC path of the printer you want to auto-create.
T his setting species the events that are logged during the printer auto-creation process. You can choose to log no errors
or warnings, only errors, or errors and warnings.
An example of a warning is an event in which a printers native driver could not be installed and the Universal print driver is
installed instead. To use the Universal print driver in this scenario, congure the Universal print driver usage setting to Use
universal printing only or Use universal printing only if requested driver is unavailable.
Session printers
To add printers, type the UNC path of the printer you want to auto-create. After adding the printer, you can apply
customized settings for the current session at every logon.
T his setting allows or prevents a delay in connecting to a session so that server desktop printers can be auto-created.
T his setting species the client printers that are auto-created. T his setting overrides default client printer auto-creation
settings.
T his setting takes effect only if the Client printer redirection setting is present and set to Allowed.
Note: Hotfixes that address the issues with this policy setting are available as Knowledge Center articles CT X141565 and
CT X141566.
T his setting enables or disables autocreation of the generic Citrix Universal Printer object for sessions where a user device
compatible with Universal Printing is in use.
T his setting selects the naming convention for auto-created client printers.
Select Standard printer names to use printer names such as "HPLaserJet 4 from clientname in session 3."
Select Legacy printer names to use old-style client printer names and preserve backward compatibility for users or groups
using MetaFrame Presentation Server 3.0 or earlier. An example of a legacy printer name is "Client/clientname#/HPLaserJet
4." T his option is less secure.
Note: T his option is provided only for backwards compatibility with legacy versions of XenApp and XenDesktop.
Direct connections to print servers
Enable direct connections if the network print server is not across a WAN from the virtual desktop or server hosting
applications. Direct communication results in faster printing if the network print server and the virtual desktop or server
hosting applications are on the same LAN.
Disable direct connections if the network is across a WAN or has substantial latency or limited bandwidth. Print jobs are
routed through the user device where they are redirected to the network print server. Data sent to the user device is
compressed, so less bandwidth is consumed as the data travels across the WAN.
If two network printers have the same name, the printer on the same network as the user device is used.
T his setting species the driver substitution rules for auto-created client printers.
T his setting is congured to exclude Microsoft OneNote and XPS Document Writer from the auto-created client printers
list.
When you dene driver substitution rules, you can allow or prevent printers to be created with the specied driver.
Additionally, you can allow created printers to use only universal print drivers. Driver substitution overrides or maps printer
driver names the user device provides, substituting an equivalent driver on the server. T his gives server applications access to
client printers that have the same drivers as the server, but different driver names.
You can add a driver mapping, edit an existing mapping, override custom settings for a mapping, remove a mapping, or
change the order of driver entries in the list. When adding a mapping, enter the client printer driver name and then select
the server driver you want to substitute.
T his setting species whether or not to store printer properties and where to store them.
By default, the system determines if printer properties are stored on the user device, if available, or in the user prole.
T his setting enables or disables the retention and re-creation of printers on the user device. By default, client printers are
auto-retained and auto-restored.
Retained printers are user-created printers that are created again, or remembered, at the start of the next session. When
XenApp recreates a retained printer, it considers all policy settings except the Auto-create client printers setting.
Restored printers are printers fully customized by an administrator, with a saved state that is permanently attached to a
client port.
T his setting enables or disables the automatic installation of printer drivers from the Windows in-box driver set or from
driver packages staged on the host using pnputil.exe /a.
T his setting species the order in which universal printer drivers are used, beginning with the rst entry in the list.
You can add, edit, or remove drivers, and change the order of drivers in the list.
Universal printing employs generic printer drivers instead of standard model-specic drivers, potentially simplifying the burden
of driver management on host computers. T he availability of universal print drivers depends on the capabilities of the user
device, host, and print server software. In certain congurations, universal printing might not be available.
T his setting enables or disables the Universal Print Server feature on the virtual desktop or the server hosting applications.
Apply this policy setting to Organizational Units (OUs) containing the virtual desktop or server hosting applications.
When adding this setting to a policy, select one of the following options:
Enabled with f allback to Windows native remote printing. Network printer connections are serviced by the Universal
Print Server, if possible. If the Universal Print Server is not available, the Windows Print Provider is used. T he Windows Print
Provider continues to handle all printers previously created with the Windows Print Provider.
Enabled with no f allback to Windows native remote printing. Network printer connections are serviced by the
Universal Print Server exclusively. If the Universal Print Server is unavailable, the network printer connection fails. T his
setting effectively disables network printing through the Windows Print Provider. Printers previously created with the
Windows Print Provider are not created while a policy containing this setting is active.
Disabled. T he Universal Print Server feature is disabled. No attempt is made to connect with the Universal Print Server
when connecting to a network printer with a UNC name. Connections to remote printers continue to use the Windows
native remote printing facility.
T his setting species the TCP port number used by the Universal Print Server print data stream Common Gateway Protocol
(CGP) listener. Apply this policy setting only to OUs containing the print server.
T his setting species the upper boundary (in kilobits per second) for the transfer rate of print data delivered from each print
job to the Universal Print Server using CGP. Apply this policy setting to OUs containing the virtual desktop or server hosting
applications.
T his setting species the TCP port number used by the Universal Print Server's web service (HT T P/SOAP) listener. T he
Universal Print Server is an optional component that enables the use of Citrix universal print drivers for network printing
scenarios. When the Universal Print Server is used, printing commands are sent from XenApp and XenDesktop hosts to the
Universal Print Server via SOAP over HT T P. T his setting modies the default TCP port on which the Universal Print Server
listens for incoming HT T P/SOAP requests.
You must congure both host and print server HT T P port identically. If you do not congure the ports identically, the host
software will not connect to the Universal Print Server. T his setting changes the VDA on XenApp and XenDesktop. In
T his setting lists the Universal Print Servers to be used to load balance printer connections established at session launch,
after evaluating other Citrix printing policy settings. To optimize printer creation time, Citrix recommends that all print
servers have the same set of shared printers. T here is no upper limit to the number of print servers which can be added for
load balancing.
T his setting also implements print server failover detection and printer connections recovery. T he print servers are checked
periodically for availability. If a server failure is detected, that server is removed from the load balancing scheme, and printer
connections on that server are redistributed among other available print servers. When the failed print server recovers, it is
returned to the load balancing scheme.
Click Validate Servers to check that each server is a print server and that all servers have an identical set of shared printers
installed. T his operation may take some time.
T his setting species how long the load balancer should wait for an unavailable print server to recover before it determines
that the server is permanently ofine and redistributes its load to other available print servers.
T his setting controls the method of processing the EMF spool le on the Windows user device.
T his setting species the maximum quality and the minimum compression level available for images printed with the Citrix
Universal print driver.
By default, the image compression limit is set to Best quality (lossless compression).
When adding this setting to a policy that includes the Universal printing optimization defaults setting, be aware of the
following:
If the compression level in the Universal printing image compression limit setting is lower than the level defined in the
Universal printing optimization defaults setting, images are compressed at the level defined in the Universal printing image
compression limits setting.
If compression is disabled, the Desired image quality and Enable heavyweight compression options of the Universal
printing optimization defaults setting have no effect in the policy.
T his setting specifies the default values for printing optimization when the universal print driver is created for a session.
Desired image quality specifies the default image compression limit applied to universal printing. By default, Standard
Quality is enabled, meaning that users can only print images using standard or reduced quality compression.
Enable heavyweight compression enables or disables reducing bandwidth beyond the compression level set by Desired
image quality, without losing image quality. By default, heavyweight compression is disabled.
Note: All of these options are supported for EMF printing. For XPS printing, only the Desired image quality option is
supported.
When adding this setting to a policy that includes the Universal printing image compression limit setting, be aware of the
following:
If the compression level in the Universal printing image compression limit setting is lower than the level defined in the
Universal printing optimization defaults setting, images are compressed at the level defined in the Universal printing image
compression limits setting.
If compression is disabled, the Desired image quality and Enable heavyweight compression options of the Universal
printing optimization defaults setting have no effect in the policy.
T his setting species whether or not to use the print preview function for auto-created or generic universal printers.
By default, print preview is not used for auto-created or generic universal printers.
T his setting species the maximum dots per inch (dpi) available for generating printed output in a session.
By default, No Limit is enabled, meaning users can select the maximum print quality allowed by the printer to which they
connect.
If this setting is congured, it limits the maximum print quality available to users in terms of output resolution. Both the print
quality itself and the print quality capabilities of the printer to which the user connects are restricted to the congured
setting. For example, if congured to Medium Resolution (600 DPI), users are restricted to printing output with a maximum
quality of 600 DPI and the Print Quality setting on the Advanced tab of the Universal Printer dialog box shows resolution
settings only up to and including Medium Quality (600 DPI).
T his setting species the minimum level at which to encrypt session data sent between the server and a user device.
Important: For the Virtual Delivery Agent 7.x, this policy setting can be used only to enable the encryption of the logon
data with RC5 128-bit encryption. Other settings are provided only for backwards compatibility with legacy versions of
XenApp and XenDesktop.
For the VDA 7.x, encryption of session data is set using the basic settings of the VDA's Delivery Group. If Enable Secure ICA
is selected for the Delivery Group, session data is encrypted with RC5 (128 bit) encryption. If Enable Secure ICA is not
selected for the Delivery Group, session data is encrypted with Basic encryption.
T he settings you specify for client-server encryption can interact with any other encryption settings in your environment
and your Windows operating system. If a higher priority encryption level is set on either a server or user device, settings you
specify for published resources can be overridden.
You can raise encryption levels to further secure communications and message integrity for certain users. If a policy requires
a higher encryption level, Citrix Receivers using a lower encryption level are denied connection.
SecureICA does not perform authentication or check data integrity. To provide end-to-end encryption for your site, use
SecureICA with T LS encryption.
SecureICA does not use FIPS-compliant algorithms. If this is an issue, congure the server and Citrix Receivers to avoid using
SecureICA.
T his setting determines, in milliseconds, how long an uninterrupted user session is maintained if there is no input from the
user.
By default, idle connections are not disconnected (server idle timer interval = 0).
Note
When this policy setting is used, an "Idle timer expired" dialog box might appear to users when the session has been idle for the
specied time. T his is a Mircosoft dialog box that is not controlled by Citirx policy settings. For more information, see
http://support.citrix.com/article/CT X118618.
T his setting enables or disables a timer that species how long a disconnected, locked desktop can remain locked before
the session is logged off.
T his setting species how many minutes a disconnected, locked desktop can remain locked before the session is logged off.
T his setting enables or disables a timer that species the maximum duration of an uninterrupted connection between a
user device and a desktop.
T his setting species the maximum number of minutes for an uninterrupted connection between a user device and a
desktop.
T his setting enables or disables a timer that species how long an uninterrupted user device connection to a desktop will be
maintained if there is no input from the user.
T his setting species how many minutes an uninterrupted user device connection to a desktop will be maintained if there is
no input from the user.
By default, idle connections are maintained for 1440 minutes (24 hours).
T his setting allows or prevents sessions to remain open during a loss of network connectivity. Session reliability, along with
auto client reconnection, allows users to automatically reconnect to their Citrix Receiver sessions after recovering from
network disruptions.
For Citrix Receiver for Windows 4.7 and later, session reliability uses only the policy settings from Citrix Studio. Updates to
these policies in Studio synchronize session reliability from server to client. With older versions of Citrix Receiver for
Windows, to congure session reliability, use a Studio policy and modify the registry or the default.ica le.
Note: Setting the Enable session reliability option to Disabled in the Citrix Receiver Group Policy Object administrative
template or in the Citrix Studio policy disables session reliability. If you didn't congure the Enable session reliability option
in the Citrix Studio policy and set it to Disabled in the Citrix Receiver Group Policy Object administrative template, session
reliability is enabled.
Session reliability keeps sessions active and on the user's screen when network connectivity is interrupted. Users continue
to see the application they are using until network connectivity resumes.
With session reliability, the session remains active on the server. To indicate that connectivity is lost, the user display
becomes opaque. T he user might see a frozen session during the interruption and can resume interacting with the
application when the network connection is restored. Session reliability reconnects users without reauthentication
prompts.
If you use both session reliability and auto client reconnect, the two features work in sequence. Session reliability closes (or
disconnects) the user session after the amount of time specied in the session reliability timeout setting. After that, the
auto client reconnect settings take effect, attempting to reconnect the user to the disconnected session.
T his setting species the TCP port number for incoming session reliability connections.
T his setting species the length of time, in seconds, the session reliability proxy waits for a user to reconnect before
allowing the session to be disconnected.
Although you can extend the amount of time a session is kept open, this feature is a convenience and doesn't prompt the
user for reauthentication. T he longer a session open, chances increase that a user might leave the device unattended and
potentially accessible to unauthorized users.
T his setting enables or disables estimating the local time zone of user devices that send inaccurate time zone information
to the server.
By default, the server estimates the local time zone when necessary.
T his setting is intended for use with legacy Citrix Receivers or ICA clients that do not send detailed time zone information
to the server. When used with Citrix Receivers that send detailed time zone information to the server, such as supported
versions of Citrix Receiver for Windows, this setting has no effect.
T his setting determines the time zone setting of the user session. T his can be either the time zone of the user session or
the time zone of the user device.
For this setting to take effect, enable the Allow time zone redirection setting in the Group Policy Editor (User Conguration
> Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Device
and Resource Redirection).
Note
T WAIN 2.0 is supported with Citrix Receiver for Windows 4.5.
T his setting allows or prevents users from accessing T WAIN devices on the user device from image processing applications
hosted on servers. By default, T WAIN device redirection is allowed.
T his setting species the level of compression of image transfers from client to server. Use Low for best image quality,
Medium for good image quality, or High for low image quality. By default, medium compression is applied.
Client USB device optimization rules can be applied to devices to disable optimization, or to change the optimization mode.
When a user plugs in a USB input device, the host checks if the device is allowed by the USB policy settings. If the device is
allowed, the host then checks the Client USB device optimization rules for the device. If no rule is specied, then the
device is not optimized. Capture mode (04) is the recommended mode for signature devices. For other devices which have
degraded performance over higher latency, administrators can enable Interactive mode (02) . See descriptions below for
available modes.
Good to know
For the use of Wacom signature pads and tablets, Citrix recommends that you disable the screen saver. Steps on how to
do this are at the end of this section.
Support for the optimization of Wacom ST U signature pads and tablets series of products has been preconfigured in
the installation of XenApp and XenDesktop policies.
Signature devices work across XenApp and XenDesktop and do not require a driver to be used as a signature device.
Wacom has additional software that can be installed to customize the device further. See http://www.wacom.com/.
Drawing tablets. Certain drawing input devices may present as an HID device on PCI/ACPI buses and are not supported.
T hese devices should be attached on a USB host controller on the client to be redirected inside a XenDesktop session.
Policy rules take the format of tag=value expressions separated by whitespace. T he following tags are supported:
Examples
Mode=00000002 VID=1230 PID=1230 class=03 #Input device operating in interactive mode (default)
Mode=00000001 VID=1230 PID=1230 class=03 #Input device operating without any optimization
For the use of Wacom signature pads and tablets, Citrix recommends that you disable the screen saver as follows:
After the setting is set for one signature pad model, it is applied to all models.
T his setting allows or prevents redirection of USB devices to and from the user device.
When a user plugs in a USB device, the host device checks it against each policy rule in turn until a match is found. T he rst
match for any device is considered denitive. If the rst match is an Allow rule, the device is remoted to the virtual desktop.
If the rst match is a Deny rule, the device is available only to the local desktop. If no match is found, default rules are used.
Policy rules take the format {Allow:|Deny:} followed by a set of tag= value expressions separated by whitespace. T he
following tags are supported:
T his setting allows or prevents plug-and-play devices such as cameras or point-of-sale (POS) devices to be used in a client
session.
By default, plug-and-play device redirection is allowed. When set to Allowed, all plug-and-play devices for a specic user or
group are redirected. When set to Prohibited, no devices are redirected.
T his policy setting is available in VDA versions 7.6 FP3 and later. T he 8-bit option is available in VDA versions 7.12 and later.
T his setting makes it possible to lower color depth at which simple graphics are sent over the network. Lowering to 8-bit or
16-bit per pixel potentially improves responsiveness over low bandwidth connections, at the cost of a slight degradation in
image quality. T he 8-bit color depth is not supported when the Use video codec for compression policy setting is set to For
the entire screen.
VDAs will fall back to 24-bit (default) color depth if the 8-bit setting is applied on VDA version 7.11 and earlier.
T his setting species the maximum number of frames per second sent from the virtual desktop to the user device.
Setting a high number of frames per second (for example, 30) improves the user experience, but requires more bandwidth.
Decreasing the number of frames per second (for example, 10) maximizes server scalability at the expense of user
experience. For user devices with slower CPUs, specify a lower value to improve the user experience.
Visual quality
T his setting species the desired visual quality for images displayed on the user device.
If the Legacy graphics mode setting is enabled, the Visual quality setting has no effect in the policy.
Note: For the Virtual Delivery Agent 7.x, this policy setting applies only when the Legacy graphics mode policy setting is
enabled.
T his setting species the minimum acceptable image quality for Adaptive Display. T he less compression used, the higher the
quality of images displayed. Choose from Ultra High, Very High, High, Normal, or Low compression.
T his setting specifies whether or not Adaptive Display is enabled. Adaptive Display automatically adjusts the image quality
of videos and transitional slides in slide shows based on available bandwidth. With Adaptive Display enabled, users should
see smooth-running presentations with no reduction in quality.
By default, Adaptive Display is enabled.
For VDA versions 7.0 through 7.6, this setting applies only when Legacy graphics mode is enabled. For VDA versions 7.6 FP1
and later, this setting applies when Legacy graphics mode is enabled, or when the legacy graphics mode is disabled and a
video codec is not used to compress graphics.
When legacy graphics mode is enabled, the session must be restarted before policy changes take effect. Adaptive Display is
mutually exclusive with Progressive Display; enabling Adaptive Display disables Progressive Display and vice versa. However,
both Progressive Display and Adaptive Display can be disabled at the same time. Progressive Display, as a legacy feature, is
not recommended for XenApp or XenDesktop. Setting Progressive threshold Level will disable Adaptive Display.
Note: For the Virtual Delivery Agent 7.x, this policy setting applies only when the Legacy graphics mode policy setting is
enabled.
T his setting provides a less detailed but faster initial display of images.
T he more detailed image, dened by the normal lossy compression setting, appears when it becomes available. Use Very
High or Ultra High compression for improved viewing of bandwidth-intensive graphics such as photographs.
For progressive compression to be effective, its compression level must be higher than the Lossy compression level setting.
Note: T he increased level of compression associated with progressive compression also enhances the interactivity of
dynamic images over client connections. T he quality of a dynamic image, such as a rotating three-dimensional model, is
temporarily decreased until the image stops moving, at which time the normal lossy compression setting is applied.
T he following policy settings are related:
Progressive compression threshold value
Progressive heavyweight compression
T his setting specifies the minimum frame rate per second the system attempts to maintain, for dynamic images, under low
bandwidth conditions.
By default, this is set to 10fps.
For VDA versions 7.0 through 7.6, this setting applies only when Legacy graphics mode is enabled. For VDA versions 7.6 FP1
and later, this setting applies when the Legacy graphics mode is disabled or enabled.
T his setting enables or disables the use of extra color compression on images delivered over client connections that are
limited in bandwidth, improving responsiveness by reducing the quality of displayed images.
By default, extra color compression is disabled.
When enabled, extra color compression is applied only when the client connection bandwidth is below the Extra color
compression threshold value. When the client connection bandwidth is above the threshold value or Disabled is selected,
extra color compression is not applied.
Note: For the Virtual Delivery Agent 7.x, this policy setting applies only when the Legacy graphics mode policy setting is
enabled.
T his setting represents the maximum bandwidth in kilobits per second for a connection below which extra color
compression is applied. If the client connection bandwidth drops below the set value, extra color compression, if enabled, is
applied.
Heavyweight compression
Note: For the Virtual Delivery Agent 7.x, this policy setting applies only when the Legacy graphics mode policy setting is
enabled.
T his setting enables or disables reducing bandwidth beyond progressive compression without losing image quality by using a
more advanced, but more CPU-intensive, graphical algorithm.
If enabled, heavyweight compression applies to all lossy compression settings. It is supported on Citrix Receiver but has no
effect on other plug-ins.
Note: For the Virtual Delivery Agent 7.x, this policy setting applies only when the Legacy graphics mode policy setting is
enabled.
T his setting controls the degree of lossy compression used on images delivered over client connections that are limited in
bandwidth. In such cases, displaying images without compression can be slow.
For improved responsiveness with bandwidth-intensive images, use high compression. Where preserving image data is vital;
Note: For the Virtual Delivery Agent 7.x, this policy setting applies only when the Legacy graphics mode policy setting is
enabled.
T his setting represents the maximum bandwidth in kilobits per second for a connection to which lossy compression is
applied.
Adding the Lossy compression level setting to a policy and including no specied threshold can improve the display speed of
high-detail bitmaps, such as photographs, over a LAN.
WebSockets connections
T his setting provides a comma-separated list of trusted origin servers, usually Citrix Receiver for Web, expressed as URLs.
Only WebSockets connections originating from one of these addresses is accepted by the server.
By default, the wildcard * is used to trust all Citrix Receiver for Web URLs.
T he protocol should be HT T P or HT T PS. If the port is not specied, port 80 is used for HT T P and port 443 is used for
HT T PS.
T he wildcard * can be used within the URL, except as part of an IP address (10.105.*.*).
For information about calculating the load evaluator index, see CT X202150.
T his setting species the maximum number of concurrent logons a server can accept.
CPU usage
T his setting species the level of CPU usage, as a percentage, at which the server reports a full load. When enabled, the
default value at which the server reports a full load is 90%.
By default, this setting is disabled and CPU usage is excluded from load calculations.
T his setting species the priority level at which a process' CPU usage is excluded from the CPU Usage load index.
Disk usage
T his setting species the disk queue length at which the server reports a 75% full load. When enabled, the default value for
disk queue length is 8.
By default, this setting is disabled and disk usage is excluded from load calculations.
T his setting species the maximum number of sessions a server can host. When enabled, the default setting for maximum
number of sessions a server can host is 250.
Memory usage
T his setting species the level of memory usage, as a percentage, at which the server reports a full load. When enabled, the
default value at which the server reports a full load is 90%.
By default, this setting is disabled and memory usage is excluded from load calculations.
T his setting species an approximation of the base operating system's memory usage and denes, in MB, the memory
usage below which a server is considered to have zero load.
Other information (such as the names of the equivalent .ini le settings and which version of prole management is required
for a policy setting) is available in Prole Management Policies.
T his setting enables prole management to examine your environment, for example, to check for the presence of Personal
vDisks and congure Group Policy accordingly. Only Prole management policies in the Not Congured state are adjusted,
so any customizations made previously are preserved. T his feature speeds up deployment and simplies optimization. No
conguration of the feature is necessary, but you can disable automatic conguration when upgrading (to retain settings
from earlier versions) or when troubleshooting. Automatic conguration does not work in XenApp or other environments.
If this setting is not congured here, the value from the .ini le is used.
If this setting is not congured here or in the .ini le, automatic conguration is turned on so Prole management settings
might change if your environment changes.
T his setting enables Prole management to log a user off if a problem is encountered; for example, if the user store is
unavailable. When enabled, an error message is displayed to the user before they are logged off. When disabled, users are
given a temporary prole.
By default, this setting is disabled and users are given a temporary prole if a problem is encountered.
If this setting is not congured here, the value from the .ini le is used.
If this setting is not congured here or in the .ini le, a temporary prole is provided.
T his setting species the number of attempts Prole management makes to access locked les.
If this setting is not congured here, the value from the .ini le is used.
If this setting is not congured here or in the .ini le, the default value is used.
T his setting enables Prole management to process index.dat on logoff to remove Internet cookies left in the le system
after sustained browsing that can lead to prole bloat. Enabling this setting increases logoff times, so only enable it if you
experience this issue.
By default, this setting is disabled and Prole management does not process index.dat on logoff.
If this setting is not congured here, the value from the .ini le is used.
If this setting is not congured here or in the .ini le, no processing of Index.dat takes place.
T his setting enables modied les and folders (but not registry settings) to be synchronized to the user store during a
session, before logoff.
If this setting is not congured here, the value from the .ini le is used.
Important: Citrix recommends enabling Profile management only after carrying out all other setup tasks and testing how
Citrix user profiles perform in your environment.
If this setting is not congured here, the value from the .ini le is used.
If this setting is not congured here or in the .ini le, Prole management does not process Windows user proles in any
way.
Excluded groups
T his setting species which computer local groups and domain groups (local, global, and universal) are excluded from Prole
management processing.
When enabled, Prole management does not process members of the specied user groups.
By default, this setting is disabled and members of all user groups are processed.
If this setting is not congured here, the value from the .ini le is used .
If this setting is not congured here or in the .ini le, members of all user groups are processed.
T his setting enables ofine prole support, allowing proles to synchronize with the user store at the earliest opportunity
after a network disconnection.
T his setting is applicable to laptop or mobile users who roam. When a network disconnection occurs, proles remain intact
on the laptop or device even after restarting or hibernating. As mobile users work, their proles are updated locally and are
If this setting is not congured here, the value from the .ini le is used.
If this setting is not congured here or in the .ini le, support for ofine proles is disabled.
T his setting species the path to the directory (user store) in which user settings, such as registry settings and synchronized
les, are saved.
If this setting is disabled, user settings are saved in the Windows subdirectory of the home directory.
Use the following types of variables when configuring this policy setting:
System environment variables enclosed in percent signs (for example, %ProfVer%). Note that system environment
variables generally require additional setup.
Attributes of the Active Directory user object enclosed in hashes (for example, #sAMAccountName#).
Profile management variables. For more information, see the Profile management documentation.
You can also use the %username% and %userdomain% user environment variables and create custom attributes to fully
dene organizational variables such as location or users. Attributes are case-sensitive.
Examples:
\\server\share\#sAMAccountName# stores the user settings to the UNC path \\server\share\JohnSmith (if
#sAMAccountName# resolves to JohnSmith for the current user)
\\server\profiles$\%USERNAME%.%USERDOMAIN%\!CT X_PROFILEVER!!CT X_OSBIT NESS! might expand to
\\server\profiles$\JohnSmith.DOMAINCONT ROLLER1\v2x64
Important: Whichever attributes or variables you use, check that this setting expands to the folder one level higher than
the folder containing NT USER.DAT . For example, if this file is contained in
\\server\profiles$\JohnSmith.Finance\v2x64\UPM_Profile, set the path to the user store as
\\server\profiles$\JohnSmith.Finance\v2x64, not the \UPM_Profile subfolder.
If this setting is not congured here, the value from the .ini le is used.
If this setting is not congured here or in the .ini le, the Windows directory on the home drive is used.
T his setting species whether or not logons of members of the BUILT IN\Administrators group are processed. T his allows
domain users with local administrator rights, typically users with assigned virtual desktops, to bypass processing, log on, and
troubleshoot a desktop experiencing problems with Prole management.
If this setting is disabled or not congured on server operating systems, Prole management assumes that logons by
domain users, but not local administrators, must be processed. On desktop operating systems, local administrator logons
By default this setting is disabled, and local administrator logons are not processed.
If this setting is not congured here, the value from the .ini le is used.
If this setting is not congured here or in the .ini le, local administrator logons are not processed.
Processed groups
T his setting species which computer local groups and domain groups (local, global, and universal) are included in Prole
management processing.
When enabled, Prole management processes only members of the specied user groups.
By default, this setting is disabled and members of all user groups are processed.
If this setting is not congured here, the value from the .ini le is used.
If this setting is not congured here or in the .ini le, members of all user groups are processed.
T his setting species the Windows user groups whose proles are processed when the cross-platform settings feature is
enabled.
By default, this setting is disabled and all user groups specied in the Processed Group policy setting are processed.
If this setting is not congured here, the value from the .ini le is used.
If this setting is not congured here or in the .ini le, all user groups are processed.
T his setting enables or disables the cross-platforms settings feature, that allows you to migrate users' proles and roam
them when a user connects to the same application running on multiple operating systems.
If this setting is not congured here, the value from the .ini le is used.
If this setting is not congured here or in the .ini le, no cross-platform settings are applied.
T his setting species the network location, as a UNC path, of the denition les copied from the download package.
Note: Users must have read access, and administrators write access, to this location and it must be either a Server Message
Block (SMB) or Common Internet File System (CIFS) file share.
By default, no path is specied.
If this setting is not congured here, the value from the .ini le is used.
If this setting is not congured here or in the .ini le, no cross-platform settings are applied.
T his setting species the path to the cross-settings store, the folder in which users' cross-platform settings are saved. T his
path can be either a UNC path or a path relative to the home directory.
If this setting is not congured here, the value from the .ini le is used.
If this setting is not congured here or in the .ini le, the default value is used.
Each platform's own set of proles are stored in a separate OU. T his means you must decide which platform's prole data
to use to seed the cross-platform settings store. T his is referred to as the base platform.
When enabled, Prole management migrates the data from the single-platform prole to the store if the cross-platform
settings store contains a denition le with no data, or if the cached data in a single-platform prole is newer than the
denition's data in the store.
Important: If this setting is enabled in multiple OUs, or multiple user or machine objects, the platform that the first user logs
on to becomes the base profile.
By default, this setting is disabled and Prole management does not migrate the data from the single-platform prole to
the store.
T his setting species a list of folders in the user prole that are ignored during synchronization.
By default, this setting is disabled and all folders in the user prole are synchronized.
If this setting is not congured here, the value from the .ini le is used.
If this setting is not congured here or in the .ini le, all folders in the user prole are synchronized.
T his setting species a list of les in the user prole that are ignored during synchronization.
By default, this setting is disabled and all les in the user prole are synchronized.
Specify le names as paths relative to the user prole (%USERPROFILE%). Note that wildcards are allowed and are applied
recursively.
If this setting is not congured here, the value from the .ini le is used.
If this setting is not congured here or in the .ini le, all les in the user prole are synchronized.
Directories to synchronize
T his setting species any les you want Prole management to include in the synchronization process that are located in
excluded folders. By default, Prole management synchronizes everything in the user prole. It is not necessary to include
subfolders of the user prole by adding them to this list. For more information, see Include and exclude items.
Example: Desktop\exclude\include ensures that the subfolder called include is synchronized even if the folder called
Desktop\exclude is not
If this setting is not congured here, the value from the .ini le is used.
If this setting is not congured here or in the .ini le, only non-excluded folders in the user prole are synchronized.
Files to synchronize
T his setting species any les you want Prole management to include in the synchronization process that are located in
excluded folders. By default, Prole management synchronizes everything in the user prole. It is not necessary to include
les in the user prole by adding them to this list. For more information, see Include and exclude items.
Paths on this list must be relative to the user prole. Relative paths are interpreted as being relative to the user prole.
Wildcards can be used but are allowed only for le names. Wildcards cannot be nested and are applied recursively.
Examples:
AppData\Local\Microsoft\Office\Access.qat specifies a file below a folder that is excluded in the default configuration
AppData\Local\MyApp\*.cfg specifies all files with the extension .cfg in the profile folder AppData\Local\MyApp and its
subfolders
If this setting is not congured here, the value from the .ini le is used.
If this setting is not congured here or in the .ini le, only non-excluded les in the user prole are synchronized.
Folders to mirror
T his setting species which folders relative to a user's prole root folder to mirror. Conguring this policy setting can help
solve issues involving any transactional folder (also known as a referential folder), that is a folder containing interdependent
les, where one le references others.
Mirroring folders allows Prole management to process a transactional folder and its contents as a single entity, avoiding
prole bloat. Be aware that, in these situations the "last write wins" so les in mirrored folders that have been modied in
more than one session will be overwritten by the last update, resulting in loss of prole changes.
If a user has two Internet Explorer sessions, each on a different server, and they visit different sites in each session, cookies
from each site are added to the appropriate server. When the user logs off from the rst session (or in the middle of a
session, if the active write back feature is congured), the cookies from the second session should replace those from the
rst session. However, instead they are merged, and the references to the cookies in Index.dat become out of date.
Further browsing in new sessions results in repeated merging and a bloated cookie folder.
Mirroring the cookie folder solves the issue by overwriting the cookies with those from the last session each time the user
logs off so Index.dat stays up to date.
If this setting is not congured here, the value from the .ini le is used.
If this policy is not congured here or in the .ini le, no folders are mirrored.
T his setting enables an administrator to access the contents of a user's redirected folders.
By default, this setting is disabled and users are granted exclusive access to the contents of their redirected folders.
T his setting enables the inclusion of the %userdomain% environment variable as part of the UNC path specied for
redirected folders.
By default, this setting is disabled and the %userdomain% environment variable is not included as part of the UNC path
specied for redirected folders.
AppData(Roaming) path
T his setting species the network location to which the contents of the AppData(Roaming) folder are redirected.
If this setting is not congured here, Prole management does not redirect the specied folder.
T his setting species how to redirect the contents of the AppData(Roaming) folder.
If this setting is not congured here, Prole management does not redirect the specied folder.
Contacts path
T his setting species the network location to which the contents of the Contacts folder are redirected.
If this setting is not congured here, Prole management does not redirect the specied folder.
T his setting species how to redirect the contents of the Contacts folder.
If this setting is not congured here, Prole management does not redirect the specied folder.
Desktop path
T his setting species the network location to which the contents of the Desktop folder are redirected.
If this setting is not congured here, Prole management does not redirect the specied folder.
T his setting species how to redirect the contents of the Desktop folder.
If this setting is not congured here, Prole management does not redirect the specied folder.
Documents path
T his setting species the network location to which les in the Documents folder are redirected.
If this setting is not congured here, Prole management does not redirect the specied folder.
T he Documents path setting must be enabled not only to redirect les to the Documents folder, but also to redirect les
to the Music, Pictures, and Videos folders.
T his setting species how to redirect the contents of the Documents folder.
T o control how to redirect the contents of the Documents folder, choose one of the following options:
Redirect to the following UNC path. Redirects content to the UNC path specified in the Documents path policy setting.
Redirect to the users home directory. Redirects content to the users home directory, typically configured as the
#homeDirectory# attribute for a user in Active Directory.
If this setting is not congured here, Prole management does not redirect the specied folder.
Downloads path
T his setting species the network location to which les in the Downloads folder are redirected.
If this setting is not congured here, Prole management does not redirect the specied folder.
T his setting species how to redirect the contents of the Downloads folder.
If this setting is not congured here, Prole management does not redirect the specied folder.
Favorites path
T his setting species the network location to which the contents of the Favorites folder are redirected.
If this setting is not congured here, Prole management does not redirect the specied folder.
T his setting species how to redirect the contents of the Favorites folder.
If this setting is not congured here, Prole management does not redirect the specied folder.
Links path
T his setting species the network location to which the contents of the Links folder are redirected.
If this setting is not congured here, Prole management does not redirect the specied folder.
T his setting species how to redirect the contents of the Links folder.
If this setting is not congured here, Prole management does not redirect the specied folder.
Music path
T his setting species the network location to which the contents of the Music folder are redirected.
If this setting is not congured here, Prole management does not redirect the specied folder.
T his setting species how to redirect the contents of the Music folder.
T o control how to redirect the contents of the Music folder, choose one of the following options:
Redirect to the following UNC path. Redirects content to the UNC path specified in the Music path policy setting.
Redirect relative to Documents folder. Redirects content to a folder relative to the Documents folder.
To redirect content to a folder relative to the Documents folder, the Documents path setting must be enabled.
If this setting is not congured here, Prole management does not redirect the specied folder.
Pictures path
T his setting species the network location to which the contents of the Pictures folder are redirected.
If this setting is not congured here, Prole management does not redirect the specied folder.
T his setting species how to redirect the contents of the Pictures folder.
T o control how to redirect the contents of the Pictures folder, choose one of the following options:
Redirect to the following UNC path. Redirects content to the UNC path specified in the Pictures path policy setting.
Redirect relative to Documents folder. Redirects content to a folder relative to the Documents folder.
To redirect content to a folder relative to the Documents folder, the Documents path setting must be enabled.
If this setting is not congured here, Prole management does not redirect the specied folder.
T his setting species how to redirect the contents of the Saved Games folder.
If this setting is not congured here, Prole management does not redirect the specied folder.
T his setting species the network location to which the contents of the Saved Games folder are redirected.
If this setting is not congured here, Prole management does not redirect the specied folder.
T his setting species how to redirect the contents of the Searches folder.
If this setting is not congured here, Prole management does not redirect the specied folder.
Searches path
T his setting species the network location to which the contents of the Searches folder are redirected.
If this setting is not congured here, Prole management does not redirect the specied folder.
T his setting species how to redirect the contents of the Start Menu folder.
If this setting is not congured here, Prole management does not redirect the specied folder.
T his setting species the network location to which the contents of the Start Menu folder are redirected.
If this setting is not congured here, Prole management does not redirect the specied folder.
T his setting species how to redirect the contents of the Video folder.
T o control how to redirect the contents of the Video folder, choose one of the following options:
Redirect to the following UNC path. Redirects content to the UNC path specified in the Video path policy setting.
Redirect relative to Documents folder. Redirects content to a folder relative to the Documents folder.
To redirect content to a folder relative to the Documents folder, the Documents path setting must be enabled.
If this setting is not congured here, Prole management does not redirect the specied folder.
Video path
T his setting species the network location to which the contents of the Video folder are redirected.
If this setting is not congured here, Prole management does not redirect the specied folder.
T his setting enables or disables verbose logging of actions performed in Active Directory.
When enabling this setting, make sure the Enable logging setting is also enabled.
If this setting is not congured here, the value from the .ini le is used.
If this setting is not congured here or in the .ini le, errors and general information are logged.
When enabling this setting, make sure the Enable logging setting is also enabled.
If this setting is not congured here, the value from the .ini le is used.
If this setting is not congured here or in the .ini le, errors and general information are logged.
Common warnings
When enabling this setting, make sure the Enable logging setting is also enabled.
If this setting is not congured here, the value from the .ini le is used.
If this setting is not congured here or in the .ini le, errors and general information are logged.
Enable logging
T his settings enables or disables Prole management logging in debug (verbose logging) mode. In debug mode, extensive
status information is logged in the log les located in "%SystemRoot%\System32\Logles\UserProleManager".
Citrix recommends enabling this setting only if you are troubleshooting Prole management.
If this setting is not congured here, the value from the .ini le is used.
If this setting is not congured here or in the .ini le, only errors are logged.
T his setting enables or disables verbose logging of actions performed in the le system.
When enabling this setting, make sure the Enable logging setting is also enabled.
If this setting is not congured here, the value from the .ini le is used.
If this setting is not congured here or in the .ini le, errors and general information are logged.
When enabling this setting, make sure the Enable logging setting is also enabled.
If this setting is not congured here, the value from the .ini le is used.
If this setting is not congured here or in the .ini le, errors and general information are logged.
Logof f
When enabling this setting, make sure the Enable logging setting is also enabled.
If this setting is not congured here, the value from the .ini le is used.
If this setting is not congured here or in the .ini le, errors and general information are logged.
Logon
When enabling this setting, make sure the Enable logging setting is also enabled.
If this setting is not congured here, the value from the .ini le is used.
If this setting is not congured here or in the .ini le, errors and general information are logged.
T his setting species the maximum permitted size for the Prole management log le, in bytes.
Citrix recommends increasing the size of this le to 5 MB or more, if you have sufcient disk space. If the log le grows
beyond the maximum size, an existing backup of the le (.bak) is deleted, the log le is renamed to .bak, and a new log le is
If this setting is not congured here, the value from the .ini le is used.
If this setting is not congured here or in the .ini le, the default value is used.
Path to log le
T his setting species an alternative path to save the Prole management log le.
By default, this setting is disabled and log les are saved in the default location:
%SystemRoot%\System32\Logles\UserProleManager.
T he path can point to a local drive or a remote network-based drive (UNC path). Remote paths can be useful in large
distributed environments but they may create signicant network trafc, which may be inappropriate for log les. For
provisioned, virtual machines with a persistent hard drive, set a local path to that drive. T his ensures log les are preserved
when the machine restarts. For virtual machines without a persistent hard drive, setting a UNC path allows you to retain the
log les, but the system account for the machines must have write access to the UNC share. Use a local path for any
laptops managed by the ofine proles feature.
If a UNC path is used for log les, Citrix recommends that an appropriate access control list is applied to the log le folder
to ensure that only authorized user or computer accounts can access the stored les.
If this setting is not congured here, the value from the .ini le is used.
If this setting is not congured here or in the .ini le, the default location
%SystemRoot%\System32\Logles\UserProleManager is used.
When enabling this setting, make sure the Enable logging setting is also enabled.
If this setting is not congured here, the value from the .ini le is used.
If this setting is not congured here or in the .ini le, errors and general information are logged.
T his setting enables or disables verbose logging of policy values when a user logs on and off.
When enabling this setting, make sure the Enable logging setting is also enabled.
If this setting is not congured here, the value from the .ini le is used.
If this setting is not congured here or in the .ini le, errors and general information are logged.
Registry actions
When enabling this setting, make sure the Enable logging setting is also enabled.
If this setting is not congured here, the value from the .ini le is used.
If this setting is not congured here or in the .ini le, errors and general information are logged.
T his setting enables or disables verbose logging of any differences in the registry when a user logs off.
When enabling this setting, make sure the Enable logging setting is also enabled.
If this setting is not congured here, the value from the .ini le is used.
If this setting is not congured here or in the .ini le, errors and general information are logged.
T his setting species an optional extension to the delay, in minutes, before Prole management deletes locally cached
proles at logoff.
A value of 0 deletes the proles immediately at the end of the logoff process. Prole management checks for logoffs every
minute, so a value of 60 ensures that proles are deleted between one and two minutes after users log off (depending on
when the last check occurred). Extending the delay is useful if you know that a process keeps les or the user registry hive
open during logoff. With large proles, this can also speed up logoff.
By default, this is set to 0 and Prole management deletes locally cached proles immediately.
When enabling this setting, ensure the Delete locally cached proles on logoff is also enabled.
If this setting is not congured here, the value from the .ini le is used.
If this setting is not congured here or in the .ini le, proles are deleted immediately.
T his setting species whether locally cached proles are deleted after a user logs off.
When this setting is enabled, a user's local prole cache is deleted after they have logged off. Citrix recommends enabling
this setting for terminal servers.
By default, this setting is disabled and a users local prole cache is retained after they log off.
If this setting is not congured here, the value from the .ini le is used.
If this setting is not congured here or in the .ini le, cached proles are not deleted.
T his setting congures how Prole management behaves if a user prole exists both in the user store and as a local
Windows user prole (not a Citrix user prole).
By default, Prole management uses the local Windows prole, but does not change it in any way.
T o control how Profile management behaves, choose one of the following options:
Use local profile. Profile management uses the local profile, but does not change it in any way.
Delete local profile. Profile management deletes the local Windows user profile, and then imports the Citrix user profile
from the user store.
Rename local profile. Profile management renames the local Windows user profile (for backup purposes) and then
imports the Citrix user profile from the user store.
If this setting is not congured here, the value from the .ini le is used.
T his setting species the types of prole migrated to the user store during logon if a user has no current prole in the user
store.
Prole management can migrate existing proles "on the y" during logon if a user has no prole in the user store. After
this, the user store prole is used by Prole management in both the current session and any other session congured with
the path to the same user store.
By default, both local and roaming proles are migrated to the user store during logon.
T o specifies the types of profile migrated to the user store during logon, choose one of the following options:
Local and roaming profiles
Local
Roaming
None (Disabled)
If you select None, the system uses the existing Windows mechanism to create new proles, as if in a environment where
Prole management is not installed.
If this setting is not congured here, the value from the .ini le is used.
If this setting is not congured here or in the .ini le, existing local and roaming proles are migrated.
T his setting species the path to the prole you want Prole management to use as a template to create new user
proles.
T he specified path must be the full path to the folder containing the NT USER.DAT registry file and any other folders and
files required for the template profile.
Note: Do not include NT USER.DAT in the path. For example, with the file \\myservername\myprofiles\template\ntuser.dat,
set the location as \\myservername\myprofiles\template.
Use absolute paths, which can be either UNC paths or paths on the local machine. Use the latter, for example, to specify a
template prole permanently on a Citrix Provisioning Services image. Relative paths are not supported.
Note: T his setting does not support expansion of Active Directory attributes, system environment variables, or the
%USERNAME% and %USERDOMAIN% variables.
By default, this setting is disabled and new user proles are created from the default user prole on the device where a user
rst logs on.
If this setting is not congured here, the value from the .ini le is used.
If this setting is not congured here or in the .ini le, no template is used.
T his setting enables the template prole to override the local prole when creating new user proles.
If a user has no Citrix user prole, but a local Windows user prole exists, by default the local prole is used (and migrated to
the user store, if this is not disabled). Enabling this policy setting allows the template prole to override the local prole used
If this setting is not congured here, the value from the .ini le is used.
If this setting is not congured here or in the .ini le, no template is used.
T his setting enables the template prole to override a roaming prole when creating new user proles.
If a user has no Citrix user prole, but a roaming Windows user prole exists, by default the roaming prole is used (and
migrated to the user store, if this is not disabled). Enabling this policy setting allows the template prole to override the
roaming prole used when creating new user proles.
If this setting is not congured here, the value from the .ini le is used.
If this setting is not congured here or in the .ini le, no template is used.
T his setting enables Prole management to use the template prole as the default prole for creating all new user proles.
By default, this setting is disabled and new user proles are created from the default user prole on the device where a user
rst logs on.
If this setting is not congured here, the value from the .ini le is used.
If this setting is not congured here or in the .ini le, no template is used.
Exclusion list
T his setting species the list of registry keys in the HKCU hive excluded from Prole management processing when a user
logs off.
When enabled, keys specied in this list are excluded from processing when a user logs off.
By default, this setting is disabled, and all registry keys in the HKCU hive are processed when a user logs off.
If this setting is not congured here, the value from the .ini le is used.
If this setting is not congured here or in the .ini le, no registry keys are excluded from processing.
Inclusion list
T his setting species the list of registry keys in the HKCU hive included in Prole management processing when a user logs
off.
When enabled, only keys specied in this list are processed when a user logs off.
By default, this setting is disabled, and all registry keys in the HKCU hive are processed when a user logs off.
If this setting is not congured here, the value from the .ini le is used.
If this setting is not congured here or in the .ini le, all of HKCU is processed .
Always cache
T his setting species whether or not Prole management caches streamed les as soon as possible after a user logs on.
Caching les after a user logs on saves network bandwidth, enhancing the user experience.
By default, this setting is disabled and streamed les are not cached as soon as possible after a user logs on.
If this setting is not congured here, the value from the .ini le is used.
T his setting species a lower limit, in megabytes, on the size of les that are streamed. Prole management caches any les
this size or larger as soon as possible after a user logs on.
By default, this is set to 0 (zero) and the cache entire prole feature is used. When the cache entire prole feature is
enabled, Prole management fetches all prole contents in the user store, after a user logs on, as a background task.
If this setting is not congured here, the value from the .ini le is used.
Prole streaming
T his setting enables and disables the Citrix streamed user proles feature. When enabled, les and folders contained in a
prole are fetched from the user store to the local computer only when they are accessed by users after they have logged
on. Registry entries and les in the pending area are fetched immediately.
If this setting is not congured here, the value from the .ini le is used.
T his setting species which user proles within an OU are streamed, based on Windows user groups.
When enabled, only user proles within the specied user groups are streamed. All other user proles are processed
normally.
By default, this setting is disabled and all user proles within an OU are processed normally.
If this setting is not congured here, the value from the .ini le is used.
When prole streaming exclusion is enabled, Prole Management does not stream folders in the exclusion list, and all the
folders are fetched immediately from the user store to the local computer when a user logs on.
T his setting species the number of days after which users' les are written back to the user store from the pending area,
in the event that the user store remains locked when a server becomes unresponsive. T his prevents bloat in the pending
area and ensures the user store always contains the most up-to-date les.
If this setting is not congured here, the value from the .ini le is used.
If this setting is not congured here or in the .ini le, the default value is used.
T he Receiver section contains policy settings that specify a list of StoreFront addresses to push to Citrix Receiver for
Windows running on the virtual desktop.
T his settings species a list of StoreFront stores administrators can choose to push to Citrix Receiver for Windows running
on the virtual desktop. When creating a Delivery Group, administrators can select which stores to push to Citrix Receiver for
Windows running on virtual desktops within that group.
Important: T he VDA requires information provided by these settings to register with a Delivery Controller, if you are not
using the auto-update feature. Because this information is required for registration, you must configure the following
settings using the Group Policy Editor, unless you provide this information during the VDA installation:
Controller registration IPv6 netmask
Controller registration port
Controller SIDs
Controllers
Only use IPv6 controller registration
Site GUID
T his policy setting allows administrators to restrict the VDA to only a preferred subnet (rather than a global IP, if one is
registered). T his setting species the IPv6 address and network where the VDA will register. T he VDA will register only on
the rst address that matches the specied netmask. T his setting is valid only if the Only use IPv6 controller registration
policy setting is enabled.
Use this setting only if the Enable auto update of controllers setting is disabled.
T his setting species the TCP/IP port number the VDA uses to register with a Controller when using registry-based
registration.
Controller SIDs
Use this setting only if the Enable auto update of controllers setting is disabled.
T his setting species a space-separated list of controller Security Identiers (SIDs) the VDA uses to register with a
Controller when using registry-based registration. T his is an optional setting which may be used with the Controllers setting
to restrict the list of Controllers used for registration.
Controllers
Use this setting only if the Enable auto update of controllers setting is disabled.
T his setting species a space-separated list of controller Fully Qualied Domain Names (FQDNs) the VDA uses to register
with a Controller when using registry-based registration. T his is an optional setting that may be used with the Controller
SIDs setting.
T his setting enables the VDA to register with a Controller automatically after installation.
After the VDA registers, the Controller with which it registered sends a list of the current controller FQDNs and SIDs to the
VDA. T he VDA writes this list to persistent storage. Each Controller also checks the Site database every 90 minutes for
Controller information; if a Controller has been added or removed since the last check, or if a policy change has occurred,
the Controller sends updated lists to its registered VDAs. T he VDA will accept connections from all the Controllers in the
most recent list it received.
T his setting controls which form of address the VDA uses to register with the Controller:
When enabled, the VDA registers with the Controller using the machine's IPv6 address. When the VDA communicates
with the Controller, it uses the following address order: global IP address, Unique Local Address (ULA), link-local address (if
no other IPv6 addresses are available).
When disabled, the VDA registers and communicates with the Controller using the machine's IPv4 address.
Site GUID
Use this setting only if the Enable auto update of controllers setting is disabled.
T his setting species the Globally Unique Identier (GUID) of the site the VDA uses to register with a Controller when using
Active Directory-based registration.
Enable lossless
T his setting species whether or not users can enable and disable lossless compression using the image quality
conguration tool. By default, users are not given the option to enable lossless compression.
When a user enables lossless compression, the image quality is automatically set to the maximum value available in the
image conguration tool. By default, either GPU or CPU-based compression can be used, according to the capabilities of
the user device and the host computer.
T his setting species the minimum and maximum values that dene the range of image quality adjustment available to users
in the image quality conguration tool.
Specify image quality values of between 0 and 100, inclusive. T he maximum value must be greater than or equal to the
minimum value.
T he scope of these policies can be dened based on the Site, Delivery Group, type of Delivery Group, organizational unit,
and tags.
Enable this setting to allow monitoring of processes running on machines with VDAs. Statistics such as CPU and memory
use are sent to the Monitoring Service. T he statistics are used for real-time notications and historical reporting in Director.
Enable this setting to allow monitoring of critical performance counters on machines with VDAs. Statistics (such as CPU and
memory use, IOPS and disk latency data) are sent to the Monitoring Service. T he statistics are used for real-time
notication and historical reporting in Director.
Note: T he Monitoring Group Policies - Enable monitoring of application f ailures, Enable monitoring of application
f ailures on Desktop OS VDAs, and Enable monitoring of application f ailures on Desktop OS VDAs are not functional
in XenApp and XenDesktop version 7.14.
Scalability
T he CPU and memory data is pushed to the database from each VDA at 5-minute intervals; process data (if enabled) is
pushed to the database at 10-minute intervals. IOPS and disk latency data is pushed to the database at 1-hour intervals.
CPU and memory data is enabled by default. T he data retention values are as follows (Platinum license):
IOPS and disk latency data is enabled by default. T he data retention values are as follows (Platinum license):
With the data retention settings as above, approximately 276 KB of disk space is required to store the CPU, memory, IOPS
and disk latency data for one VDA over a period of one year.
1 276 KB
1K 270 MB
40K 10.6 GB
Process data
Process data is disabled by default. It is recommended to enable process data on a subset of machines on a need basis.
T he default data retention settings for the process data is as follows:
If process data is enabled, with the default retention settings, process data would consume approximately 1.5 MB per VDA
and 3 MB per Terminal Services VDA (T S VDA) over a period of one year.
Number of machines Approximate storage required VDA Approximate storage required T S VDA
1K 1.5 GB 3 GB
Note
T he above numbers do not include the Index space. And all the above calculations are approximate and may vary depending on the
deployment.
Optional Congurations
You can modify the default retention settings to suit your needs. However, this consumes extra storage. By enabling the
settings below you can gain more accuracy in the process utilization data. T he congurations which can be enabled are:
EnableMinuteLevelGranularityProcessUtilization
EnableDayLevelGranularityProcessUtilization
T hese Congurations can be enabled from the Monitoring Powershell cmdlet: Set-MonitorConguration
Group policy. If you are not interested in monitoring the Resource Data or Process Data, either or both can be turned off
using the group policy. For more information, see the Group Policy section of Create policies.
Data grooming. T he default data retention settings can be modied to groom the data early and free up storage space.
For more information on grooming settings, see Data granularity and retention in Accessing data using the API.
When this setting is enabled, each session has its own virtual loopback address. When disabled, sessions do not have
individual loopback addresses.
T his setting species the application executables that can use virtual loopback addresses. When adding programs to the
list, specify only the executable name; you do not need to specify the entire path.
Policy settings for COM Port and LPT Port Redirection are located under
HKLM\Software\Citrix\GroupPolicy\Defaults\Deprecated on the VDA image or machine.
T o enable COM port and LPT port redirection, add new registry keys of type REG_DWORD, as follows:
Caution: Editing the registry incorrectly can cause serious problems that may require you to reinstall your operating system.
Citrix cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor
at your own risk. Be sure to back up the registry before you edit it.
LimitComBw Bandwidth limit for COM port redirection channel Numeric value
LimitComBWPercent Bandwidth limit for COM port redirection channel as a Numeric value
percentage of total session bandwidth between 0 and 100
AutoConnectClientComPorts Automatically connect COM ports from the user device 1 (Allow) or 0
(Prohibit)
LimitLptBw Bandwidth limit for LPT port redirection channel Numeric value
LimitLptBwPercent Bandwidth limit for LPT port redirection channel as a Numeric value
percentage of total session bandwidth between 0 and 100
AutoConnectClientLptPorts Automatically connect LPT ports from the user device 1 (Allow) or 0
(Prohibit)
After conguring these settings, modify your machine catalogs to use the new master image or updated physical machine.
Desktops are updated with the new settings the next time users log off.
Important: Warning, logoff, and reboot message policies apply only to deployments to Server OS machine catalogs that are
managed manually or by Provisioning Services. For those machine catalogs, the Connector service alerts users when there
are pending application installs or software updates.
For catalogs managed by MCS, use Studio to notify users. For manually managed Desktop OS catalogs, use Conguration
Manager to notify users. For Desktop OS catalogs managed by Provisioning Services, use Provisioning Services to notify
users.
T his setting denes the interval between appearances of the advance warning message to users.
T his setting contains the editable text of the message to users notifying them of upcoming software updates or
maintenance that requires them to log off.
By default, the message is: {T IMESTAMP} Please save your work. T he server will go ofine for maintenance in {T IMELEFT }
T his setting contains the editable text of the title bar of the advance warning message to users.
T his setting denes how far before maintenance the advance warning message rst appears.
By default, the setting is 16 hours (16:00:00), indicating that the rst advance warning message appears approximately 16
T his setting contains the editable text of the message alerting users that a forced logoff has begun.
By default, the message is: T he server is currently going ofine for maintenance
T his setting contains the editable text of the title bar of the nal force logoff message.
T his setting denes the period of time between notifying users to log off and the implementation of the forced logoff to
process the pending maintenance.
T his setting contains the editable text of the message telling users to save their work and log off prior to the start of a
forced logoff.
By default, the message contains the following: {T IMESTAMP} Please save your work and log off. T he server will go ofine
for maintenance in {T IMELEFT }
T his setting contains the editable text of the title bar of the force logoff message.
Image-managed mode
T he Connector agent automatically detects if it is running on a machine clone managed by Provisioning Services or MCS.
T he agent blocks Conguration Manager updates on image-managed clones and automatically installs the updates on the
master image of the catalog.
After a master image is updated, use Studio to orchestrate the reboot of MCS catalog clones. T he Connector Agent
automatically orchestrates the reboot of PVS catalog clones during Conguration Manager maintenance windows. To
override this behavior so that software is installed on catalog clones by Conguration Manager, change Image-managed
mode to Disabled.
By default, the message is: T he server is currently going ofine for maintenance
T his setting determines how frequently the Citrix Connector agent task runs.
Licensing
A valid connection to the Citrix License Server is required when you create a site. Later, you can complete several licensing
tasks from Studio, including adding licenses, changing license types or models, and managing license administrators. You can
also access the License Administration Console from Studio.
Applications
Zones
In a geographically disperse deployment, you can use zones to keep applications and desktops closer to end users, which
can improve performance. When you install and congure a site, all Controllers, Machine Catalogs, and host connections are
in one primary zone. Later, you can use Studio to create satellite zones containing those items. After your site has more
than one zone, you will be able to indicate in which zone any newly-created Machine Catalogs, host connections, or added
Controllers will be placed. You can also move items between zones.
If you are using a hypervisor or cloud service to host machines that will deliver applications and desktops to users, you
create your rst connection to that hypervisor or cloud service when you create a site. T he storage and network details for
that connection form its resources. Later, you can change that connection and its resources, and create new connections.
You can also manage the machines that use a congured connection.
Local Host Cache allows connection brokering operations in a site to continue when the connection between a Delivery
Controller and the site database fails. It is the most comprehensive high availability feature Citrix offers for XenApp and
XenDesktop.
Connection leasing
Citrix recommends trying Local Host Cache instead of connection leasing. Local Host Cache is a more powerful alternative.
T he Microsoft virtual IP address feature provides a published application with a unique dynamically-assigned IP address for
each session. T he Citrix virtual loopback feature allows you to congure applications that depend on communications with
localhost (127.0.0.1 by default) to use a unique virtual loopback address in the localhost range (127.*).
Delivery Controllers
T his article details considerations and procedures when adding and removing Controllers from a site. It also describes how
to move Controllers to another zone or site, and how to move a VDA to another site.
Before a VDA can facilitate delivery of applications and desktops, it must register (establish communication) with a
Controller. Controller addresses can be specied in several ways, which are described in this article. It is critical that VDAs
have current information as Controllers are added, moved, and removed in the site.
Sessions
Maintaining session activity is critical to providing the best user experience. Several features can optimize the reliability of
sessions, reduce inconvenience, downtime, and loss of productivity.
Session reliability
Auto Client Reconnect
ICA Keep-Alive
Workspace control
Session roaming
When you want to view information about machines, sessions, Machine Catalogs, applications, or Delivery Groups in Studio,
use the exible search feature.
Tags
Use tags to identify items such as machines, applications, groups, and policies. You can then tailor certain operations to
apply on to items with a specic tag.
IPv4 /IPv6
XenApp and XenDesktop supports pure IPv4, pure IPv6, and dual-stack deployments that use overlapping IPv4 and IPv6
networks. T his article describes and illustrates these deployments. It also describes the Citrix policy settings that control the
use of IPv4 or IPv6.
Client folder redirection changes the way client-side les are accessible on the host-side session. When you enable only
client drive mapping on the server, client-side full volumes are automatically mapped to the sessions as Universal Naming
Convention (UNC) links. When you enable client folder redirection on the server and the user congures it on the Windows
desktop device, the portion of the local volume specied by the user is redirected.
User proles
By default, Citrix Prole management is installed automatically when you install a VDA. If you use this prole solution,
review this article for general information and see the Prole management documentation for full details.
Citrix Insight Services (CIS) is a Citrix platform for instrumentation, telemetry, and business insight generation.
Note
Studio and Director do not support Citrix License Server VPX. For more information about Citrix License Server VPX, see the Citrix
Licensing documentation.
From Studio, you can manage and track licensing, if the license server is in the same domain as Studio or in a trusted domain.
For information about other licensing tasks, see the licensing documentation and Multi-type licensing.
You must be a full license administrator to complete the tasks described below, except for viewing license information. To
view license information in Studio, an administrator must have at least the Read Licensing Delegated Administration
permission; the built-in Full Administrator and Read-Only Administrator roles have that permission.
To view license information, select Conguration > Licensing in the Studio navigation pane. A summary of license usage
and settings for the Site is displayed with a list of all the licenses currently installed on the specied license server.
To add licenses that are stored on your local computer or on the network:
When configuring the Site, after you specify the license server, you are prompted to select the type of license to use. If
there are no licenses on the server, the option to use the product for a 30-day trial period without a license is
automatically selected.
If there are licenses on the server, their details are displayed and you can select one of them. Or, you can add a license
file to the server and then select that one.
To access the License Administration Console, in the Actions pane, select License Administration Console. T he console
either appears immediately, or if the dashboard is congured as password-protected, you are prompted for License
Administration Console credentials. For details about how to use the console, see the licensing documentation.
If multi-type licensing is not congured, different license types can be used only when congured on entirely separate sites.
T he Delivery Groups use the site license.
To determine the Delivery Groups that consume the different types of licenses, use these Broker PowerShell cmdlets:
New-BrokerDesktopGroup
Set-BrokerDesktopGroup
Get-BrokerDesktopGroup
Citrix Studio
Citrix Licensing Manager
License Administration Console
citrix.com
Subscription Advantage dates are specic to each license le and to each product and model. Delivery Groups set
differently might have different Subscription Advantage dates than each other.
An enum (Concurrent or UserDevice) specifying the licensing model If the feature toggle is disabled, attempting to
LicenseModel
for the group. set either property fails.
A text string of XDT (for XenDesktop) or MPS (for XenApp) specifying If the feature toggle is disabled, attempting to
ProductCode
the licensing Product ID for the group. set either property fails.
New-BrokerDesktopGroup
Creates a desktop group for managing the brokering of groups of desktops. For more information on this cmdlet, see
https://citrix.github.io/delivery-controller-sdk/Broker/New-BrokerDesktopGroup/.
Set-BrokerDesktopGroup
Disables or enables an existing broker desktop group or alters its settings. For more information on this cmdlet, see
https://citrix.github.io/delivery-controller-sdk/Broker/Set-BrokerDesktopGroup/
Get-BrokerDesktopGroup
Retrieves desktop groups matching the specied criteria. T he output of the Get-BrokerDesktopGroup cmdlet includes the
ProductCode and LicenseModel properties of the group. If the properties have not been set using New-
BrokerDesktopGroup or Set-BrokerDesktopGroup, null values are returned. If null, the site-wide license model and product
code is used. For more information on this cmdlet, see https://citrix.github.io/delivery-controller-sdk/Broker/Get-
BrokerDesktopGroup/.
Example
T his PowerShell cmdlet example illustrates setting multi-type licensing for two existing Delivery Groups and creates and sets
a third Delivery Group.
To see the license product and license model associated with a Delivery Group, use the Get-
BrokerDesktopGroup PowerShell cmdlet.
T he site is set to ProductCode XenDesktop and Edition Enterprise. Delivery Group1 inherits these settings, and you
set Delivery Group 2 to ProductCode XenApp and it inherits Edition Enterprise.
Start a single session application licensed for XenApp Enterprise but not for XenDesktop Enterprise. T he
application starts only on the Delivery Group 2 machines
Introduction
If your deployment uses only Delivery Groups (and not Application Groups), you add applications to the Delivery Groups. If
you also have Application Groups, generally you should add applications to the Application Groups. T his guidance provides
easier administration. An application must always belong to at least one Delivery Group or Application Group.
In the Add Applications wizard, you can select one or more Delivery Groups, or one or more Application Groups, but not
both. Although you can later change an application's group association (for example, moving an application from an
Application Group to a Delivery Group), best practice discourages adding that complexity. Keep your applications in one
type of group.
When you associate an application with more than one Delivery Group or Application Group, a visibility issue can occur if
you do not have sufcient permission to view the application in all of those groups. In such cases, either consult an
administrator with greater permissions or have your scope extended to include all the groups to which the application is
associated.
If you publish two applications with the same name (perhaps from different groups) to the same users, change the
Application name (for user) property in Studio; otherwise, users will see duplicate names in Citrix Receiver.
You can change an application's properties (settings) when you add it, or later. You can also change the application folder
where the application is placed, either when you add the application, or later.
Add applications
You can add applications when you create a Delivery Group or Application Group; those procedures are detailed in the
Create Delivery Groups and Create Application Groups articles. T he following procedure describes how to add applications
after you create a group.
Good to know:
1. Select Applications in the Studio navigation pane and then select Add Applications in the Actions pane.
Alternatives to step 1 if you want to add applications to a single Delivery Group or Application Group:
T o add applications to only one Delivery Group, in step 1, select Delivery Groups in the Studio navigation pane, then
select a Delivery Group in the middle pane, and then select Add Applications in the Actions pane. T he wizard will not
display the Groups page.
T o add applications to only one Application Group, in step 1, select Applications in the Studio navigation pane, then
select an Application Group in the middle pane, and then select the Add Applications entry under the Application
Group's name in the Actions pane. T he wizard will not display the Groups page.
Groups
T his page lists all the Delivery Groups in the Site. If you have also created Application Groups, the page lists the Application
Groups and Delivery Groups. You can choose from either group, but not from both groups. In other words, you cannot add
applications to an Application Group and a Delivery Group at the same time. Generally, if you are using Application Groups,
applications should be added to Application Groups rather than Delivery Groups.
When adding an application, you must select the check box next to at least one Delivery Group (or Application Group, if
available) because every application must always be associated with at least one group
Applications
From Start menu Applications that are discovered on a machine in the selected Delivery Groups. When you select this
source, a new page launches with a list of discovered applications. Select the check boxes of applications
to add, and then click OK.
This source cannot be selected if you (1) selected Application Groups that have no associated Delivery
Groups, (2) selected Application Groups with associated Delivery Groups that contain no machines, or (3)
selected a Delivery Group containing no machines.
Manually dened Applications located in the Site or elsewhere in your network. When you select this source, a new page
launches where you type the path to the executable, working directory, optional command line arguments,
and display names for administrators and users. After entering this information, click OK.
Existing Applications previously added to the Site. When you select this source, a new page launches with a list of
discovered applications. Select the check boxes of applications to add and then click OK.
App-V Applications in App-V packages. When you select this source, a new page launches where you select the
App-V server or the Application Library. From the resulting display, select the checkboxes of applications to
add, and then click OK. For more information, see the App-V article.
This source cannot be selected if App-V is not congured for the Site.
This source cannot be selected if (1) there are no Application Groups, or (2) if the selected Delivery Groups
do not support Application Groups (for example, Delivery Groups with statically assigned machines).
As noted in the table, some sources in the Add dropdown cannot be selected if there is no valid source of that type.
Sources that are incompatible (for example, you cannot add Application Groups to Application Groups) are not included in
the dropdown. Applications that have already been added to the groups you chose cannot be selected.
To add an application from an assigned AppDisk, select From Start menu. If the application is not available there, select
Manually dened and provide the details. If a folder access error occurs, congure the folder as "shared" and try to add
the application through Manually dened again.
You can change an application's properties (settings) from this page, or later.
By default, applications you add are placed in the application folder named Applications. You can change the application
from this page, or later. If you try to add an application and one with the same name already exists in the same folder, you
are prompted to rename the application youre adding. You can accept the new name offered, or decline and then rename
the application or select a different folder. For example, if "app" already exists in the Applications folder, and you attempt
to add another application named "app" to that folder, the new name "app_1" will be offered.
Summary
If you are adding 10 or fewer applications, their names are listed in Applications to add. If you are adding more than 10
applications, the total number is specied.
You can use drag-and-drop to associate an application with an additional group. T his is an alternative to using commands in
the Actions pane.
If an application is associated with more than one Delivery Group or more than one Application Group, group priority can
used to specify the order in which multiple groups are checked to nd applications. By default, all groups are priority 0 (the
highest). Groups at the same priority are load balanced.
An application can be associated with Delivery Groups containing shared (not private) machines that can deliver
applications. You can also select Delivery Groups containing shared machines that deliver desktops only, if (1) the Delivery
Group contains shared machines and was created with an earlier XenDesktop 7.x version, and (2) you have Edit Delivery
Group permission. T he Delivery Group type is automatically converted to "desktops and applications" when the properties
1. Select Applications in the Studio navigation pane and then select the application in the middle pane.
2. Select Properties in the Actions pane.
3. Select the Groups page.
4. T o add a group, click the Add dropdown and select Application Groups or Delivery Groups. (If you have not created
any Application Groups, the only entry will be Delivery Groups.) T hen select one or more available groups. Groups that are
incompatible with the application, or that are already associated with the application, cannot be selected.
5. T o remove a group, select one or more groups and then click Remove. If removing group association would result in the
application no longer being associated with any Application Group or Delivery Group, you will be alerted that the
application will be deleted.
6. T o change the priority of a group, select the group and then click Edit Priority. Select a priority value and then click OK.
7. When you are finished, click Apply to apply the changes and leave the window open, or click OK to apply the changes
and close the window.
Duplicate: You might want to duplicate an application to create a different version with different parameters or
properties. When you duplicate an application, it is automatically renamed with a unique suffix and placed adjacent to
the original. You might also want to duplicate an application and then add it to a different group. (After duplicating, the
easiest way to move it is using drag-and-drop.)
Enable or disable: Enabling and disabling an application is a different action than enabling and disabling a Delivery Group
or Application Group.
Rename: You can rename only one application at a time. If you try to rename an application and one with the same
name already exists in the same folder or group, you are prompted to specify a different name.
Delete: Deleting an application removes it from the Delivery Groups and Application Groups with which it was
associated, but not from the source that was used to add the application originally. Deleting an application is a different
action than removing it from a Delivery Group or Application Group.
Description Identication
File extensions and le type association: which extensions the File Type Association
application opens automatically
Name: the names seen by the user and by the administrator Identication
Visibility: limits which users can see the application in Citrix Receiver (an Limit Visibility
invisible application can still be started; to make it unavailable as well
as invisible, add it to a dierent group)
Application changes may not take effect for current application users until they log off their sessions.
Important: T his feature limits the number of application launches that are brokered by the Controller (for example, from
Citrix Receiver and StoreFront), and not the number of running applications that could be launched by other methods. T his
means that application limits assist administrators when managing concurrent usage, but do not provide enforcement in all
scenarios. For example, application limits cannot be applied when the Controller is in leased connection mode.
By default, there is no limit on how many application instances can run at the same time. T here are two application limit
settings; you can congure either or both:
T he maximum number of concurrent instances of an application by all users in the Delivery Group.
One instance of the application per user in the Delivery Group
If a limit is congured, an error message is generated when a user attempts to launch an instance of the application that
will exceed the congured limit.
If application instances are also launched by methods other than Controller brokering (for example, while a Controller is in
leased connection mode) and congured limits are exceeded, users will not be able to launch additional instances until they
close sufcient instances to no longer exceed the limits. T he instances that exceeded the limit will not be forcibly shut
down; they will be allowed to continue until their users close them.
If you disable session roaming, then disable the one-instance-per-user application limit. If you enable the one-instance-per-
user application limit, do not congure either of the two values that allow new sessions on new devices. For information
about roaming, see the Sessions article.
1. Select Applications in the Studio navigation pane and then select an application.
2. Select the Edit Application Properties in the Actions pane.
3. On the Delivery page, choose one of the options listed below. When you are finished, click OK or Apply. (OK applies the
change and closes the Edit Application Properties dialog box; Apply applies the change and leaves the dialog box open.)
Allow unlimited use of the application. T here is no limit to the number of instances running at the same time. T his is the
default.
Set limits for the application. T here are two limit types; specify either or both.
Specify the maximum number of instances that can run concurrently
Limit to one instance of the application per user
When you associate a published application with le types, the symbols %* (percent and star symbols enclosed in double
quotation marks) are appended to the end of the command line for the application. T hese symbols act as a placeholder for
parameters passed to user devices.
If a published application does not launch when expected, verify that its command line contains the correct symbols. By
If the path to the executable le includes directory names with spaces (such as C:\Program Files), enclose the command
line for the application in double quotation marks to indicate that the space belongs in the command line. To do this, add
double quotation marks around the path, and another set of double quotation marks around the %* symbols. Be sure to
include a space between the closing quotation mark for the path and the opening quotation mark for the %* symbols.
For example, the command line for the published application Windows Media Player is:
Good to know:
You cannot rename or delete the Applications folder, but you can move all the applications it contains to other folders
you create.
A folder name can contain 1-64 characters. Spaces are permitted.
Folders can be nested up to five levels.
Folders do not have to contain applications; empty folders are allowed.
Folders are listed alphabetically in Studio unless you move them or specify a different location when you create them.
You can have more than one folder with the same name, as long as each has a different parent folder. Similarly, you can
have more than one application with the same name, as long as each is in a different folder.
You must have View Applications permission to see the applications in folders, and you must have Edit Application
Properties permission for all applications in the folder to remove, rename, or delete a folder that contains applications.
Most of the following procedures request actions using the Actions pane in Studio. Alternatively, you can use right-click
menus or drag and drop. For example, if you create or move a folder in a location you did not intend, you can drag/drop it
to the correct location.
To manage application folders, select Applications in the Studio navigation pane. Use the following list for guidance.
T o view all folders (excluding nested folders), click Show all above the folder list.
T o create a folder at the highest level (not nested), select the Applications folder. T o place the new folder under an
existing folder other than Applications, select that folder. T hen, select Create Folder in the Actions pane. Enter a name.
T o move a folder, select the folder and then select Move Folder in the Actions pane. You can move only one folder at a
time unless the folder contains nested folders. T ip: T he easiest way to move a folder is to use drag and drop.
T o rename a folder, select the folder, and then select Rename Folder in the Actions pane. Enter a name.
T o delete a folder, select the folder, and then select Delete Folder in the Actions pane. When you delete a folder that
contains applications and other folders, those objects are also deleted. Deleting an application removes the application
assignment from the Delivery Group; it does not remove it from the machine.
T o move applications into a folder, select one or more applications. T hen, select Move Application in the Actions pane.
Select the folder.
T he term Universal Apps is used throughout this article to refer to UWP apps.
Universal Apps are supported for VDAs on Windows 10 and Windows Server 2016 machines.
T he following XenApp and XenDesktop features are either not supported or limited when using Universal Apps:
Launching Universal apps and non-Universal apps from same server is not supported for Windows 10 VDAs. For Windows
Server 2016, Universal apps and non-Universal apps should be in separate Delivery Groups or Application Groups.
All Universal Apps installed on the machine are enumerated; therefore, Citrix recommends disabling user access to the
Windows Store. T his prevents the Universal Apps installed by one user from being accessed by a different user.
During sideloading, the Universal App is installed on the machine and is available for use for other users. When any other user
launches the app, the app is installed. T he OS then updates its AppX database to indicate "as installed" for the user
launching the app.
Graceful logoffs from a published Universal App that was launched in a seamless or xed window might result in the session
not closing, and the user being logged off. In such cases, several processes remaining in the session prevent the session
from closing properly. To resolve this, determine which process is preventing the session from closing, and then add it to the
"LogoffCheckSysModules" registry key value, following the guidance in CT X891671.
Application Display Names and Descriptions for Universal Apps might not have correct names. Edit and correct these
properties when adding the applications to the Delivery Group.
Currently, several Universal Apps have white icons with transparency enabled, which results in the icon not being visible
against the white background of the StoreFront display. To avoid this issue, you can change the background. For example,
on the StoreFront machine, edit the le C:\inetpub\wwwroot\Citrix\StoreWeb\custom\style.css. At the end of the le,
On Windows Server 2016, the Server Manager might also launch when a Univeral App is launched. To prevent this from
occurring, you can disable Server Manager from auto-starting during logon with
the HKLM\Software\Microsoft\ServerManager\DoNotOpenServerManagerAtLogon registry key. For details,
see https://blogs.technet.microsoft.com/rmilne/2014/05/30/how-to-hide-server-manager-at-logon/.
To disable the use of Universal Apps on a VDA, add the registry setting EnableUWASeamlessSupport in
HKLM\Software\Citrix\VirtualDesktopAgent\FeatureToggle and set to 0.
To install one or more Universal Apps on VDAs (or a master image), use one of the following methods:
Complete an offline install from the Windows Store for Business, using a tool such as Deployment Image Servicing and
Management (DISM) to deploy the apps to the desktop image. For more information, see
https://technet.microsoft.com/en-us/itpro/windows/manage/distribute-offline-apps.
Sideload the apps. For more information, see https://technet.microsoft.com/en-us/itpro/windows/deploy/sideload-
apps-in-windows-10.
After the Universal Apps are installed on the machine, add the Universal Apps to a Delivery Group or Application Group.
You can do this when you create a group, or later. On the Applications page of the wizard, select the From Start
menu source.
When you uninstall a Universal App with a command such as Remove-AppXPackage, the item is uninstalled only for
administrators. To remove the app from the machines of users who may have launched and used the app, you must run the
removal command on each machine. You cannot uninstall the AppX package from all users' machines with one command.
Deploy multiple Sites, each with their own SQL Server Site database.
T his option is recommended for large enterprise deployments. Multiple Sites are managed separately, and each
requires its own SQL Server Site database. Each Site is a separate XenApp deployment.
Conguring zones can help users in remote regions connect to resources without necessarily forcing their
connections to traverse large segments of the WAN. Using zones allows effective Site management from a single
Citrix Studio console, Citrix Director, and the Site database. T his saves the costs of deploying, stafng, licensing, and
operating additional Sites containing separate databases in remote locations.
Zones can be helpful in deployments of all sizes. You can use zones to keep applications and desktops closer to end
users, which improves performance. A zone can have one or more Controllers installed locally for redundancy and
resiliency, but it is not required.
T he number of Controllers congured in the Site can affect the performance of some operations, such as adding new
Controllers to the Site itself. To avoid this, we recommend that you limit the number of zones in your XenApp or
XenDesktop Site to no more than 10.
Note: When the network latency of your zones is more than 250 ms RT T, we recommend that you deploy multiple
Sites instead of zones.
T hroughout this article the term local refers to the zone being discussed. For example, "A VDA registers with a local
Controller" means that a VDA registers with a Controller in the zone where the VDA is located.
Zones in this release are similar, but not identical to zones in XenApp version 6.5 and earlier. For example, in this
implementation of zones, there are no data collectors. All Controllers in the Site communicate with one Site database in
the primary zone. Also, failover and preferred zones work differently in this release.
Zone types
A Site always has one primary zone. It can also optionally have one or more satellite zones. Satellite zones can be used for
disaster recovery, geographically-distant datacenters, branch ofces, a cloud, or an availability zone in a cloud.
Primary zone
T he primary zone has the default name "Primary," which contains the SQL Server Site database (and high availability
SQL servers, if used), Studio, Director, Citrix StoreFront, Citrix License Server, and NetScaler Gateway. T he Site
database should always be in the primary zone.
T he primary zone should also have at least two Controllers for redundancy, and may have one or more VDAs with
applications that are tightly-coupled with the database and infrastructure.
A satellite zone contains one or more VDAs, Controllers, StoreFront servers, and NetScaler Gateway servers. Under
normal operations, Controllers in a satellite zone communicate directly with the database in the primary zone.
A satellite zone, particularly a large one, might also contain a hypervisor that is used to provision and/or store
machines for that zone. When you congure a satellite zone, you can associate a hypervisor or cloud service
connection with it. (Be sure any Machine Catalogs that use that connection are in the same zone.)
A Site can have satellite zones of different congurations, based on your unique needs and environment. T he following
gure illustrates a primary zone and examples of satellite zones.
T he Primary zone contains two Controllers, Studio, Director, StoreFront, License Server, and the Site database (plus high
availability SQL Server deployments). T he Primary zone also contains several VDAs and a NetScaler Gateway.
Satellite zone 1 contains a Controller, VDAs, and a StoreFront server. VDAs in this satellite zone register with the local
Controller. T he local Controller communicates with the Site database and license server in the primary zone.
If the WAN fails, the connection leasing feature allows the Controller in the satellite zone to continue brokering
connections to VDAs in that zone. Such a deployment can be effective in an ofce where workers use a local
StoreFront site and the local Controller to access their local resources, even if the WAN link connecting their ofce to
the corporate network fails.
Satellite zone 2 contains two Controllers, VDAs, and a StoreFront server. T his is the most resilient zone type, offering
A VDA in the primary zone registers with a Controller in the primary zone. A VDA in the primary zone will never attempt to
register with a Controller in a satellite zone.
A VDA in a satellite zone registers with a local Controller, if possible. (T his is considered the preferred Controller.) If no
local Controllers are available (for example, because the local Controllers cannot accept more VDA registrations or the
local Controllers have failed), the VDA will attempt to register with a Controller in the primary zone. In this case, the VDA
stays registered in the primary zone, even if a Controller in satellite zone becomes available again. A VDA in a satellite
zone will never attempt to register with a Controller in another satellite zone.
When auto-update is enabled for VDA discovery of Controllers, and you specify a list of Controller addresses during VDA
installation, a Controller is randomly selected from that list for initial registration (regardless of which zone the Controller
resides in). After the machine with that VDA is restarted, the VDA will start to prefer registering with a Controller in its
local zone.
If a Controller in a satellite zone fails, it fails over to another local Controller, if possible. If no local Controllers are
available, it fails over to a Controller in the primary zone.
If you move a Controller in or out of a zone, and auto-update is enabled, VDAs in both zones receive updated lists
indicating which Controllers are local and which are in the primary zone, so they know with whom they can register and
accept connections from.
If you move a Machine Catalog to another zone, the VDAs in that catalog will re-register with Controllers in the zone
where you moved the catalog. (When you move a catalog, make sure you also move any associated host connection to
the same zone.)
Controllers in the primary zone keep connection leasing data for all zones. Controllers in satellite zones keep connection
leasing data for their own zone and the primary zone, but not data for any other satellite zones.
A VDA in a satellite zone will accept requests from Controllers in their local zone and the primary zone. (VDAs at minimum
version 7.7 can accept Controller requests from other satellite zones.)
A VDA in a satellite zone will register with a Controller in the primary zone or the local zone at random. (VDAs at minimum
version 7.7 prefer the local zone.)
Zone preference
Important: To use the zone preference feature, you must be using minimum StoreFront 3.7 and NetScaler Gateway 11.0-
65.x.
T here are three forms of zone preference. You might prefer to use a VDA in a particular zone, based on:
Where the application's data is stored. T his is referred to as the application home.
T he location of the user's home data, such as a profile or home share. T his is referred to as the user home.
T he user's current location (where the Citrix Receiver is running). T his is referred to as the user location.
In this example, VDAs are spread among three satellite zones, but they are all in the same Delivery Group. T herefore, the
broker might have a choice which VDA to use for a user launch request. T his example indicates there are a number of
locations where users can be running their Citrix Receiver endpoints: User A is using a device with Citrix Receiver in satellite
zone 1; User B is using a device in satellite zone 2. A user's documents could be stored in a number of locations: Users A and
B use a share based in satellite zone 1; User C uses a share from satellite zone C. Also, one of the published applications uses
a database located in satellite zone 1.
You associate a user or application with a zone by conguring a home zone for the user or application. T he broker in the
Delivery Controller then uses those associations to help select the zone where a session will be launched, if resources are
available. You:
A user or an application can have only one home zone at a time. (An exception for users can occur when multiple zone
Although zone preferences for users and applications can be congured, the broker selects only one preferred zone for a
launch. T he default priority order for selecting the preferred zone is application home > user home > user location. (You can
restrict the sequence, as described in the next section.) When a user launches an application:
If that application has a configured zone association (an application home), then the preferred zone is the home zone
for that application.
If the application does not have a configured zone association, but the user has a configured zone association (a user
home), then the preferred zone is the home zone for that user.
If neither the application nor the user has a configured zone association, then the preferred zone is the zone where the
user is running a Citrix Receiver instance (the user location). If that zone is not defined, a random VDA and zone selection
is used. Load balancing is applied to all VDAs in the preferred zone. If there is no preferred zone, load balancing is applied
to all VDAs in the Delivery Group.
When you congure (or remove) a home zone for a user or an application, you can also further restrict how zone
preference will (or will not) be used.
Mandatory user home zone use: In a Delivery Group, you can specify that a session should be launched in the user's
home zone (if the user has a home zone), with no failover to a different zone if resources are not available in the home
zone. T his restriction is helpful when you need to avoid the risk of copying large profiles or data files between zones. In
other words, you would rather deny a session launch than to launch the session in a different zone.
Mandatory application home zone use: Similarly, when you configure a home zone for an application, you can
indicate that the application should be launched only in that zone, with no failover to a different zone if resources are
not available in the application's home zone.
No application home zone, and ignore conf igured user home zone: If you do not specify a home zone for an
application, you can also indicate that any configured user zones should not be considered when launching that
application. For example, you might prefer that users run a specific application on a VDA close to the machine they are
using (where Citrix Receiver is running), using the user location zone preference, even though some users might have a
different home zone.
When a user launches an application or desktop, the broker prefers using the preferred zone rather than using an existing
session.
If the user launching an application or desktop already has a session that is suitable for the resource being launched (for
example, that can use session sharing for an application, or a session that is already running the resource being launched),
but that session is running on a VDA in a zone other than the preferred zone for the user/application, then the system may
create a new session. T his satises launching in the correct zone (if it has available capacity), ahead of reconnecting to a
session in a less-preferred zone for that user's session requirements.
To prevent an orphan session that can no longer be reached, reconnection is allowed to existing disconnected sessions,
even if they are in a non-preferred zone.
If you configure a home zone for a user group (such as a security group), that group's users (through direct or indirect
membership) are associated with the specified zone. However, a user can be a member of multiple security groups, and
therefore could have a different home zone configured through other group membership. In such cases, determination
of that user's home zone can be ambiguous.
If a user has a congured home zone that was not acquired through group membership, that zone is used for zone
preference. Any zone associations acquired through group membership are ignored.
If the user has multiple different zone associations acquired solely through group membership, the broker chooses
among the zones randomly. Once the broker makes this choice, that zone is used for subsequent session launches,
until the user's group membership changes.
T he user location zone preference requires detection of Citrix Receiver on the endpoint device by the Citrix NetScaler
Gateway through which that device is connecting. T he NetScaler must be configured to associate ranges of IP
addresses with particular zones, and discovered zone identity must be passed through StoreFront to the Controller.
>3,000 60 8 Mbps 5 ms
Although zones allow users to be on higher-latency links, providing that there is a local broker, the additional latency
inevitably impacts end-user experience. For most work that users do, they experience slowness caused by round trips
between Controllers in the satellite zone and the Site database.
For launching applications, extra delays occur while the session brokering process identies suitable VDAs to send session
launch requests to. For information on performance, see the links at the end of this article.
If you use Provisioning Services: T he Provisioning Services console provided with this release is not aware of zones, so
Citrix recommends using Studio to create Machine Catalogs that you want to place in satellite zones. Use the Studio
wizard to create the catalog, specifying the correct satellite zone. T hen, use the Provisioning Services console to provision
machines in that catalog. (If you create the catalog using the Provisioning Services wizard, it will be placed in the primary
zone, and you will need to use Studio to move it to the satellite zone later.)
Create a zone
As an alternative to this method, you can select one or more items in Studio and then select Create Zone in the Actions
pane.
A conrmation message lists the items you selected and asks if you are sure you want to move all of them.
Remember: When a Machine Catalog uses a host connection to a hypervisor or cloud service, both the catalog and the
connection should be in the same zone. Otherwise, performance can be affected. If you move one, move the other, too.
Delete a zone
A zone must be empty before it can be deleted. You cannot delete the primary zone.
Conguring a home zone for a user is also known as adding a user to a zone.
1. Select Conf iguration > Zones in the Studio navigation pane and then select a zone in the middle pane.
2. Select Add Users to Zone in the Actions pane.
3. In the Add Users to Zone dialog box, click Add and then select the users and user groups to add to the zone. If you
specify users who already have a home zone, a message offers two choices: Yes = add only those users you specified
who do not have a home zone; No = return to the user selection dialog.
4. Click OK.
For users with a congured home zone, you can require that sessions launch only from their home zone:
All sessions launched by a user in that Delivery Group must launch from machines in that user's home zone. If a user in
the Delivery Group does not have a congured home zone, this setting has no effect.
Conguring a home zone for an application is also known as adding an application to a zone. By default, in a multi-zone
environment, an application does not have a home zone.
An application's home zone is specied in the application's properties. You can congure application properties when you
add the application to a group or later, by selecting the application in Studio and editing its properties.
When creating a Delivery Group, creating an Application Group, or adding applications to existing groups, select
Properties on the Applications page of the wizard.
T o change an application's properties after the application is added, select Applications in the Studio navigation pane.
Select an application and then select Edit Application Properties in the Actions pane.
When you add a host connection or create a Machine Catalog (other than during Site creation), you can specify a zone
where the item will be assigned, if you have already created at least one satellite zone.
In most cases, the primary zone is the default. When using Machine Creation Services to create a Machine Catalog, the
zone that is congured for the host connection is automatically selected.
If the Site contains no satellite zones, the primary zone is assumed and the zone selection box does not appear.
Introduction
Where to find information about connection types
Host storage
Create a connection and resources
Edit connection settings
T urn maintenance mode on or off for a connection
Delete a connection
Rename or test a connection
View machine details on a connection
Manage machines on a connection
Edit storage
Delete, rename, or test resources
Use IntelliCache for XenServer connections
Connection timers
Introduction
You can optionally create your rst connection to hosting resources when you create a Site. Later, you can change that
connection and create other connections. Conguring a connection includes selecting the connection type from among
the supported hypervisors and cloud services. T he storage and network you select form the resources for that connection.
Read Only Administrators can view connection and resource details; you must be a Full Administrator to perform
connection and resource management tasks. For details, see the Delegated Administration article.
You can use the supported virtualization platforms to host and manage machines in your XenApp or XenDesktop
environment. T he System requirements article lists the supported types. You can use the supported cloud deployment
solutions to host product components and provision virtual machines. T hese solutions pool computing resources to build
public, private, and hybrid Infrastructure as a Service (IaaS) clouds.
Microsoft Hyper-V
Microsoft Azure
CloudPlatform
CloudPlatform documentation.
When you create a connection in Studio, you must provide the API key and secret key values. You can export the key file
containing those values from CloudPlatform and then import those values into Studio.
Citrix XenServer
Nutanix Acropolis
VMware
Host storage
When provisioning machines, data is classied by type:
Providing separate storage for each data type can reduce load and improve IOPS performance on each storage device,
making best use of the hosts available resources. It also enables appropriate storage to be used for the different data
types persistence and resilience is more important for some data than others.
Storage can be shared (located centrally, separate from any host, used by all hosts) or local to a hypervisor. For example,
central shared storage could be one or more Windows Server 2012 clustered storage volumes (with or without attached
storage), or an appliance from a storage vendor. T he central storage might also provide its own optimizations such as
hypervisor storage control paths and direct access through partner plugins.
Storing temporary data locally avoids having to traverse the network to access shared storage. T his also reduces load
(IOPS) on the shared storage device. Shared storage can be more costly, so storing data locally can lower expenses. T hese
benets must be weighed against the availability of sufcient storage on the hypervisor servers.
When you create a connection, you choose one of two storage management methods: storage shared by hypervisors, or
storage local to the hypervisor.
Note: When using local storage on one or more XenServer hosts for temporary data storage, make sure that each storage
location in the pool has a unique name. (To change a name in XenCenter, right-click the storage and edit the name
property.)
T he storage shared by hypervisors method stores data that needs longer-term persistence centrally, providing centralized
backup and management. T hat storage holds the OS disks and the personal vDisk disks.
When you select this method, you can choose whether to use local storage (on servers in the same hypervisor pool) for
temporary machine data that does not require persistence or as much resilience as the data in the shared storage. T his is
called the temporary data cache. T he local disk helps reduce trafc to the main OS storage. T his disk is cleared after every
machine restart. T he disk is accessed through a write-through memory cache. Keep in mind that if you use local storage for
temporary data, the provisioned VDA is tied to a specic hypervisor host; if that host fails, the VM cannot start.
Exception: If you use Clustered Storage Volumes (CSV), Microsoft System Center Virtual Machine Manager does not allow
temporary data cache disks to be created on local storage.
When you create a connection, if you enable the option to store temporary data locally, you can then enable and
congure nondefault values for each VM's cache disk size and memory size when you create a Machine Catalog that uses
that connection. However, the default values are tailored to the connection type, and are sufcient for most cases. See
the Create Machine Catalogs article for details.
T he hypervisor can also provide optimization technologies through read caching of the disk images locally; for example,
XenServer offers IntelliCache. T his can also reduce network trafc to the central storage.
T he storage local to the hypervisor method stores data locally on the hypervisor. With this method, master images and
other OS data are transferred to all of the hypervisors used in the Site, both for initial machine creation and future image
updates. T his results in signicant trafc on the management network. Image transfers are also time-consuming, and the
images become available to each host at a different time.
If you are creating a connection after you create the Site, start with step 1 below.
Important: T he host resources (storage and network) must be available before you create a connection.
Connection
T o create a new connection select Create a new Connection. T o create a connection based on the same host
Storage management
For information about storage management types and methods, see Host storage.
If you are conguring a connection to a Hyper-V or VMware host, browse to and then select a cluster name. Other
connection types do not request a cluster name.
Select a storage management method: storage shared by hypervisors or storage local to the hypervisor.
If you choose storage shared by hypervisors, indicate if you want to keep temporary data on available local storage. (You
can specify nondefault temporary storage sizes in the Machine Catalogs that use this connection.) Exception: When
using Clustered Storage Volumes (CSV), Microsoft System Center Virtual Machine Manager does not allow temporary
data cache disks to be created on local storage, so configuring that storage management setup in Studio will fail.
If you choose storage local to the hypervisor, indicate if you want to manage personal data (personal vDisks) on shared
storage.
Storage selection
Select at least one host storage device for each available data type. T he storage management method you selected on
the previous page affects which data types are available for selection on this page. You must select at least one storage
device for each supported data type before you can proceed to the next page in the wizard.
T he lower portion of the Storage Selection page contains additional conguration options if you selected either of the
following on the previous page.
If you chose storage shared by hypervisors, and enabled the Optimize temporary data on available local storage
check box, you can select which local storage devices (in the same hypervisor pool) to use for temporary data.
If you chose storage local to the hypervisor, and enabled the Manage personal data centrally on shared storage
check box, you can select which shared devices to use for personal (PvD) data.
T he number of currently-selected storage devices is shown (in the graphic above, "1 storage device selected"). When you
hover over that entry, the selected device names appear (unless there are no devices congured).
Enter a name for the resources; this name appears in Studio to identify the storage and network combination associated
with the connection.
Summary
Review your selections; if you want to make changes, use return to previous wizard pages. When you complete your review,
click Finish.
Remember: If you chose to store temporary data locally, you can congure nondefault values for temporary data storage
when you create the Machine Catalog containing machines that use this connection. See the Create Machine Catalogs
article.
You cannot change the GPU settings for a connection, because Machine Catalogs accessing this resource must use an
appropriate GPU-specic master image. Create a new connection.
T o change the connection address and credentials, select Edit settings and then enter the new information.
T o specify the high-availability servers for a XenServer connection, select Edit HA servers. Citrix recommends that you
select all servers in the pool to allow communication with XenServer if the pool master fails.
Advanced page:
For a Microsoft System Center Conguration Manager (ConfMgr) Wake on LAN connection type, which isused with
Remote PC Access, enter ConfMgr Wake Proxy, magic packets, and packet transmission information.
T he throttling threshold settings enable you to specify a maximum number of power actions allowed on a connection.
T hese settings can help when power management settings allow too many or too few machines to start at the same
time. Each connection type has specic default values that are appropriate for most cases and should generally not be
changed.
T he Simultaneous actions (all types) and Simultaneous Personal vDisk inventory updates settings specify two values:
a maximum absolute number that can occur simultaneously on this connection, and a maximum percentage of all machines
that use this connection. You must specify both absolute and percentage values; the actual limit applied is the lower of the
For example, in a deployment with 34 machines, if Simultaneous actions (all types) is set to an absolute value of 10 and a
percentage value of 10, the actual limit applied is 3 (that is, 10 percent of 34 rounded to the nearest whole number, which is
less than the absolute value of 10 machines).
T he Maximum new actions per minute is an absolute number; there is no percentage value.
Note: Enter information in the Connection options eld only under the guidance of a Citrix Support representative.
You can also turn maintenance mode on or off for individual machines. Additionally, you can turn maintenance mode on or
off for machines in Machine Catalogs or Delivery Groups.
Delete a connection
Caution: Deleting a connection can result in the deletion of large numbers of machines and loss of data. Ensure that user
data on affected machines is backed up or no longer required.
All users are logged off from the machines stored on the connection.
No disconnected user sessions are running.
Maintenance mode is turned on for pooled and dedicated machines.
All machines in Machine Catalogs used by the connection are powered off.
A Machine Catalog becomes unusable when you delete a connection that is referenced by that catalog. If this connection
is referenced by a catalog, you have the option to delete the catalog. Before you delete a catalog, make sure it is not used
by other connections.
T he upper pane lists the machines accessed through the connection. Select a machine to view its details in the lower pane.
Session details are also provided for open sessions.
Use the search feature to nd machines quickly. Either select a saved search from the list at the top of the window, or
create a new search. You can either search by typing all or part of the machine name, or you can build an expression to use
for an advanced search. To build an expression, click Unf old, and then select from the lists of properties and operators.
For actions that involve machine shutdown, if the machine does not shut down within 10 minutes, it is powered off. If
Windows attempts to install updates during shutdown, there is a risk that the machine will be powered off before the
updates are complete.
Edit storage
You can display the status of servers that are used to store operating system, temporary, and personal (PvD) data for VMs
Each storage device in the list includes its name and storage status. Valid storage status values are:
If you clear the check box for a device that is currently In use, its status changes to Superseded. Existing machines will
continue to use that storage device (and can write data to it), so it is possible for that location to become full even after it
stops being used for creating new machines.
To use IntelliCache, you must enable it in both this product and XenServer.
When installing XenServer, select Enable thin provisioning (Optimized storage f or XenDesktop). Citrix does not
support mixed pools of servers that have IntelliCache enabled and servers that do not. For more information, see the
XenServer documentation.
In XenApp and XenDesktop, IntelliCache is disabled by default. You can change the setting only when creating a
XenServer connection; you cannot disable IntelliCache later. When you add a XenServer connection from Studio:
Select Shared as the storage type.
Select the Use IntelliCache check box.
Connection timers
Maximum connection timer: Determines the maximum duration of an uninterrupted connection between a user device
and a virtual desktop. Use the Session connection timer and Session connection timer interval policy settings.
Connection idle timer: Determines how long an uninterrupted user device connection to a virtual desktop will be
maintained if there is no input from the user. Use the Session idle timer and Session idle timer interval policy settings.
Disconnect timer: Determines how long a disconnected, locked virtual desktop can remain locked before the session is
logged off. Use the Disconnected session timer and Disconnected session timer interval policy settings .
When you update any of these settings, ensure they are consistent across your deployment.
T he Local Host Cache (LHC) feature allows connection brokering operations in a XenApp or XenDesktop Site to continue
when an outage occurs. An outage occurs when:
T he connection between a Delivery Controller and the Site database fails in an on-premises Citrix environment.
T he WAN link between the Site and the Citrix control plane fails in a Citrix Cloud environment.
Local Host Cache is the most comprehensive high availability feature in XenApp and XenDesktop. It is a more powerful
alternative to the connection leasing feature that was introduced in XenApp 7.6.
Although this Local Host Cache implementation shares the name of the Local Host Cache feature in XenApp 6.x and earlier
XenApp releases, there are signicant improvements. T his implementation is more robust and immune to corruption.
Maintenance requirements are minimized, such as eliminating the need for periodic dsmaint commands. T his Local Host
Cache is an entirely different implementation technically; read on to learn how it works.
How it works
T he following graphic illustrates the Local Host Cache components and communication paths during normal operations.
T he principal broker (Citrix Broker Service) on a Controller accepts connection requests from StoreFront, and
communicates with the Site database to connect users with VDAs that are registered with the Controller.
T he following graphic illustrates the changes in communications paths if the principal broker loses contact with the Site
database (an outage begins):
T he principal broker can no longer communicate with the Site database, and stops listening for StoreFront and VDA
information (marked X in the graphic). T he principal broker then instructs the secondary broker (High Availability Service)
to start listening for and processing connection requests (marked with a red dashed line in the graphic).
When the outage begins, the secondary broker has no current VDA registration data, but as soon as a VDA
communicates with it, a re-registration process is triggered. During that process, the secondary broker also gets current
session information about that VDA.
While the secondary broker is handling connections, the principal broker continues to monitor the connection to the Site
database. When the connection is restored, the principal broker instructs the secondary broker to stop listening for
connection information, and the principal broker resumes brokering operations. T he next time a VDA communicates with
the principal broker, a re-registration process is triggered. T he secondary broker removes any remaining VDA registrations
from the previous outage, and resumes updating the LocalDB database with configuration changes received from the
CSS.
In the unlikely event that an outage begins during a synchronization, the current import is discarded and the last known
conguration is used.
You can also intentionally trigger an outage; see the "Force an outage" section below for details about why and how to do
this.
Among its other tasks, the CSS routinely provides the secondary broker with information about all Controllers in the zone.
(If your deployment does not contain multiple zones, this action affects all Controllers in the Site.) Having that information,
each secondary broker knows about all peer secondary brokers.
T he secondary brokers communicate with each other on a separate channel. T hey use an alphabetical list of FQDN names
of the machines they're running on to determine (elect) which secondary broker will be in charge of brokering operations in
the zone if an outage occurs. During the outage, all VDAs re-register with the elected secondary broker. T he non-elected
secondary brokers in the zone will actively reject incoming connection and VDA registration requests.
If an elected secondary broker fails during an outage, another secondary broker is elected to take over, and VDAs will re-
register with the newly-elected secondary broker.
If that Controller is not the elected primary broker, the restart has no impact.
If that Controller is the elected primary broker, a different Controller is elected, causing VDAs to re-register. After the
restarted Controller powers on, it automatically takes over brokering, which causes VDAs to re-register again. In this
scenario, performance may be affected during the re-registrations.
If you power off a Controller during normal operations and then power it on during an outage, Local Host Cache cannot be
used on that Controller if it is elected as the primary broker.
T he event log provides information about elections. See the "Monitor" section below.
T here is no time limit imposed for operating in outage mode. However, restore the site to normal operation as quickly as
possible.
To override the default behavior, you must enable it site-wide and for each affected Delivery Group. Run the following
PowerShell cmdlets.
Enabling this feature in the Site and the Delivery Groups does not affect how the congured
ShutdownDesktopsAfterUse property works during normal operations.
RAM size
T he LocalDB service can use approximately 1.2 GB of RAM (up to 1 GB for the database cache, plus 200 MB for running SQL
Server Express LocalDB). T he High Availability Service can use up to 1 GB of RAM if an outage lasts for an extended interval
with many logons occurring (for example, 12 hours with 10K users). T hese memory requirements are in addition to the
normal RAM requirements for the Controller, so you might need to increase the total amount of RAM capacity.
Note that if you use a SQL Server Express installation for the Site database, the server will have two sqlserver.exe
processes.
A Controller's CPU conguration, particularly the number of cores available to the SQL Server Express LocalDB, directly
affects Local Host Cache performance, even more so than memory allocation. T his CPU overhead is observed only during
the outage period when the database is unreachable and the High Availability service is active.
While LocalDB can use multiple cores (up to 4), its limited to only a single socket. Adding more sockets will not improve the
performance (for example, having 4 sockets with 1 core each). Instead, Citrix recommends using multiple sockets with
multiple cores. In Citrix testing, a 2x3 (2 sockets, 3 cores) conguration provided better performance than 4x1 and 6x1
congurations.
Storage
As users access resources during an outage, the LocalDB grows. For example, during a logon/logoff test running at 10
logons per second, the database grew by one MB every 2-3 minutes. When normal operation resumes, the local database is
recreated and the space is returned. However, the broker must have sufcient space on the drive where the LocalDB is
installed to allow for the database growth during an outage. Local Host Cache also incurs additional I/O during an outage:
approximately 3 MB of writes per second, with several hundred thousand reads.
Perf ormance
During an outage, one broker handles all the connections, so in Sites (or zones) that load balance among multiple
Controllers during normal operations, the elected broker might need to handle many more requests than normal during an
outage. T herefore, CPU demands will be higher. Every broker in the Site (zone) must be able to handle the additional load
imposed by LocalDB and all of the affected VDAs, because the broker elected during an outage could change.
In a single-zone VDI deployment, up to 10,000 VDAs can be handled effectively during an outage.
In a multi-zone VDI deployment, up to 10,000 VDAs in each zone can be handled effectively during an outage, to a
maximum of 40,000 VDAs in the site. For example, each of the following sites can be handled effectively during an
outage:
A site with four zones, each containing 10,000 VDAs.
A site with seven zones, one containing 10,000 VDAs, and six containing 5,000 VDAs each.
During an outage, load management within the Site may be affected. Load evaluators (and especially, session count rules)
may be exceeded.
During the time it takes all VDAs to re-register with a broker, that broker might not have complete information about
current sessions. So, a user connection request during that interval could result in a new session being launched, even
though reconnection to an existing session was possible. T his interval (while the "new" broker acquires session information
from all VDAs during re-registration) is unavoidable. Note that sessions that are connected when an outage starts are not
impacted during the transition interval, but new sessions and session reconnections could be.
T his interval occurs whenever VDAs must re-register with a different broker:
You can decrease the interval by lowering the Citrix Broker Protocol's HeartbeatPeriodMs registry value (default = 600000
ms, which is 10 minutes), but the interval cannot be eliminated entirely, no matter how quickly the VDAs register. For
example, the following command changes the heartbeat to ve minutes (300000 milliseconds):
T he time it takes to synchronize between brokers increases with the number of objects (such as VDAs, applications,
groups). For example, synchronizing 5000 VDAs might take ten minutes of more to complete. See the "Monitor" section
below for information about synchronization entries in the event log.
T he Microsoft SQL Server Express LocalDB that Local Host Cache uses is installed automatically when you install a
Controller or upgrade a Controller from a version earlier than 7.9. T here is no administrator maintenance needed for the
LocalDB. Only the secondary broker communicates with this database; you cannot use PowerShell cmdlets to change
anything about this database. T he LocalDB cannot be shared across Controllers.
T he SQL Server Express LocalDB database software is installed regardless of whether Local Host Cache is enabled.
To prevent its installation, install or upgrade the Controller using the XenDesktopServerSetup.exe command, and
include the /exclude "Local Host Cache Storage (LocalDB)" option. However, keep in mind that the Local Host Cache
Note: Installation of this LocalDB database has no effect on whether or not you install SQL Server Express for use as the
site database.
T he following table shows the Local Host Cache and connection leasing settings after a new XenApp or XenDesktop
installation, and after an upgrade to XenApp or XenDesktop 7.12 (or later supported version).
Operation Number of Connection leasing Local Host Cache af ter Connection leasing af ter
VDAs bef ore operation operation operation
Install: After a new XenApp or XenDesktop installation, Local Host Cache is disabled and connection leasing is enabled by
default.
Upgrade: T he number of VDAs in a Site affects the default Local Host Cache setting after an upgrade. T he connection
leasing setting does not change because of the upgrade.
Local Host Cache is enabled if connection leasing was disabled before the upgrade. Connection leasing remains disabled.
Local Host Cache is disabled if connection leasing was enabled before the upgrade. Connection leasing remains enabled.
Local Host Cache is disabled (regardless of the connection leasing setting), and connection leasing retains the same
setting it had before the upgrade.
T his cmdlet also disables the connection leasing feature. Do not enable both Local Host Cache and connection leasing.
Get-BrokerSite
Check that the LocalHostCacheEnabled property is True, and that the ConnectionLeasingEnabled property is False.
Force an outage
If your network is going up and down repeatedly. Forcing an outage until the network issues resolve prevents
continuous transition between normal and outage modes.
T o test a disaster recovery plan.
While replacing or servicing the site database server.
To force an outage, edit the registry of each server containing a Delivery Controller.
Monitor
Event logs indicate when synchronizations and outages occur.
During normal operations, the following events can occur when the CSS copies and exports the broker conguration and
imports it to the LocalDB using the High Availability Service (secondary broker).
503: A change was found in the principal broker configuration, and an import is starting.
504: T he broker configuration was copied, exported, and then imported successfully to the LocalDB.
505: An import to the LocalDB failed; see below for more information.
3502: An outage occurred and the secondary broker (High Availability Service) is performing brokering operations.
3503: An outage has been resolved and normal operations have resumed.
3504: Indicates which secondary broker is elected, plus other brokers involved in the election.
Troubleshoot
Several troubleshooting tools are available when an synchronization import to the LocalDB fails and a 505 event is posted.
CDF tracing: Contains options for the CongSyncServer and BrokerLHC modules. T hose options, along with other broker
Report: You can generate and provide a report that details the failure point. T his report feature affects synchronization
speed, so Citrix recommends disabling it when not in use.
T he HT ML report is posted at
C:\Windows\ServiceProles\NetworkService\AppData\Local\Temp\CitrixBrokerCongSyncReport.htmll
Export the broker conguration: Provides the exact conguration for debugging purposes.
To ensure that the Site database is always available, Citrix recommends starting with a fault-tolerant SQL Server
deployment by following high availability best practices from Microsoft. However, network issues and interruptions may
prevent Delivery Controllers from accessing the database, resulting in users not being able to connect to their applications
or desktop.
T he connection leasing feature supplements the SQL Server high availability best practices by enabling users to connect
and reconnect to their most recently used applications and desktops, even when the Site database is not available.
Although users may have a large number of published resources available, they often use only a few of them regularly.
When you enable connection leasing, each Controller caches user connections to those recently used applications and
desktops during normal operations (when the database is available).
T he leases generated on each Controller are uploaded to the Site database for periodic synchronization to other
Controllers on the Site. In addition to leases, each Controllers cache holds application, desktop, icon, and worker
information. T he lease and related information is stored on each Controllers local disk. If the database becomes
unavailable, the Controller enters leased connection mode and replays the cached operations when a user attempts to
connect or reconnect to a recently used application or desktop from StoreFront.
Connections are cached for a lease period of two weeks. So, if the database becomes unavailable, the desktops and
applications that the user launched in the previous two weeks remain accessible to that user through StoreFront. However,
desktops and applications that have not been launched during the previous two-week lease period are not accessible when
the database is unavailable. For example, if a user last launched an application three weeks ago, its lease has expired, and
that user cannot launch that application if the database becomes unavailable now. Leases for long-running active or
disconnected application or desktop sessions are extended so that they are not they are not considered expired.
By default, connection leasing affects the entire Site; however, you can revoke all leases for specic users, which prevents
them from accessing any applications or desktops when the Controller is in leased connection mode. Several other registry
settings apply on a Controller basis.
While connection leasing can improve connection resiliency and user productivity, there are considerations related to the
availability, operation, and performance of other features.
Connection leasing is supported for server-hosted applications and desktops, and static (assigned) desktops; it is not
supported for pooled VDI desktops or for users who have not been assigned a desktop when the database becomes
unavailable.
When connection leasing is enabled, there are two brief intervals during which users cannot connect or reconnect: (1) from
the time the database becomes unavailable to when the Controller enters leased connection mode, and (2) from the time
the Controller changes from leased connection mode to when database access is fully restored and the VDAs have re-
registered.
If you congure a nondefault session roaming value, session reconnection reverts to its default value when a Controller
enters leased connection node. For details, see Connection leasing and session roaming.
See the Zones article for information about where connection leasing data is kept.
For more considerations, see XenDesktop 7.6 Connection Leasing Design Considerations.
You can turn connection leasing off or on from the PowerShell SDK or the Windows registry. From the PowerShell SDK,
you can also remove current leases. T he following PowerShell cmdlets affect connection leasing; see the cmdlet help for
details.
Set-BrokerSite -ConnectionLeasingEnabled $true|$false - T urns connection leasing on or off. Default = $true
Certain applications, such as CRM and Computer Telephony Integration (CT I), use an IP address for addressing, licensing,
identication, or other purposes and thus require a unique IP address or a loopback address in sessions. Other applications
may bind to a static port, so attempts to launch additional instances of an application in a multiuser environment will fail
because the port is already in use. For such applications to function correctly in a XenApp environment, a unique IP address
is required for each device.
Virtual IP and virtual loopback are independent features. You can use either or both.
Virtual IP
When virtual IP is enabled and configured on the Windows server, each configured application running in a session appears
to have a unique address. Users access these applications on a XenApp server in the same way they access any other
published application. A process requires virtual IP in either of the following cases:
T he process uses a hard-coded T CP port number
T he process uses Windows sockets and requires a unique IP address or a specified T CP port number
After the feature is enabled, at session start-up, the server requests dynamically-assigned IP addresses from the DHCP
server.
T he RD IP Virtualization feature assigns IP addresses to remote desktop connections per-session or per-program. If you
When using the Microsoft IP virtualization feature within the Remote Desktop session hosting conguration, applications
are bound to specic IP addresses by inserting a lter component between the application and Winsock function calls.
T he application then sees only the IP address it should use. Any attempt by the application to listen for TCP or UDP
communications is bound to its allocated virtual IP address (or loopback address) automatically, and any originating
connections opened by the application originate from the IP address bound to the application.
In functions that return an address (such as GetAddrInfo(), which is controlled by a Windows policy), if the local host IP
address is requested, virtual IP looks at the returned IP address and changes it to the virtual IP address of the session.
Applications that attempt to get the IP address of the local server through such name functions see only the unique virtual
IP address assigned to that session. T his IP address is often used in subsequent socket calls, such as bind or connect.
Often, an application requests to bind to a port for listening on the address 0.0.0.0. When an application does this and uses
a static port, you cannot launch more than one instance of the application. T he virtual IP address feature also looks for
0.0.0.0 in these call types and changes the call to listen on the specic virtual IP address, which enables more than one
application to listen on the same port on the same computer because they are all listening on different addresses. T he call
is changed only if it is in an ICA session and the virtual IP address feature is enabled. For example, if two instances of an
application running in different sessions both try to bind to all interfaces (0.0.0.0) and a specic port (such as 9000), they are
bound to VIPAddress1:9000 and VIPAddress2:9000 and there is no conict.
Virtual loopback
Enabling the Citrix virtual IP loopback policy settings allows each session to have its own loopback address for
communication. When an application uses the localhost address (default = 127.0.0.1) in a Winsock call, the virtual loopback
feature simply replaces 127.0.0.1 with 127.X.X.X, where X.X.X is a representation of the session ID + 1. For example, a session
ID of 7 is 127.0.0.8. In the unlikely event that the session ID exceeds the fourth octet (more than 255), the address rolls
over to the next octet (127.0.1.0), to the maximum of 127.255.255.255.
Use the virtual loopback policy settings for applications that use a loopback address for interprocess communication. No
additional configuration is required. Virtual loopback has no dependency on Virtual IP, so you do not have to configure the
Microsoft server.
Virtual IP loopback support. When enabled, this policy setting allows each session to have its own virtual loopback
address. T his setting is disabled by default. T he feature applies only to applications specified with the Virtual IP virtual
loopback programs list policy setting.
Virtual IP virtual loopback programs list. T his policy setting specifies the applications that use the virtual IP loopback
feature. T his setting applies only when the Virtual IP loopback support policy setting is enabled.
Related f eature
You can use the following registry settings to ensure that virtual loopback is given preference over virtual IP; this is called
preferred loopback. However, proceed with caution:
Preferred loopback is supported on Windows 2008 R2 only.
A Site must have at least one Controller. After you install the initial Controller, you can add more Controllers when you
create a Site, or later. T here are two primary benets from having more than one Controller in a Site.
Redundancy: As best practice, a production Site should always have at least two Controllers on different physical servers.
If one Controller fails, the others can manage connections and administer the Site.
Scalability: As Site activity grows, so does CPU utilization on the Controller and database activity. Additional Controllers
provide the ability to handle more users and more applications and desktop requests, and can improve overall
responsiveness.
Each Controller communicates directly with the Site database. In a Site with more than one zone, the Controllers in every
zone communicate with the Site database in the primary zone.
Important: Do not change the computer name or the domain membership of a Controller after the Site is congured.
(In the documentation for earlier XenApp and XenDesktop 7.x releases, information about VDA registration was included in
this article. T hat information has been enhanced and now resides in the article linked above.)
Note: Installing a Controller on a node in an SQL clustering or SQL mirroring installation is not supported.
Before adding, removing, or moving a Controller, ensure that the principal and mirrored databases are both running. In
addition, if you are using scripts with SQL Server Management Studio, enable SQLCMD mode before executing the
scripts.
T o verify mirroring after adding, removing, or moving a Controller, run the PowerShell get-conf igdbconnection cmdlet
to ensure that the Failover Partner has been set in the connection string to the mirror.
If auto-update is enabled, the VDAs will receive an updated list of Controllers within 90 minutes.
If auto-update is not enabled, ensure that the Controller policy setting or ListOfDDCs registry key are updated for all
Add a Controller
You can add Controllers when you create a Site and later. You cannot add Controllers installed with an earlier version of this
software to a Site that was created with this version.
1. Run the installer on a server containing a supported operating system. Install the Delivery Controller component and any
other core components you want. Complete the installation wizard.
2. If you have not yet created a Site, launch Studio; you are prompted to create a Site. On the Databases page in the Site
creation wizard, click the Select button and then add the address of the server where you installed the additional
Controller. Important: If you plan to generate scripts that will initialize the databases, add the Controllers before you
generate the scripts.
3. If you have already created a Site, point Studio to the server where you installed the additional Controller. Click Scale
your deployment and enter the Site address.
Remove a Controller
Removing a Controller from a Site does not uninstall the Citrix software or any other component; it removes the Controller
from the database so that it can no longer be used to broker connections and perform other tasks. If you remove a
Controller, you can later add it back to the same Site or to another Site. A Site requires at least one Controller, so you
cannot remove the last one listed in Studio.
When you remove a Controller from a Site, the Controller logon to the database server is not removed. T his avoids
potentially removing a logon that is used by other products' services on the same machine. T he logon must be removed
manually if it is no longer required; the securityadmin server role permission is needed to remove the logon.
Important: Do not remove the Controller from Active Directory until after you remove it from the Site.
1. Make sure the Controller is powered on so that Studio loads in less than one hour. Once Studio loads the Controller you
want to remove, power off the Controller when prompted to do so.
2. Select Conf iguration > Controllers in the Studio navigation pane and then select the Controller you want to remove.
3. Select Remove Controller in the Actions pane. If you do not have the correct database roles and permissions, you are
offered the option of generating a script that allows your database administrator to remove the Controller for you.
4. You might need to remove the Controllers machine account from the database server. Before doing this, check that
another service is not using the account.
After using Studio to remove a Controller, trafc to that Controller might linger for a short amount of time to ensure
proper completion of current tasks. If you want to force the removal of a Controller in a very short time, Citrix recommends
you shut down the server where it was installed, or remove that server from Active Directory. T hen, restart the other
Controllers on the Site to ensure no further communication with the removed Controller.
If your Site contains more than one zone, you can move a Controller to a different zone. See the Zones article for
information about how this can affect VDA registration and other operations.
1. Select Conf iguration > Controllers in the Studio navigation pane and then select the Controller you want to move.
2. Select Move in the Actions pane.
3. Specify the zone where you want to move the Controller.
You cannot move a Controller to a Site that was created with an earlier version of this software.
1. On the Site where the Controller is currently located (the old Site), select Conf iguration > Controllers in the Studio
navigation pane and then select the Controller you want to move.
2. Select Remove Controller in the Actions pane. If you do not have the correct database roles and permissions, you are
offered the option of generating a script that allows someone with those permissions (such as a database
administrator) to remove the Controller for you. A Site requires at least one Controller, so you cannot remove the last
one listed in Studio.
3. On the Controller you are moving, open Studio, reset the services when prompted, select Join existing site, and enter
the address of the new Site.
If a VDA was provisioned using Provisioning Services or is an existing image, you can move a VDA to another Site (from Site
1 to Site 2) when upgrading, or when moving a VDA image that was created in a test Site to a production Site. VDAs
provisioned using Machine Creation Services (MCS) cannot be moved from one Site to another because MCS does not
support changing the ListOfDDCs a VDA checks to register with a Controller; VDAs provisioned using MCS always check the
ListOfDDCs associated with the Site in which they were created.
T here are two ways to move a VDA to another Site: using the installer or Citrix policies.
Installer: Run the installer and add a Controller, specifying the FQDN (DNS entry) of a Controller in Site 2.
Important: Specify Controllers in the installer only when the Controllers policy setting is not used.
Group Policy Editor: T he following example moves multiple VDAs between Sites.
1. Create a policy in Site 1 that contains the following settings, then filter the policy to the Delivery Group level to initiate a
staged VDA migration between the Sites.
Controllers - containing FQDNs (DNS entries) of one or more Controllers in Site 2.
Enable auto update of Controllers - set to disabled.
2. Each VDA in the Delivery Group is alerted within 90 minutes of the new policy. T he VDA ignores the list of Controllers it
receives (because auto-update is disabled); it selects one of the Controllers specified in the policy, which lists the
Controllers in Site 2.
3. When the VDA successfully registers with a Controller in Site 2, it receives the Site 2 ListOfDDCs and policy information,
which has auto-update enabled by default. Since the Controller with which the VDA was registered in Site 1 is not on the
list sent by the Controller in Site 2, the VDA re-registers, choosing among the Controllers in the Site 2 list. From then on,
the VDA is automatically updated with information from Site 2.
Introduction
Before a VDA can be used, it must register (establish communication) with one or more Controllers on the site. T he VDA
nds a Controller by checking a list of Controllers called the ListofDDCs. T he ListOfDDCs on a VDA contains DNS entries
that point that VDA to Controllers on the site. For load balancing, the VDA automatically distributes connections across all
Controllers in the list.
From a security perspective, registration is a sensitive operation: youre establishing a connection between the Delivery
Controller and the VDA. For such a sensitive operation, the expected behavior is to reject the connection if everything is
not in perfect shape. You are effectively establishing two separate communication channels: VDA to Controller, and
Controller to VDA. T he connection uses Kerberos, so time synchronization and domain membership issues are
unforgiving. Kerberos uses Service Principal Names (SPNs), so you cannot use load balanced IP\hostname.
If a VDA does not have accurate and current Controller information as you add and remove Controllers in a site, the VDA
might reject session launches that were brokered by an unlisted Controller. Invalid entries can delay the startup of the
virtual desktop system software. A VDA won't accept a connection from an unknown and untrusted Controller.
In addition to the ListOfDDCs, the ListOfSIDs (Security IDs) indicates which machines in the ListOfDDCs are trusted. T he
ListOfSIDs can be used to decrease the load on Active Directory or to avoid possible security threats from a compromised
DNS server. For more information, see ListOfSIDs below.
If a ListOfDDCs species more than one Controller, the VDA attempts to connect to them in random order. T he
ListOfDDCs can also contain Controller groups. T he VDA attempts to connect to each Controller in a group before moving
to other entries in the ListOfDDCs.
XenApp and XenDesktop automatically test the connectivity to congured Controllers during VDA installation. Errors are
displayed if a Controller cannot be reached. If you ignore a warning that a Controller cannot be contacted (or when you do
not specify Controller addresses during VDA installation), messages remind you.
T he easiest way to retrieve that list during subsequent registrations is by using the auto-update feature. Auto-update is
enabled by default. For more information, see Auto-update.
You specify the initial registration method when you install a VDA. (If you disable auto-update, the method you select
during VDA installation will also be used for subsequent registrations.)
T he following graphic shows the Delivery Controller page of the VDA installation wizard.
Policy-based (LGPO\GPO)
Citrix recommends using GPO for initial VDA registration. It has the highest priority. (Auto-update is listed above as the
highest priority, but auto-update is used only after the initial registration.) Policy-based registration offers the centralizing
advantages of using Group Policy for conguration.
On the Delivery Controller page in the VDA installation wizard, select Do it later (advanced). T he wizard reminds you
several times to specify Controller addresses, even though you're not specifying them during VDA installation. (Because
VDA registration is that important!)
Enable or disable policy-based VDA registration through Citrix policy with the Virtual Delivery Agent Settings > Controllers
setting. (If security is your top priority, use the Virtual Delivery Agent Settings > Controller SIDs setting.)
In the last step of the example in the auto-update section, we moved Controller B to a different Site. Auto-update takes
care of updating the caches for VDAs in the Site where Controller B previously resided. T he administrator for the Site where
Controller B now resides simply creates/updates the policy setting to add the FQDN of Controller B.
Registry-based
On the Delivery Controller page in the VDA installation wizard, select Do it manually. T hen, enter the FQDN of an
installed Controller and then click Add. If you've installed additional Controllers, add their addresses.
For a command-line VDA installation, use the /controllers option and specify the FQDNs of the installed Controllers.
T his information is usually stored in registry value ListOfDDCs under registry key
HKLM\Software\Citrix\VirtualDesktopAgent or HKLM\Software\Wow6432Node\Citrix\VirtualDesktopAgent.
You can also congure this registry key manually or use Group Policy Preferences (GPP). T his method might be preferable to
the policy-based method (for example, if you want conditional processing of different Controllers, such as: use XDC-001 for
computer names that begin with XDW-001-).
Update the ListOfDDCs registry key, which lists the FQDNs of all the Controllers in the Site. (T his key is the equivalent
of the Active Directory Site OU.)
HKEY_LOCAL_MACHINE\Software\Citrix\VirtualDesktopAgent\ListOfDDCs (REG_SZ)
Optionally, update the ListOfSIDs registry key (for more information, see ListOfSIDs below):
HKEY_LOCAL_MACHINE\Software\Citrix\VirtualDesktopAgent\ListOfSIDs (REG_SZ)
Remember: If you also enable policy-based VDA registration through Citrix policy, that conguration overrides settings you
specify during VDA installation, because it is a higher-priority method.
T his method is supported primarily for backward compatibility and is not recommended. If youre still using it, Citrix suggests
changing to another method.
On the Delivery Controller page in the VDA installation wizard, select Choose locations f rom Active Directory.
Use the Set-ADControllerDiscovery.ps1 script (available on every Controller). Also, configure the FarmGuid registry entry
on each VDA to point to the right OU. T his setting can be configured using Group Policy.
MCS-based
If you plan to use only MCS to provision VMs, you can instruct MCS to set up the list of Controllers. T his feature works with
auto-update: MCS injects the list of Controllers into the Personality.ini le during initial provisioning (when creating the
machine catalog). Auto-update keeps the list up-to-date.
T his method is not recommended for use in large environments. You can use this method if you:
On the Delivery Controller page in the VDA installation wizard, select Let Machine Creation Services do it.
Recommendations
As best practice:
Auto-update
Auto-update (introduced in XenApp and XenDesktop 7.6) is enabled by default. It is the most efcient method for keeping
your VDA registrations up-to-date. Although auto-update is not used for initial registration, the auto-update software
downloads and stores the ListOfDDCs in a persistent cache on the VDA when initial registration occurs. T his is done for
each VDA. (T he cache also holds machine policy information, which ensures that policy settings are retained across
restarts.)
Auto-update is supported when using MCS or PVS to provision machines, except for PVS server-side cache and for
persistent VMs that are manually provisioned.
Enable or disable auto-update through a Citrix policy containing the setting: Virtual Delivery Agent Settings > Enable
auto update of Controllers. T his setting is enabled by default.
How it works:
Each time a VDA re-registers (for example, after a machine restart), the cache is updated. Each Controller also checks the
site database every 90 minutes. If a Controller has been added or removed since the last check, or if a policy change
occurred that affects VDA registration, the Controller sends an updated list to its registered VDAs and the cache is
updated. T he VDA accepts connections from all the Controllers in its most recently-cached list.
If a VDA receives a list that does not include the Controller it is registered with (in other words, that Controller was
removed from the site), the VDA re-registers, choosing among the Controllers in the ListOfDDCs.
For example:
A deployment has three Controllers: A, B, and C. A VDA registers with Controller B (which was specified during VDA
installation).
Later, two Controllers (D and E) are added to the Site. Within 90 minutes, VDAs receive updated lists and then accept
connections from Controllers A, B, C, D, and E. (T he load is not spread equally to all Controllers until the VDAs are
restarted.)
Later still, Controller B is moved to another Site. Within 90 minutes, VDAs in the original Site receive updated lists because
there has been a Controller change since the last check. T he VDA that originally registered with Controller B (which is no
In a multi-zone deployment, auto-update in a satellite zone automatically caches all local Controllers rst. All Controllers in
the primary zone are cached in a backup group. If no local Controllers in the satellite zone are available, registration is
attempted with Controllers in the primary zone.
As shown in the following example, the cache le contains hostnames and a list of Security IDs (ListOfSIDs). T he VDA does
not query SIDs, which reduces the Active Directory load.
You can retrieve the cache le with a WMI call; however, it is stored in a location that's readable only by the SYST EM
account. Important: T his information is provided only for information purposes. DO NOT MODIFY T HIS FILE. Any
modications to this le or folder results in an unsupported conguration.
If you need to manually congure the ListOfSIDs for security reasons (as distinct from reducing Active Directory load), you
cannot use the auto-update feature. For details, see ListOfSIDs below.
Although auto-update usually has the highest priority of all VDA registration methods and overrides settings for other
methods, there is an exception. T he NonAutoListOfDDCs elements in the cache specify the initial VDA conguration
method. Auto-update monitors this information. If the initial registration method changes, the registration process skips
auto-update, and uses the next-highest congured priority method. T his can be helpful when you move a VDA to another
site (for example, during disaster recovery).
Conguration considerations
Controller addresses
Regardless of which method you use to specify Controllers, Citrix recommends using an FQDN address. An IP address
is not considered a trusted conguration, because its easier to compromise an IP than a DNS record. If you populate
the ListOfSIDs manually, you can use an IP in a ListOfDDCs. However, FQDN is still recommended.
Load balancing
As noted earlier, the VDA automatically distributes connections across all Controllers in the ListOfDDCs. Failover and
load balancing functionality is built into the Citrix Brokering Protocol (CBP). If you specify multiple Controllers in your
For security reasons, you cannot use a network load balancer, such as NetScaler. VDA registration uses Kerberos
mutual authentication, where the client (VDA) must prove its identity to the service (Controller). However, the
Controller must prove its identity to the VDA. T his means that the VDA and the Controller are acting as server and
client at the same time. As noted at the beginning of this article, there are two communications channels: VDA ->
Controller and Controller -> VDA.
A component in this process is called Service Principal Name (SPN), which stored as a property in an Active Directory
computer object. When your VDA connects to a Controller, it must specify who it wants to communicate with; this
address is an SPN. If you use a load-balanced IP, mutual Kerberos authentication correctly recognizes that the IP does
not belong to the expected Controller.
T he auto-update feature replaces the CNAME (DNS alias) function from XenApp and XenDesktop versions earlier
than 7.x. CNAME functionality is disabled, beginning with XenApp and XenDesktop 7. Use auto-update instead of
CNAME. (If you must use CNAME, see CT X137960. For DNS aliasing to work consistently, do not use both auto-
update and CNAME at the same time.)
Controller groups
In certain scenarios, you might want to process Controllers in groups, with one group being preferred and the other
group used for a failover if all Controllers fail. Remember that Controllers are randomly selected from the list, so
grouping can help enforce preferential use.
Use parentheses to specify groups of controllers. For example, with four Controllers (two primary and two backup), a
grouping might be:
In this example, the Controllers in the rst group (001 and 002) are processed rst. If they both fail, Controllers in the
second group (003 and 004) are processed.
ListOfSIDs
T he list of Controllers that a VDA can contact for registration is the ListOfDDCs. A VDA must also know which Controllers
to trust; VDAs do not automatically trust the Controllers in the ListOfDDCs. T he ListOfSIDs (Security IDs) identies the
trusted Controllers. VDAs will attempt to register only with trusted Controllers.
In most environments, the ListOfSIDs is generated automatically from the ListOfDDCs. You can use a CDF trace to read
the ListOfSIDs.
Separate roles f or Controllers: Before zones were introduced in XenApp and XenDesktop 7.7, the ListOfSIDs was
manually configured when only a subset of Controllers was used for registration. For example, if you were using XDC-001
and XDC-002 as XML brokers, and XDC-003 and XDC-004 for VDA registration, you specified all Controllers in the
ListOfSIDs, and XDC-003 and XDC-004 in the ListOfDDCs. T his is not a typical or recommended configuration and
should not be used in newer environments. Instead, use zones.
Reducing Active Directory load: Before the auto-update feature was introduced in XenApp and XenDesktop 7.6, the
ListOfSIDs was used to reduce the load on domain controllers. By pre-populating the ListOfSIDs, the resolution from
DNS names to SIDs could be skipped. However, the auto-update feature removes the need for this work, because this
persistent cache contains SIDs. Citrix recommends keeping the auto-update feature enabled.
Security: In some highly secured environments, the SIDs of trusted Controllers were manually configured to avoid
possible security threats from a compromised DNS server. However, if you do this, you must also disable the auto-update
feature; otherwise the configuration from persistent cache is used.
So, unless you have a specic reason, do not modify the ListOfSIDs.
If you must modify the ListOfSIDs, create a registry key named ListOfSIDs (REG_SZ) under
HKLM\Software\Citrix\VirtualDesktopAgent. T he value is a list of trusted SIDs, separated by spaces if you have more than
one.
In the following example, one Controller is used for VDA registration (ListOfDDCs), but two Controllers are used for
brokering (List OfSIDs).
In the catalog creation wizard, after you add existing machines, the list of computer account names indicates
If the message identies a problematic machine, you can either remove that machine (using the Remove button), or
add the machine. For example, if a message indicates that information could not be obtained about a machine
(perhaps because it had never registered with a Delivery Controller), you might choose to add the machine anyway.
A catalog's functional level controls which product features are available to machines in the catalog. Using features
introduced in new product versions may require a new VDA. Setting a functional level makes all features introduced in
that version (and later, if the functional level does not change) available to machines in the catalog. However,
machines in that catalog with an earlier VDA version will not be able to register.
After you create a Delivery Group, Studio displays details about machines associated with that group. T he details
pane for a Delivery Group indicates the number of machines that should be registered but are not. In other words,
there might be one or more machines that are powered on and not in maintenance mode, but are not currently
registered with a Controller. When viewing a "not registered, but should be" machine, review the Troubleshoot tab in
the details pane for possible causes and recommended corrective actions.
For more information about functional levels, see VDA versions and functional levels section in Create Machine Catalogs.
You can also use the Citrix Health Assistant to troubleshoot VDA registration and session launch. For details, see
CT X207624.
Use the following features to optimize the reliability of sessions, reduce inconvenience, downtime, and loss of productivity;
using these features, mobile users can roam quickly and easily between devices.
Session reliability
Auto Client Reconnect
ICA Keep-Alive
Workspace control
Session roaming
You can also log a user off of a session, disconnect a session, and congure session prelaunch and linger; see the Manage
Delivery Groups article.
Session reliability
Session Reliability keeps sessions active and on the users screen when network connectivity is interrupted. Users continue
to see the application they are using until network connectivity resumes.
T his feature is especially useful for mobile users with wireless connections. For example, a user with a wireless connection
enters a railroad tunnel and momentarily loses connectivity. Ordinarily, the session is disconnected and disappears from the
users screen, and the user has to reconnect to the disconnected session. With Session Reliability, the session remains active
on the machine. To indicate that connectivity is lost, the users display freezes and the cursor changes to a spinning
hourglass until connectivity resumes on the other side of the tunnel. T he user continues to access the display during the
interruption and can resume interacting with the application when the network connection is restored. Session Reliability
reconnects users without reauthentication prompts.
You can use Session Reliability with Transport Layer Security (T LS). T LS encrypts only the data sent between the user device
and NetScaler Gateway.
Enable and congure Session Reliability with the following policy settings:
If you use both Session Reliability and Auto Client Reconnect, the two features work in sequence. Session Reliability closes,
or disconnects, the user session after the amount of time you specify in the Session reliability timeout policy setting. After
that, the Auto Client Reconnect policy settings take effect, attempting to reconnect the user to the disconnected session.
For application sessions, Citrix Receiver attempts to reconnect to the session until there is a successful reconnection or the
user cancels the reconnection attempts.
For desktop sessions, Citrix Receiver attempts to reconnect to the session for a specied period of time, unless there is a
successful reconnection or the user cancels the reconnection attempts. By default, this period of time is ve minutes. To
change this period of time, edit this registry on the user device:
where <seconds> is the number of seconds after which no more attempts are made to reconnect the session.
Enable and congure Auto Client Reconnect with the following policy settings:
Auto client reconnect. Enables or disables automatic reconnection by Citrix Receiver after a connection has been
interrupted.
Auto client reconnect authentication. Enables or disables the requirement for user authentication after automatic
reconnection.
Auto client reconnect logging. Enables or disables logging of reconnection events in the event log. Logging is disabled
by default. When enabled, the server's system log captures information about successful and failed automatic
reconnection events. Each server stores information about reconnection events in its own system log; the site does not
provide a combined log of reconnection events for all servers.
Auto Client Reconnect incorporates an authentication mechanism based on encrypted user credentials. When a user
initially logs on, the server encrypts and stores the user credentials in memory, and creates and sends a cookie containing
the encryption key to Citrix Receiver. Citrix Receiver submits the key to the server for reconnection. T he server decrypts the
credentials and submits them to Windows logon for authentication. When cookies expire, users must reauthenticate to
reconnect to sessions.
Cookies are not used if you enable the Auto client reconnection authentication setting. Instead, users are presented with a
dialog box to users requesting credentials when Citrix Receiver attempts to reconnect automatically.
For maximum protection of user credentials and sessions, use encryption for all communication between clients and the
Site.
By default, Auto Client Reconnect is enabled through policy settings at the Site level, as described above. User
reauthentication is not required. However, if a servers ICA T CP connection is configured to reset sessions with a broken
communication link, automatic reconnection does not occur. Auto Client Reconnect works only if the server disconnects
sessions when there is a broken or timed out connection. In this context, the ICA T CP connection refers to a server's
virtual port (rather than an actual network connection) that is used for sessions on T CP/IP networks.
By default, the ICA T CP connection on a server is set to disconnect sessions with broken or timed out connections.
Disconnected sessions remain intact in system memory and are available for reconnection by Citrix Receiver.
T he connection can be configured to reset or log off sessions with broken or timed-out connections. When a session is
reset, attempting to reconnect initiates a new session; rather than restoring a user to the same place in the application
in use, the application is restarted.
If the server is configured to reset sessions, Auto Client Reconnect creates a new session. T his process requires users to
enter their credentials to log on to the server.
Automatic reconnection can fail if Citrix Receiver or the plug-in submits incorrect authentication information, which
might occur during an attack or the server determines that too much time has elapsed since it detected the broken
connection.
ICA Keep-Alive
Enabling the ICA Keep-Alive feature prevents broken connections from being disconnected. When enabled, if the server
detects no activity (for example, no clock change, no mouse movement, no screen updates), this feature prevents Remote
Desktop Services from disconnecting that session. T he server sends keep-alive packets every few seconds to detect if the
session is active. If the session is no longer active, the server marks the session as disconnected.
Note: ICA Keep-Alive works only if you are not using Session Reliability. Session Reliability has its own mechanisms to
prevent broken connections from being disconnected. Congure ICA Keep-Alive only for connections that do not use
Session Reliability.
ICA Keep-Alive settings override keep-alive settings that are congured in Microsoft Windows Group Policy.
Enable and congure ICA Keep-Alive with the following policy settings:
ICA keep alive timeout. Specifies the interval (1-3600 seconds) used to send ICA keep-alive messages. Do not configure
this option if you want your network monitoring software to close inactive connections in environments where broken
connections are so infrequent that allowing users to reconnect to sessions is not a concern.
T he default interval is 60 seconds: ICA Keep-Alive packets are sent to user devices every 60 seconds. If a user device does
not respond in 60 seconds, the status of the ICA sessions changes to disconnected.
Workspace control
Workspace control lets desktops and applications follow a user from one device to another. T his ability to roam enables a
Logging on: By default, workspace control enables users to reconnect automatically to all running desktops and
applications when logging on, bypassing the need to reopen them manually. T hrough workspace control, users can open
disconnected desktops or applications, as well as any that are active on another client device. Disconnecting from a
desktop or application leaves it running on the server. If you have roaming users who need to keep some desktops or
applications running on one client device while they reconnect to a subset of their desktops or applications on another
client device, you can configure the logon reconnection behavior to open only the desktops or applications that the user
disconnected from previously.
Reconnecting: After logging on to the server, users can reconnect to all of their desktops or applications at any time by
clicking Reconnect. By default, Reconnect opens desktops or applications that are disconnected, plus any that are
currently running on another client device. You can configure Reconnect to open only those desktops or applications
that the user disconnected from previously.
Logging of f : For users opening desktops or applications through StoreFront, you can configure the Log Off command
to log the user off from StoreFront and all active sessions together, or log off from StoreFront only.
Disconnecting: Users can disconnect from all running desktops and applications at once, without needing to disconnect
from each individually.
Workspace control is available only for Citrix Receiver users who access desktops and applications through a Citrix
StoreFront connection. By default, workspace control is disabled for virtual desktop sessions, but is enabled for hosted
applications. Session sharing does not occur by default between published desktops and any published applications running
inside those desktops.
User policies, client drive mappings, and printer congurations change appropriately when a user moves to a new client
device. Policies and mappings are applied according to the client device where the user is currently logged on to the session.
For example, if a health care worker logs off from a client device in the emergency room of a hospital and then logs on to a
workstation in the hospitals x-ray laboratory, the policies, printer mappings, and client drive mappings appropriate for the
session in the x-ray laboratory go into effect at the session startup.
You can customize which printers appear to users when they change locations. You can also control whether users can
print to local printers, how much bandwidth is consumed when users connect remotely, and other aspects of their printing
experiences.
For information about enabling and conguring workspace control for users, see the StoreFront documentation.
Session roaming
By default, sessions roam between client devices with the user. When the user launches a session and then moves to
another device, the same session is used and applications are available on both devices. T he applications follow, regardless
of the device or whether current sessions exist. In many cases, printers and other resources assigned to the application also
follow.
Example 1: A medical professional is using two devices, completing an insurance form on a desktop PC, and looking at
patient information on a tablet.
If session roaming is enabled, both applications appear on both devices (an application launched on one device is visible
on all devices in use). T his might not meet security requirements.
If session roaming is disabled, the patient record does not appear on the desktop PC, and the insurance form does not
appear on the tablet.
Example 2: A production manager launches an application on the PC in his ofce. T he device name and location determine
which printers and other resources are available for that session. Later in the day, he goes to an ofce in the next building
for a meeting that will require him to use a printer.
If session roaming is enabled, the production manager would probably be unable to access the printers near the meeting
room, because the applications he launched earlier in his office resulted in the assignment of printers and other
resources near that location.
If session roaming is disabled, when he logs on to a different machine (using the same credentials), a new session is
started, and nearby printers and resources will be available.
To congure session roaming, use the following entitlement policy rule cmdlets with the "SessionReconnection" property.
Optionally, you can also specify the "LeasingBehavior" property; see Connection leasing and session roaming below.
Always. Sessions always roam, regardless of the client device and whether the session is connected or disconnected.
T his is the default value.
DisconnectedOnly. Reconnect only to sessions that are already disconnected; otherwise, launch a new session.
(Sessions can roam between client devices by first disconnecting them, or using Workspace Control to explicitly roam
them.) An active connected session from another client device is never used; instead, a new session is launched.
SameEndpointOnly. A user gets a unique session for each client device they use. T his completely disables roaming. Users
can reconnect only to the same device that was previously used in the session.
Disabling session roaming is affected by the application limit "Allow only one instance of the application per user" in the
application's properties in the Delivery Group.
If you're not familiar with connection leasing, see the Connection leasing article.
When a Controller enters leased connection mode, session reconnection reverts to its default value, reconnecting the user
to only one of the active or disconnected sessions for the desktop or application.
For additional security, if you congured a nondefault session roaming value, and have multiple users who share the same
logon credentials on multiple devices, consider disabling the connection leasing feature for the Delivery Group that includes
that user account.
Why? In this scenario, one session is shared among all devices. T his could be undesirable if, for example, one person has
sensitive information displayed that is not meant to be seen by someone else who reconnects with the same credentials
while the Controller is in leased connection mode.
Disabling connection leasing in the entitlement policy eliminates this possibility: a user will not be able to see the session of
another user with the same logon, even when the Controller is in leased connection mode. Other entitlement policies can
remain as-is; individual user accounts can use the connection leasing functionality through separate entitlements.
To disable connection leasing in an entitlement policy, add the LeasingBehavior Disallowed property to the entitlement
policy cmdlet. If you disable connection leasing, you must manually delete any launch leases that have already been
created and cached for that entitlement policy; otherwise, users will still be able to reconnect during a database outage.
Logon interval
If a virtual machine containing a desktop VDA closes before the logon process completes, you can allocate more time to
the process. T he default for 7.6 and later versions is 180 seconds (the default for 7.0-7.5 is 90 seconds).
On the machine (or the master image used in a Machine Catalog), set the following registry key:
Type: DWORD
Note: T his setting applies only to VMs with desktop (workstation) VDAs; Microsoft controls the logon timeout on machines
with server VDAs.
2. Enter the name or use the drop-down list to select another search option for the item you want to find.
3. Optionally, save your search by selecting Save as. T he search appears in the Saved searches list.
Alternatively, click the Expand Search icon (dual downward angle brackets) to display a drop-down list of search properties;
you can perform an advanced search by building an expression from the properties in the drop-down list.
Introduction
Tags are strings that identify items such as machines, applications, desktops, Delivery Groups, Application Groups, and
policies. After creating a tag and adding it to an item, you can tailor certain operations to apply to only items that have a
specied tag.
For example, to display only applications that have been optimized for testers, create a tag named test and then
add (apply) it to those applications. You can now lter the Studio search with the tag test.
Publish applications from an Application Group or specific desktops from a Delivery Group, considering only a subset of
the machines in selected Delivery Groups. T his is called a tag restriction.
With tag restrictions, you can use your existing machines for more than one publishing task, saving the costs
associated with deploying and managing additional machines. A tag restriction can be thought of as subdividing (or
partitioning) the machines in a Delivery Group. Its functionality is similar, but not identical, to worker groups in XenApp
releases earlier than 7.x.
Using an Application Group or desktops with a tag restriction or can be helpful when isolating and troubleshooting a
subset of machines in a Delivery Group.
Using a tag restriction for machines enables you to use new PowerShell cmdlets to congure multiple restart
schedules for subsets of machines in a Delivery Group. For examples and details, see the "Create multiple restart
schedules for machines in a Delivery Group" section in the Manage Delivery Groups article.
T ailor the application (assignment) of Citrix policies to a subset of machines in Delivery Groups, Delivery Group types, or
OUs that have (or do not have) a specified tag.
For example, if you want to apply a Citrix policy only to the more powerful workstations, add a tag named high
power to those machines. T hen, on the Assign Policy page of the Create Policy wizard, select that tag and also the
Enable checkbox. You can also add a tag to a Delivery Group and then apply a Citrix policy to that group. For details,
see the Create policies article and this blog post. (Note that the Studio interface for adding a tag to a machine has
changed since the blog post was published.)
Machines
Applications
Delivery Groups
Application Groups
A tag restriction extends the broker's machine selection process. T he broker selects a machine from an associated Delivery
Group subject to access policy, congured user lists, zone preference, and launch readiness, plus the tag restriction (if
present). For applications, the broker falls back to other Delivery Groups in priority order, applying the same machine
selection rules for each considered Delivery Group.
Example 1
T his example introduces a simple layout that uses tag restrictions to limit which machines will be considered for certain
desktop and application launches. T he site has one shared Delivery Group, one published desktop, and one Application
Group congured with two applications.
T ags have been added to each of the three machines (VDA 101-103).
T he desktop in the shared Delivery Group was created with a tag restriction named "Red," so that desktop can be
launched only on machines in that Delivery Group that have the tag "Red": VDA 101 and 102.
T he Application Group was created with the "Orange" tag restriction, so each of its applications (Calculator and
Notepad) can be launched only on machines in that Delivery Group that have the tag "Orange": VDA 102 and 103.
Note that machine VDA 102 has both tags (Red and Orange), so it can be considered for launching the applications and the
desktop.
Example 2
T his example contains several Application Groups that were created with tag restrictions. T his results in the ability to deliver
(T he "How to congure example 2" section shows the steps used to create and apply the tags, and then congure the tag
restrictions in this example.)
T his example uses ten machines (VDA 101-110), one Delivery Group (D01), and three Application Groups (A100, A200, A300).
By applying tags to each machine and then specifying tag restrictions when creating each Application Group:
Accounting users in the group can access the apps they need on five machines (VDA 101 105)
CAD designers in the group can access the apps they need on five machines (VDA 106-110)
Users in the group who need Office applications can access the Office apps on ten machines (VDA 101-110)
Only ten machines are used, with only one Delivery Group. Using Delivery Groups alone (without Application Groups) would
require twice as many machines, because a machine can belong to only one Delivery Group.
Exception: Tags used for policy assignments are created, edited, and deleted through the Manage Tags action in
Studio; however, tags are applied (assigned) when you create the policy; see the Create policies article for details.
Tag restrictions are congured when you create or edit desktops in Delivery Groups, and when you create and edit
Application Groups. For complete information about creating and editing groups, see the following articles:
In Studio, select the items you want to apply a tag to (one or more machines, applications, a desktop, a Delivery Group, or
an Application Group) and then select Manage Tags in the Actions pane. T he Manage Tags dialog box lists all the tags that
have been created in the Site, not just for the items you selected.
A check box containing a check mark indicates that tag has already been added to the selected items. (In the screen
capture below, the selected machine has the tag named "T ag1" applied.)
If you selected more than one item, a check box containing a hyphen indicates that some, but not all selected items
have that tag added.
T he following actions are available from the Manage Tags dialog box. Be sure to review the Cautions section.
To create a tag:
Click Create. Enter a name and description. Tag names must be unique and are not case-sensitive. T hen click OK.
(Creating a tag does not automatically apply it to any items you have selected. Use the check boxes to apply the tag.)
Enable the check box next to the tag name. Note: If you selected multiple items and the check box next to a tag
If you attempt to add a tag to one or more machines, and that tag is currently used as a restriction in an Application
Group, you are warned that the action could result in making those machines available for launch. If that's what you
intended, proceed.
Clear the check box next to the tag name. Note: If you selected multiple items and the check box next to a tag
contains a hyphen (indicating that some, but not all selected items already have the tag applied), clearing the check
box will remove the tag from all the selected machines.
If you attempt to remove a tag from a machine that is using that tag as a restriction, a warning message will be
displayed, indicating that could affect which machines are considered for launch. If that's what you intended,
proceed.
To edit a tag:
Select a tag and then click Edit. Enter a new name and/or description. You can edit only one tag at a time.
Select the tags and then click Delete. T he Delete Tag dialog box indicates how many items currently use the selected
tags (for example "2 machines"). Click an item to display more information. For example, clicking a "2 machines" item
displays the names of the two machines that have that tag applied. Conrm whether you want to delete the tags.
You cannot use Studio to delete a tag that is used as a restriction. You must rst edit the Application Group and
remove the tag restriction or select a different tag.
When you're done in the Manage Tags dialog box, click Save.
Select Delivery Groups in the navigation pane. Select a Delivery Group in the middle pane and then select View
Machines in the Actions pane. Select a machine in the middle pane and then select the Tags tab on the Details pane
below.
Conguring a tag restriction is a multi-step process: You rst create the tag and add/apply it to machines. T hen, you add
the restriction to the Application Group or the desktop.
Create the tag and then add (apply) it to the machines that will be affected by the tag restriction, using the Manage
Tags actions described above.
Create or edit the Application Group. On the Delivery Groups page, select Restrict launches to machines with the
tag and then select the tag from the dropdown.
Edit the group. On the Delivery Groups page, either select a different tag from the dropdown or remove the tag
restriction entirely by clearing Restrict launches to machines with the tag.
Create or edit a Delivery Group. Click Add or Edit on the Desktops page. In the Add Desktop dialog box, select
Restrict launches to machines with the tag and then select the tag from the dropdown.
Edit the group. On the Desktops page, click Edit. In the dialog box, either select a different tag from the dropdown or
remove the tag restriction entirely by clearing Restrict launches to machines with the tag.
A tag applied to an item can be used for different purposes, so keep in mind that adding, removing, and deleting a tag can
have unintended effects. You can use a tag to sort machine displays in the Studio search eld. You can use the same tag as
a restriction when conguring an Application Group or a desktop, which will limit launch consideration to only machines in
specied Delivery Groups that have that tag.
If you attempt to add a tag to one or more machines after that tag has been congured as a tag restriction for a desktop
or an Application Group, Studio warns you that adding that tag might make the machines available for launching additional
applications or desktops. If that is what you intended, proceed. If not, you can cancel the operation.
For example, let's say you create an Application Group with the "Red" tag restriction. Later, you add several other
machines in the same Delivery Groups used by that Application Group. If you then attempt to add the "Red" tag to
those machines, Studio will display a message similar to: "T he tag "Red" is used as a restriction on the following
Application Groups. Adding this tag might make the selected machines available to launch applications in this
Application Group." You can then conrm or cancel adding that tag to those additional machines.
Similarly, if a tag is being used in an Application Group to restrict launches, Studio warns that you cannot delete the tag
until you remove it as a restriction by editing the group. (If you were allowed to delete a tag that's used as a restriction in
an Application Group, that could result in allowing applications to launch on all machines in the Delivery Groups associated
with the Application Group.) T he same prohibition against deleting a tag applies if the tag is currently being used as a
restriction for desktop launches. After you edit the Application Group or desktops in the Delivery Group to remove that tag
restriction, you can delete the tag.
All machines may not have the same sets of applications. A user may belong to more than one Application Group, each with
a different tag restriction and different or overlapping sets of machines from Delivery Groups. T he following table lists how
machine considerations are decided.
When an applicat ion has been added t o T hese machines in t he select ed Delivery Groups are
considered f or launch
One Application Group with tag restriction A Machines that have tag A applied
Two Application Groups, one with tag restriction A and the other Machines that have tag A; if none are available, then any machine
with no tag restriction
If you used a tag restriction in a machine restart schedule, any changes you make that affect tag applications or
restrictions will affect the next machine restart cycle. It will not affect any restart cycles that is in progress while the
changes are being made. (See the Mange Delivery Groups article.)
T he following sequence shows the steps to create and apply tags, and then congure tag restrictions for the Application
Groups illustrated in the second example above.
VDAs and applications have already been installed on the machines and the Delivery Group has been created.
1. In Studio, select Delivery Group D01 and then select View Machines in the Action pane.
2. Select machines VDA 101-105 and then select Manage Tags in the Actions pane.
3. In the Manage T ags dialog box, click Create and then create a tag named CADApps. Click OK.
4. Click Create again and create a tag named OfficeApps. Click OK.
5. While still in the Manage T ags dialog box, add (apply) the newly-created tags to the selected machines by enabling the
check boxes next to each tag's name (CADApps and OfficeApps), and then close the dialog box.
6. Select Delivery Group D01, select View Machines in the Action pane.
7. Select machines VDA 106-110 and then select Manage Tags in the Actions pane.
8. In the Manage T ags dialog box, click Create and then create a tag named AcctgApps. Click OK.
9. Apply the newly-created AcctgApps tag and the OfficeApps tag to the selected machines by clicking the check boxes
next to each tag's name, and then close the dialog box.
1. In Studio, select Applications in the navigation pane and then select Create Application Group in the Actions pane.
T he Create Application Group wizard launches.
2. On the Delivery Groups page of the wizard, select Delivery Group D01. Select Restrict launches to machines with
tag and then select the AcctgApps tag from the dropdown.
3. Complete the wizard, specifying the accounting users and the accounting applications. (When adding the application,
choose the "From Start menu" source, which will search for the application on the machines that have the AcctgApps
tag.) On the Summary page, name the group A100.
4. Repeat the preceding steps to create Application Group A200, specifying machines that have the CADApps tag, plus the
appropriate users and applications.
5. Repeat steps to create Application Group A300, specifying machines that have the OfficeApps tag, plus the appropriate
users and applications.
IPv6 communications are controlled with two Virtual Delivery Agent (VDA) connection-related Citrix policy settings:
A primary setting that enforces the use of IPv6: Only use IPv6 Controller registration.
A dependent setting that defines an IPv6 netmask: Controller registration IPv6 netmask.
When the Only use IPv6 Controller registration policy setting is enabled, VDAs register with a Delivery Controller for
incoming connections using an IPv6 address.
In this deployment:
T wo Citrix policy settings affect support for a pure IPv6 or dual stack IPv4/IPv6 implementation. Configure the following
connection-related policy settings:
Only use IPv6 Controller registration: Controls which form of address the Virtual Delivery Agent (VDA) uses to register
with the Delivery Controller. Default = Disabled
When the VDA communicates with the Controller, it uses a single IPv6 address chosen in the following precedence:
global IP address, Unique Local Address (ULA), link-local address (only if no other IPv6 addresses are available).
When disabled, the VDA registers and communicates with the Controller using the machine's IPv4 address.
Controller registration IPv6 netmask: A machine can have multiple IPv6 addresses; this policy setting allows
administrators to restrict the VDA to only a preferred subnet (rather than a global IP, if one is registered). T his setting
specifies the network where the VDA will register: the VDA registers only on the first address that matches the specified
Important: Use of IPv4 or IPv6 by a VDA is determined solely by these policy settings. In other words, to use IPv6
addressing, the VDA must be controlled by a Citrix policy with the Only use IPv6 Controller registration setting enabled.
Deployment considerations
If your environment contains both IPv4 and IPv6 networks, you will need separate Delivery Group congurations for the
IPv4-only clients and for the clients who can access the IPv6 network. Consider using naming, manual Active Directory
group assignment, or Smart Access lters to differentiate users.
Reconnection to a session may fail if the connection is initiated on an IPv6 network, and then attempts are made to
connect again from an internal client that has only IPv4 access.
Only the user-specied folders appear as UNC links inside sessions instead of the complete le system on the user device. If
you disable UNC links through the registry, client folders appear as mapped drives inside the session.
Client folder redirection for an external USB drive will not be saved on detaching and reattaching the device.
Enable client folder direction on the server. T hen, on the client device, specify which folders to redirect (the application you
use to specify the client folder options is included with the Citrix Receiver supplied with this release.
Caution: Editing the registry incorrectly can cause serious problems that may require you to reinstall your operating system.
Citrix cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor
at your own risk. Be sure to back up the registry before you edit it.
1. On the server:
1. Create a key: HKEY_LOCAL_MACHINE\SOFT WARE\Wow6432Node\Citrix\Client Folder Redirection.
2. Create a REG_DWORD value.
Name: CFROnlyModeAvailable
T ype: REG_DWORD
Data: Set to 1
2. On the user device:
1. Ensure the latest version of Citrix Receiver is installed.
2. From the Citrix Receiver installation directory, start CtxCFRUI.exe.
3. Select the Custom radio button and add, edit, or remove folders.
4. Disconnect and reconnect your sessions for the setting to take effect.
T o suit your users' varying needs, you can use XenApp and XenDesktop policies to apply different profile behavior to the
machines in each Delivery Group. For example, one Delivery Group might require Citrix mandatory profiles, whose template is
stored in one network location, while another Delivery Group requires Citrix roaming profiles stored in another location with
several redirected folders.
If other administrators in your organization are responsible for XenApp and XenDesktop policies, work with them to
ensure that they set any profile-related policies across your Delivery Groups.
Profile management policies can also be set in Group Policy, in the Profile management .ini file, and locally on individual
virtual machines. T hese multiple ways of defining profile behavior are read in the following order:
1. Group Policy (.adm or .admx files)
2. XenApp and XenDesktop policies in the Policy node
3. Local policies on the virtual machine that the user connects to
4. Profile management .ini file
For example, if you congure the same policy in both Group Policy and the Policy node, the system reads the policy
setting in Group Policy and ignores the XenApp and XenDesktop policy setting.
Whichever prole solution you choose, Director administrators can access diagnostic information and troubleshoot user
proles. For more information, see the Director documentation.
If you use the Personal vDisk feature, Citrix user proles are stored on virtual desktops' Personal vDisks by default. Do not
delete the copy of a prole in the user store while a copy remains on the Personal vDisk. Doing so creates a Prole
management error, and causes a temporary prole to be used for logons to the virtual desktop.
Automatic conguration
T he desktop type is automatically detected, based on the Virtual Delivery Agent installation and, in addition to the
conguration choices you make in Studio, sets Prole management defaults accordingly.
T he policies that Prole management adjusts are shown in the table below. Any non-default policy settings are preserved
and are not overwritten by this feature. Consult the Prole management documentation for information about each
policy. T he types of machines that create proles affect the policies that are adjusted. T he primary factors are whether
machines are persistent or provisioned, and whether they are shared by multiple users or dedicated to just one user.
Persistent systems have some type of local storage, the contents of which can be expected to persist when the system
turns off. Persistent systems may employ storage technology such as storage area networks (SANs) to provide local disk
mimicking. In contrast, provisioned systems are created "on the y" from a base disk and some type of identity disk. Local
storage is usually mimicked by a RAM disk or network disk, the latter often provided by a SAN with a high speed link. T he
provisioning technology is generally Provisioning Services or Machine Creation Services (or a third-party equivalent).
Sometimes provisioned systems have persistent local storage, which may be provided by Personal vDisks; these are classed
as persistent.
Both persistent and dedicated -- Examples are Desktop OS machines with a static assignment and a Personal vDisk
T he following Prole management policy settings are suggested guidelines for the different machine types. T hey work well
in most cases, but you may want to deviate from these as your deployment requires.
Important: Delete locally cached profiles on logoff, Profile streaming, and Always cache are enforced by the auto-
configuration feature. Adjust the other policies manually.
Persistent machines
Provisioned machines
Folder redirection
Folder redirection lets you store user data on network shares other than the location where the proles are stored. T his
reduces prole size and load time but it might impact network bandwidth. Folder redirection does not require that Citrix
user proles are employed. You can choose to manage user proles on your own, and still redirect folders.
Note: Configure folder redirection using only Citrix Policies or Active Directory Group Policy Objects, not both. Configuring
folder redirection using both policy engines may result in unpredictable behavior.
Advanced f older redirection
In deployments with multiple operating systems (OSs), you might want some of a user's prole to be shared by each OS.
T he rest of the prole is not shared and is used only by one OS. To ensure a consistent user experience across the OSs, you
need a different conguration for each OS. T his is advanced folder redirection. For example, different versions of an
application running on two OSs might need to read or edit a shared le, so you decide to redirect it to a single network
location where both versions can access it. Alternatively, because the Start Menu folder contents are structured differently
in two OSs, you decide to redirect only one folder, not both. T his separates the Start Menu folder and its contents on each
OS, ensuring a consistent experience for users.
If your deployment requires advanced folder redirection, you must understand the structure of your users' prole data and
determine which parts of it can be shared between OSs. T his is important because unpredictable behavior can result unless
folder redirection is used correctly.
Example advanced deployment - T his deployment has applications, including versions of Microsoft Outlook and Internet
Explorer, running on Windows 8 desktops and applications, including other versions of Outlook and Internet Explorer,
delivered by Windows Server 2008. T o achieve this, you have already set up two Delivery Groups for the two OSs. Users
want to access the same set of Contacts and Favorites in both versions of those two applications.
Important: T he following decisions and advice are valid for the OSs and deployment described. In your organization, the
folders you choose to redirect and whether your decide to share them depend on a number of factors that are unique to
your specific deployment.
Using policies applied to the Delivery Groups, you choose the following folders to redirect.
Application Data No No
Desktop Yes No
Downloads No No
Links Yes No
Searches Yes No
Saved Games No No
In Citrix Prole management (but not in Studio), a performance enhancement allows you to prevent folders from being
processed using exclusions. If you use this feature, do not exclude any redirected folders. T he folder redirection and
exclusion features work together, so ensuring no redirected folders are excluded allows Prole management to move them
back into the prole folder structure again, while preserving data integrity, if you later decide not to redirect them. For
more information on exclusions, see To include and exclude items.
T he features offered by Citrix Insight Services continue to grow and evolve, and now form an integral part of Citrix Smart
Tools. Citrix Smart Tools enables you to automate deployment tasks, health checks, and power management. For
information about the technologies, see the Citrix Smart Tools documentation.
All information uploaded to Citrix is used for troubleshooting and diagnostic purposes, as well as improving the quality,
reliability, and performance of products, subject to:
T his XenApp and XenDesktop release supports the following tools and technologies.
Automatic upload of this data is enabled by default in both the graphical and command line interfaces of the full-product
installer.
You can change the default value in a registry setting. If you change the registry setting before installing/upgrading, that
value will be used when you use the full-product installer.
You can override the default setting if you install/upgrade with the command line interface by specifying an option with
the command.
Registry setting that controls automatic upload of install/upgrade analytics (default = 1):
Location: HKLM:\Software\Citrix\MetaInstall
Name: SendExperienceMetrics
Value: 0 = disabled, 1 = enabled
To disable automatic uploads with the XenDesktopServerSetup.exe or XenDesktopVDASetup.exe command, include the
/disableexperiencemetrics option.
To enable automatic uploads with the XenDesktopServerSetup.exe or XenDesktopVDASetup.exe command, include the
/sendexperiencemetrics option.
You are automatically enrolled in CEIP when you create a XenApp or XenDesktop Site (after you install the rst Delivery
Controller). T he rst upload of data occurs approximately seven days after you create the Site. You can stop your
participation at any time after creating the Site; select the Conguration node in the Studio navigation pane (Product
Support tab) and follow the guidance.
If you upgrade from a version that did not support CEIP, you are asked if you want to participate.
If you upgrade from a version that supported CEIP, and participation was enabled, CEIP will be enabled in the upgraded
Site.
If you upgrade from a version that supported CEIP, and participation was disabled, CEIP will be disabled in the upgraded
Site.
If you upgrade form a version that supported CEIP, and participation is unknown, you are asked if you want to
participate.
T he collected information is anonymous, so it cannot be viewed after it is uploaded to Citrix Insight Services.
By default, you are automatically enrolled in CEIP when you install a Windows VDA. You can change this default in a registry
setting. If you change the registry setting before installing the VDA, that value will be used.
Registry setting that controls automatic upload of install/upgrade analytics (default = 1):
Location: HKLM:\Software\Citrix\Telemetry\CEIP
Name: Enabled
Value: 0 = disabled, 1 = enabled
By default, the "Enabled" property is hidden in the registry. When it remains unspecied, the automatic upload feature is
T he rst upload of data occurs approximately seven days after you install the VDA.
You can also participate in CEIP when you install related Citrix products, components, and technologies, such as Provisioning
Services, AppDNA, Citrix License Server, Citrix Receiver for Windows, Universal Print Server, and Session Recording. See their
documentation for details about installation and participation default values.
T he option to enable Smart Tools access (and participate in Call Home, if it is not already enabled) is selected by default.
Click Connect. A browser window opens and navigates automatically to a Smart Services web page, where you enter your
Citrix Cloud account credentials. (If you don't have a Citrix Cloud account, simply enter your Citrix account credentials, and a
new Citrix Cloud account is automatically created for you.) After you're authenticated, a certicate is silently installed in the
Smart Tools Agent directory.
To use the Smart Tools technologies, see the Smart Tools documentation.
In XenApp and XenDesktop, Call Home runs as a background service under the name Citrix Telemetry Service. For more
information, see http://more.citrix.com/XD-CALLHOME.
T he Call Home scheduling functionality is also available in Citrix Scout. For details, see Citrix Scout.
What is collected
Citrix Diagnostic Facility (CDF) tracing logs information that can be useful for troubleshooting. Call Home collects a subset
of CDF traces that can be helpful when troubleshooting common failures, for example, VDA registrations and
application/desktop launches. T his technology is known as always-on tracing (AOT ). Call Home does not collect any other
Event Tracing for Windows (ET W) information, nor can it be congured to do so.
Compressing data allows Call Home to maintain a small footprint on the VDA.
T races are held in memory to avoid IOPs on provisioned machines.
T he trace buffer uses a circular mechanism to retain traces in memory.
You can enroll in Call Home when using the full-product installation wizard or later, using PowerShell cmdlets. When you
enroll, by default, diagnostics are collected and uploaded to Citrix every Sunday at approximately 3:00 AM, local time. T he
upload is randomized with a two hour interval from the specied time. T his means an upload using the default schedule
occurs between 3:00 AM and 5:00 AM.
If you do not want to upload diagnostic information on a scheduled bassis (or if you want to change a schedule), you can
use PowerShell cmdlets to manually collect and upload diagnostics or store them locally.
When you enroll in scheduled Call Home uploads and when you manually upload diagnostic information to Citrix, you
provide Citrix account or Citrix Cloud credentials. Citrix exchanges the credentials for an upload token that is used to
identify the customer and upload the data. T he credentials are not saved.
When an upload occurs, a notication is emailed to the address associated with the Citrix account.
During VDA installation or upgrade: When you install or upgrade a Virtual Delivery Agent using the graphical interface in
the full-product installer, you are asked if you want to participate in Call Home. T here are two options:
If you're upgrading a VDA and previously enrolled in Call Home, that wizard page won't appear.
During Controller installation or upgrade: When you install or upgrade a Delivery Controller using the graphical interface,
you are asked if you want to participate in Call Home and connect to Citrix Smart Tools. T here are three options:
Connect to Citrix Smart T ools, which includes the Call Home functionality via the Smart T ools agent. T his is the default
and recommended option. If you choose this option, the Smart T ools agent is configured. (T he Smart T ools agent is
installed, regardless of whether this option is selected.)
Participate only in Call Home, but do not connect to Smart T ools. If you choose this option, the Smart T ools agent is
installed, but not configured. Call Home functionality is provided through the Citrix T elemetry Service and Citrix Insight
Services.
Do not connect to Smart T ools or participate in Call Home.
When you're installing a Controller, you will not be able to congure information on the Call Home page in the installation
wizard if that server has an Active Directory GPO with the policy setting "Log on as a service" applied. For details, see
CT X218094.
For information about Smart Tools, see the Smart Tools documentation.
PowerShell cmdlets
T he PowerShell help provides comprehensive syntax, including descriptions of cmdlets and parameters that are not used in
these common use cases.
Diagnostic collections are automatically uploaded to Citrix. If you do not enter additional cmdlets for a custom schedule,
the default schedule is used.
$cred = Get-Credential
Enable-CitrixCallHome -Credential $cred
To conrm that scheduled uploads are enabled, enter Get-CitrixCallHome. It should return IsEnabled=True and
IsMasterImage=False.
Enabling scheduled uploads in a master image eliminates having to congure each machine that is created in the machine
catalog.
To conrm that scheduled uploads are enabled, enter Get-CitrixCallHome. It should return IsEnabled=True and
IsMasterImage=True.
After you cancel scheduled uploads, you can still upload diagnostic data using PowerShell cmdlets.
Disable-CitrixCallHome
To conrm that scheduled uploads are disabled, enter Get-CitrixCallHome. It should return IsEnabled=False and
IsMasterImage=False.
Examples
T he following cmdlet creates a schedule to bundle and upload data at 11:20 every evening. Note that the Hours parameter
uses a 24-hour clock. When the UploadFrequency parameter value is Daily, the DayOfWeek parameter is ignored, if
specied.
To conrm the schedule, enter Get-CitrixCallHomeSchedule, In the above example,it should return StartT ime=22:20:00,
DayOfWeek=Sunday (ignored), Upload Frequency=Daily.
T he following cmdlet creates a schedule to bundle and upload data at 11:20 every Wednesday evening.
To conrm the schedule, enter Get-CitrixCallHomeSchedule, In the above example, it should return StartT ime=22:20:00,
DayOfWeek=Wednesday, Upload Frequency=Weekly.
Complete the following tasks on the machine where Call Home is enabled. Example diagrams in the following procedure
contain server address and port 10.158.139.37:3128. Your information will differ.
Step 1. Add proxy server information in your browser. In Internet Explorer, select Internet Options > Connections > LAN
settings. Select Use a proxy server f or your LAN" and enter the proxy server address and port number.
Step 3. Using a text editor, edit the TelemetryService.exe cong le, which is located in C:\Program Files\Citrix\Telemetry
Service. Add the information shown in the red box below.
You can use the CIS web site to upload a diagnostic information bundle to CIS. You can also use PowerShell cmdlets to
collect and upload diagnostic information to CIS.
CIS supports several PowerShell cmdlets that manage data uploads. T his documentation covers the cmdlets for two
common cases:
Use the Start-CitrixCallHomeUpload cmdlet to manually collect and upload a diagnostic information bundle to CIS. (T he
bundle is not saved locally.)
Use the Start-CitrixCallHomeUpload cmdlet to manually collect data and store a diagnostic information bundle locally.
T his allows you to preview the data. T hen, at a later time, use the Send-CitrixCallHomeBundle cmdlet to manually upload
a copy of that bundle to CIS. (T he data you originally saved remains locally.)
T he PowerShell help provides comprehensive syntax, including descriptions of cmdlets and parameters that are not used in
these common use cases.
When you enter a cmdlet to upload data to CIS, you are prompted to conrm the upload. If the cmdlet times out before
the upload completes, check the status of the upload in the system event log. T he upload request may be rejected if the
service is already performing an upload.
InputPath Location of zip le to include in the bundle. This might be an additional le that Citrix
Support requests. Be sure to include the .zip extension.
OutputPath Location where the diagnostic information will be saved. This parameter is required when
saving Call Home data locally.
Description and Incident Time Free form information about the upload.
Collect JSON-formatted string specifying which data to collect or omit, in the form {'collector':
{'enabled':Boolean}}", where Boolean is true or false.
'wmi'
'process'
'registry
''crashreport'
'trace'
'localdata'
'sitedata'
'sfb'
The 'sfb' collector is designed to be used on demand to diagnose Skype for Business
issues. In addition to the 'enabled' parameter, the 'sfb' collector supports the 'account'
and 'accounts' parameters to specify target users. Use one of the forms:
"-Collect "{'sfb':{'account':'domain\\user1'}}"
Examples
T he following cmdlet requests an upload of Call Home data (excluding data from the WMI collector) to CIS. T his data
relates to registration failures for PVS VDAs, which was noted at 2:30 PM for Citrix Support case 123456. In addition to the
Call Home data, the le "c:\Diagnostics\ExtraData.zip" will be incorporated into the uploaded bundle.
$cred=Get-Credential
C:\PS>Send-CitrixCallHomeBundle Credential $cred -Path \\mynetwork\myshare\mydata.zip
Citrix Scout
For full details, see Citrix Scout.
Introduction
Prerequisites and considerations
Collect diagnostics
T race and reproduce
Schedule collections
Introduction
Citrix Scout collects diagnostics that can be used for proactive maintenance in your XenApp and XenDesktop deployment.
Citrix offers comprehensive, automated analysis through Citrix Insight Services. You can also use Scout to troubleshoot
issues, either on your own or with guidance from Citrix Support. You can upload collection les to Citrix for analysis and
guidance from Citrix Support. Or, you can save a collection locally for your own review, and then later upload the collection
le to Citrix for analysis.
Collect: Runs a one-time diagnostics collection on machines you select in a Site. T hen, you either upload the file
containing the collection to Citrix or save it locally.
Trace & Reproduce: Starts a manual trace on machines you select. T hen you re-create issues on those machines. After
re-creating the issue, the trace is stopped. T hen, Scout collects other diagnostics and uploads the file containing the
trace and the collection to Citrix, or saves the file locally.
Schedule: Schedules diagnostics collections to occur daily or weekly at a specified time on machines you select. T he file
containing each collection is automatically uploaded to Citrix.
T he graphical interface described in this article is the primary way to use Scout. Alternatively, you can use the PowerShell
interface to congure one-time or scheduled diagnostic collections and uploads. See Call Home.
In an on-premises XenApp and XenDesktop deployment, run Scout from a Delivery Controller to capture diagnostics
from one or more Virtual Delivery Agents (VDAs) and Delivery Controllers. You can also run Scout from a VDA to collect
local diagnostics.
In a Citrix Cloud environment that uses the XenApp and XenDesktop Service, run Scout from a VDA to collect local
diagnostics.
What is collected
T he diagnostics collected by Scout include Citrix Diagnostic Facility (CDF) trace log les. A subset of CDF traces called
Always-on Tracing (AOT ) is also included. AOT information can be helpful when troubleshooting common issues such as VDA
registrations and application/desktop launches. No other Event Tracing for Windows (ET W) information is collected.
For a list of the datapoints that Scout collects, see Scout key datapoints.
You must be a local administrator and domain user for each machine you're collecting diagnostics from.
Use Run as administrator when launching Scout.
Version compatibility
T his version of Scout (3.x) is intended to be run on (minimum) XenApp and XenDesktop 7.14 Controllers and VDAs.
An earlier version of Scout is provided with earlier XenApp and XenDesktop deployments. For information about that earlier
version, see CT X130147.
If you upgrade a Controller or VDA earlier than 7.14, the earlier version of Scout is replaced with the current version. If you
do not upgrade all VDAs in a site, you can still use the current Scout release from an upgraded Controller. However, some
datapoints are omitted from collections.
Command line (local Controller PowerShell using Call Home cmdlets (any machine with
Script support
only) telemetry installed)
Verication tests
Before a diagnostic collection starts, verication tests run automatically for each selected machine to ensure that certain
requirements are met. If a test fails for a machine, Scout displays a message with suggested corrective action.
To enable WinRM, start Windows PowerShell on each machine. Using the "Run as administrator" option, enter Enable-
PSRemoting.
T hat cmdlet:
Install
By default, Scout is installed automatically as part of the Citrix Telemetry Service when you install a VDA or a Controller.
If you omit the Citrix Telemetry Service when you install a VDA, or remove the service later, run
TelemetryServiceInstaller_xx.msi from the x64\Virtual Desktop Components or x86\Virtual Desktop Components folder on
the XenApp or XenDesktop ISO.
Upload authorization
If you plan to upload diagnostic collections to Citrix, you must have a Citrix or Citrix Cloud account. (T hese are the
credentials you use to access Citrix downloads or access the Citrix Cloud Control Center.) After your account credentials are
validated, a token is issued.
If you authenticate with a Citrix account, the token-issuing process is not visible. You simply enter your account
credentials. After Citrix validates the credentials, you are allowed to continue in the Scout wizard.
If you authenticate with a Citrix Cloud account, you click a link to access Citrix Cloud using HT T PS with your default
browser. After entering your Citrix Cloud credentials, the token is displayed. Copy the token and then paste it into Scout.
You are then allowed to continue in the Scout wizard.
T he token is stored locally on the machine where you're running Scout. If you want to use that token the next time you
select Collect or Trace & Reproduce, select the Store token and skip this step in the f uture check box.
You must reauthorize each time you select Schedule on the Scout opening page. You cannot use a stored token when
creating or changing a schedule.
If you want to use a proxy server to upload collections to Citrix, you can instruct Scout to use the proxy settings
congured for your browser's Internet Properties, or you can specify the proxy server's IP address and port number.
Collect diagnostics
T he Collect procedure comprises selecting machines, starting the diagnostics collection, and then uploading the le
containing the collection to Citrix or saving it locally.
From the machine's Start menu: Citrix > Citrix Scout. On the opening page, click Collect.
T he Select machines page lists all the VDAs and Controllers in the Site. You can lter the display by machine name. Select
the check box next to each machine you want to collect diagnostics from, and then click Continue.
Scout automatically launches verication tests on each machine you selected, ensuring it meets the criteria listed in
Verication tests. If verication fails, a message is posted in the Status column, and that machine's check box is unselected.
You can either:
Resolve the issue and then select the machine's check box again. T his triggers a retry of the verification tests.
Skip that machine (leave its check box unselected). Diagnostics will not be collected from that machine.
T he summary lists all the machines from which diagnostics will be collected (the machines you selected that passed the
verication tests). Click Start Collecting.
During collection:
Choose whether to upload the le containing the collected diagnostics to Citrix, or save it on the local machine.
Click Done to return to the Scout opening page. You do not need to complete any further steps in this procedure.
If you have not previously authenticated through Scout, continue with this step.
If you previously authenticated through Scout, the stored authorization token is used by default. If this is OK with you,
choose this option and click Continue. You are not prompted for credentials for this collection; continue with Step 6.
If you previously authenticated, but want to reauthorize and have a new token issued, click Change/Reauthorize and
continue with this step.
Choose whether you want to use Citrix credentials or Citrix Cloud credentials to authenticate the upload. Click Continue.
T he credentials page appears only if you're not using a stored token.
If you want to use a proxy server for the file upload, click Conf igure proxy. You can instruct Scout to use the proxy
settings configured for your browser's internet properties, or you can enter the proxy server's IP address and port
number. Close the proxy dialog box.
For a Citrix Cloud account, click Generate token. Your default browser will launch to a Citrix Cloud page where a token is
displayed. Copy the token, and then paste it on the Scout page.
For a Citrix account, enter your credentials.
T he name field contains the default name for the file that will contain the collected diagnostics. T his should suffice for
most collections, although you can change the name. (If you delete the default name and leave the name field empty,
the default name will be used.)
Optionally, specify an 8-digit Citrix Support case number.
In the optional Description field, describe the issue and indicate when the issue occurred, if applicable.
During the upload, the lower left portion of the page approximates what percentage of the upload has completed.
To cancel an in-progress upload, click Stop Upload.
T his procedure is similar to the standard Collect procedure. However, it allows you to start a trace on machines and then re-
create issues on those machines. All diagnostics collections include AOT trace information; this procedure adds CDF traces
to help troubleshooting.
From the machine's Start menu: Citrix > Citrix Scout. On the opening page, click Trace & Reproduce.
T he Select machines page lists all the VDAs and Controllers in the Site. You can lter the display by machine name. Select
the check box next to each machine you want to collect traces and diagnostics from, and then click Continue.
Scout launches verication tests on each of the machines you selected, ensuring it meets the criteria listed in Verication
tests. If verication fails for a machine, a message is posted in the Status column, and that machine's check box is
unselected. You can either:
Resolve the issue and then select the machine's check box again. T his triggers a retry of the verification tests.
Skip that machine (leave its check box unselected). Diagnostics and traces will not be collected from that machine.
Step 3. Trace
T he summary lists all the machines from which traces will be collected. Click Start Tracing.
On one or more of the selected machines, reproduce the issues you experienced. Trace collection continues while you're
doing that. When you're done reproducing the issue, click Continue in Scout. T hat stops the trace.
After you stop the trace, indicate whether you reproduced the issue during the trace.
During collection:
Choose whether to upload the le containing the collected diagnostics to Citrix, or save it on the local machine.
Click Done to return to the Scout opening page. You do not need to complete any further steps in this procedure.
If you have not previously authenticated through Scout, continue with this step.
If you previously authenticated through Scout, the stored authorization token is used by default. If this is OK with you,
choose this option and click Continue. You are not prompted for credentials for this collection; continue with Step 7.
If you previously authenticated, but want to reauthorize and have a new token issued), click Change/Reauthorize and
continue with this step.
Choose whether you want to use Citrix credentials or Citrix Cloud credentials to authenticate the upload. Click
Continue. T he credentials page appears only if you're not using a stored token.
If you want to use a proxy server for the file upload, click Conf igure proxy. You can instruct Scout to use the proxy
settings configured for your browser's Internet Properties, or you can enter the proxy server's IP address and port
number. Close the proxy dialog box.
For a Citrix Cloud account, click Generate token. Your default browser will launch to a Citrix Cloud page where a token is
displayed. Copy the token, and then paste it on the Scout page.
For a Citrix account, enter your credentials.
T he name field contains the default name for the file that will contain the collected diagnostics. T his should suffice for
most collections, although you can change the name. (If you delete the default name and leave the name field empty,
the default name will be used.)
Optionally, specify an 8-digit Citrix Support case number.
In the optional Description field, describe the issue and indicate when the issue occurred, if applicable.
During the upload, the lower left portion of the page approximates what percentage of the upload has completed.
To cancel an in-progress upload, click Stop Upload.
When the upload completes, the URL of its location is displayed and linked. You can follow the lik to the Citrix location to
view the analysis of the upload, or you can copy the link.
Schedule collections
T he Schedule procedure comprises selecting machines and then setting or canceling the schedule. Scheduled collections are
automatically uploaded to Citrix. (You can save scheduled collections locally using the PowerShell interface. See Citrix Call
Home.)
From the machine's Start menu: Citrix > Citrix Scout. On the opening page, click Schedule.
T he Select machines page lists all the VDAs and Controllers in the Site. You can lter the display by machine name.
When you installed VDAs and Controllers using the graphical interface, you were offered the opportunity to
participate in Call Home. For details, see Citrix Call Home. (Call Home includes scheduling functionality equivalent to
Scout.) Scout displays those settings, by default. You can use this version of Scout to start scheduled collections for
the rst time, or change a previously-congured schedule.
Keep in mind that although you enabled/disabled Call Home on a per-machine basis, setting a schedule in Scout uses
the same commands, but affects all the machines you select.
Select the check box next to each machine you want to collect diagnostics from, and then click Continue.
Scout launches verication tests on each of the machines you selected, ensuring it meets the criteria listed in Verication
tests. If verication fails for a machine, a message is posted in the Status column, and that machine's check box is
unselected. You can either:
Resolve the issue and then select the machine's check box again. T his triggers a retry of the verification tests.
Skip that machine (leave its check box unselected). Diagnostics (or traces) will not be collected from that machine.
Indicate when you want diagnostics to be collected. Remember: T he schedule affects all the selected machines.
T o configure a weekly schedule for the selected machines, click Weekly. Choose the day of the week and enter the time
of day (24-hour clock) when the diagnostics collection will begin.
T o configure a daily schedule for the selected machines, click Daily. Enter the time of day (24-hour clock) when the
diagnostics collection will begin.
T o cancel an existing schedule for the selected machines (and not replace it with another), click Of f . T his cancels any
schedule that was previously configured for those machines.
Click Continue.
Review Upload authorization for details of this process. Remember: You cannot use a stored token to authenticate when
working with a Scout schedule.
Choose whether you want to use Citrix credentials or Citrix Cloud credentials to authenticate the upload. Click Continue.
If you want to use a proxy server for the file upload, click Configure proxy. You can instruct Scout to use the proxy
settings configured for your browser's Internet Properties, or you can enter the proxy server's IP address and port
number. Close the proxy dialog box.
For a Citrix Cloud account, click Generate token. Your default browser will launch to a Citrix Cloud page where a token is
displayed. Copy the token, and then paste it on the Scout page.
For a Citrix account, enter your credentials.
Review the congured schedule. Click Done to return to the Scout opening page.
When each scheduled collection occurs, each selected machine's Windows application log contains entries about the
collection and upload.
Citrix Director
Director is a real-time web tool you can use to monitor, troubeleshoot, and perform support tasks for end users.
Session Recording
Session Recording allows you to record the on-screen activity of any users session, over any type of connection, from any
server running XenApp subject to corporate policy and regulatory compliance. Session Recording records, catalogs, and
archives sessions for retrieval and playback.
Session Recording uses exible policies to trigger recordings of application sessions automatically. T his enables IT to
monitor and examine user activity of applications such as nancial operations and healthcare patient information
systems supporting internal controls for regulatory compliance and security monitoring. Similarly, Session Recording also
aids in technical support by speeding problem identication and time-to-resolution.
Conguration Logging
Conguration Logging is a feature that allows administrators to keep track of administrative changes to a Site.
Conguration Logging can help administrators diagnose and troubleshoot problems after conguration changes are made,
assist change management and track congurations, and report administration activity.
You can view and generate reports about logged information from Studio. You can also view logged items in Director with
the Trend View interface to provide notications of conguration changes. T his feature is useful for administrators who do
not have access to Studio.
T he Trends View gives historical data of conguration changes over a period of time so administrators can assess what
changes were made to the Site, when they were made, and who made them to nd the cause of an issue. T his view sorts
conguration information into three categories.
Connection Failures
Failed Desktop Machines
Failed Server Machines
Event logs
XenApp and XenDesktop services log events that occur. Event logs can be used to monitor and troubleshoot operations.
For details, see the Event logs article. Individual feature articles might also contain event information.
Session Recording uses exible policies to trigger recordings of application sessions automatically. T his enables IT to
monitor and examine user activity of applications - such as nancial operations and healthcare patient information systems
- supporting internal controls for regulatory compliance and security monitoring. Similarly, Session Recording also aids in
technical support by speeding problem identication and time-to-resolution.
Benets
Enhanced security through logging and monitoring. Session Recording allows organizations to record on-screen user
activity for applications that deal with sensitive information. T his is especially critical in regulated industries such as health
care and nance. Where personal information that must not be recorded is involved, policy controls allow selective
recording.
Powerf ul activity monitoring. Session Recording captures and archives screen updates, including mouse activity and the
visible output of keystrokes in secured video recordings to provide a record of activity for specic users, applications, and
servers.
Session Recording is not designed or intended to contribute to the collection of evidence for legal proceedings. Citrix
recommends that organizations using Session Recording use other techniques for evidence collection, such as conventional
video records combined with traditional text-based eDiscovery tools.
Faster problem resolution. When users call with a problem that is hard to reproduce, help desk support staff can enable
recording of user sessions. When the issue recurs, Session Recording provides a time-stamped visual record of the error,
which can then be used for faster troubleshooting.
Session Recording Agent. A component installed on each VDA for Server OS or Desktop OS to enable recording. It is
responsible for recording session data.
Session Recording Server. A server that hosts:
T he Broker. An IIS 6.0+ hosted Web application that handles the search queries and file download requests from the
Session Recording Player, handles policy administration requests from the Session Recording Policy Console, and
evaluates recording policies for each XenApp and XenDesktop session.
T he Storage Manager. A Windows service that manages the recorded session files received from each Session
Recording-enabled computer running XenApp and XenDesktop.
Administrator Logging. An optional subcomponent installed with Session Recording Server to log the administration
activities. All the logging data is stored in a separate SQL Server database named CitrixSessionRecordingLogging.
Session Recording Player. A user interface that users access from a workstation to play recorded XenApp and
XenDesktop session files.
Session Recording Database. A component that manages the SQL Server database for storing recorded session data.
When this component is installed, it creates a database named CitrixSessionRecording. You cannot change the name.
Session Recording Policy Console. A console used to create policies to specify which sessions are recorded.
T his illustration shows the Session Recording components and their relationship with each other:
In the deployment example illustrated here, the Session Recording Agent, Session Recording Server, Session Recording
Database, Session Recording Policy Console, and Session Recording Player all reside behind a security rewall. T he Session
Recording Agent is installed on a VDA for Server OS or Desktop OS. A second server hosts the Session Recording Policy
Console, a third server acts as the Session Recording Server, and a fourth server hosts the Session Recording Database. T he
Session Recording Player is installed on a workstation. A client device outside the rewall communicates with the VDA for
Server OS on which the Session Recording Agent is installed. Inside the rewall, the Session Recording Agent, Session
Recording Policy Console, Session Recording Player, and Session Recording Database all communicate with the Session
Recording Server.
Session Recording does not support Desktop Composition Redirection (DCR) display mode. By default, Session Recording
disables DCR in a session if the session is to be recorded by recording policy. You can congure this behavior in Session
Recording Agent properties.
Depending upon your environment, you can deploy the Session Recording components in different scenarios.
A Session Recording deployment does not have to be limited to a single site. With the exception of the Session Recording
Agent, all components are independent of the server site. For example, you can congure multiple sites to use a single
Session Recording Server.
Alternatively, if you have a large site with many agents and plan to record many graphically intense applications (for
example, AutoCAD applications), or you have many sessions to record, a Session Recording Server can experience a high
performance demand. To alleviate performance issues, you can install multiple Session Recording Servers on different
computers and point the Session Recording Agents to the different computers. Keep in mind that an agent can point to
only one server at a time.
Use this type of deployment for recording sessions for one or more sites. T he Session Recording Agent is installed on each
VDA for Server OS in a site. T he site resides in a data center behind a security firewall. T he Session Recording Administration
components (Session Recording Database, Session Recording Server, and Session Recording Policy Console) are installed on
other servers and the Session Recording Player is installed on a workstation, all behind the firewall but not in the data
center. Outside the firewall, in an unsecured network environment, are XenApp clients, such as a workstation, mobile
devices, and a laptop computer.
T o enable Session Recording components to communicate with each other, ensure that you install them in the same
domain or across trusted domains that have a transitive trust relationship. T he system cannot be installed into a
workgroup or across domains that have an external trust relationship.
Due to its intense graphical nature and memory usage when playing back large recordings, Citrix does not recommend
installing the Session Recording Player as a published application.
T he Session Recording installation is configured for T LS/HT T PS communication. Ensure that you install a certificate on
the Session Recording Server and that the root certificate authority (CA) is trusted on the Session Recording
components.
If you install the Session Recording Database on a stand-alone server running SQL Server 2016 Express Edition, SQL
Server 2014 Express Edition, SQL Server 2012 Express Edition, or SQL Server 2008 R2 Express Edition, the server must have
T CP/IP protocol enabled and SQL Server Browser service running. T hese settings are disabled by default, but they must
be enabled for the Session Recording Server to communicate with the database. For information about enabling these
settings, see the Microsoft articles Enable T CP/IP Network Protocol for SQL Server and SQL Server Browser Service.
Consider the effects of session sharing when planning your Session Recording deployment. Session sharing for published
applications can conflict with Session Recording policy rules for published applications. Session Recording matches the
active policy with the first published application that a user opens. After the user opens the first application, any
subsequent applications opened during the same session continue to follow the policy that is in force for the first
application. For example, if a policy states that only Microsoft Outlook should be recorded, the recording commences
when the user opens Outlook. However, if the user opens a published Microsoft Word second (while Outlook is running),
Word also is recorded. Conversely, if the active policy does not specify that Word should be recorded, and the user
launches Word before Outlook (which should be recorded, according to the policy), Outlook is not recorded.
T hough you can install the Session Recording Server on a Delivery Controller, Citrix does not recommend you do so
because of performance issues.
You can install the Session Recording Policy console on a Delivery Controller.
You can install both the Session Recording Server and Session Recording Policy console on the same system.
Communication between Session Recording components is achieved through Internet Information Services (IIS) and
Microsoft Message Queuing (MSMQ). IIS provides the web services communication link between each Session Recording
component. MSMQ provides a reliable data transport mechanism for sending recorded session data from the Session
Recording Agent to the Session Recording Server.
Warning
Editing the registry incorrectly can cause serious problems that might require you to reinstall your operating system. Citrix cannot
guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk. Be
sure to back up the registry before you edit it.
Ensure that you properly isolate the different administrator roles in the corporate network, in the Session Recording
system, or on individual machines. By not doing so, security threats that can impact the system functionality or abuse
the system might occur. Citrix recommends that you assign different administrator roles to different persons or
accounts that you do not allow general session users to have administrator privileges to the VDA system.
XenApp and XenDesktop administrators should not grant VDA local admin role to any users of published apps or
desktops. If the local admin role is a requirement, protect the Session Recording Agent components with Windows
mechanisms or 3rd-party solutions.
Separately assign the Session Recording database administrator and Session Recording policy administrator.
Citrix recommends that you do not assign VDA administrator privileges to general session users, especially when using
Remote PC Access.
Session Recording Server local administration account must be strictly protected.
Control access to machines installed with Session Recording Player. If a user is not authorized as the Player role, do
not grant that user local administrator role for any player machine. Disable anonymous access.
Citrix recommends using a physical machine as a storage server for Session Recording.
Session Recording records session graphics activities without regard to the sensitivity of the data. Under certain
circumstances, sensitive data (including but not limited to user credentials, privacy information, and third-party screens)
might be recorded unintentionally. T ake the following measures to prevent risks:
+ Disable core memory dump for VDAs unless for specic troubleshooting cases.
+ Session owners should notify attendees that online meetings and remote assistance software might get recorded
if a desktop session is being recorded.
+ Ensure that logon credentials or security information does not appear in all local and Web applications published or
used inside the corporation or they are recorded by Session Recording.
+ Users should close any application that might expose sensitive information before switching to a remote ICA
session.
+ We recommend only automatic authentication methods (for example, single sign on, smartcard) for accessing
published desktops or Software as a Service (SaaS) applications.
Session Recording relies on certain hardware and hardware infrastructure (for example, corporate network devices,
operation system) to function properly and to meet security needs. T ake measures at the infrastructure levels to
prevent damage or abuse to those infrastructures and make the Session Recording function secure and reliable.
Properly protect and keep network infrastructure supporting Session Recording available.
Citrix recommends using a third-party security solution or Windows mechanism to protect Session Recording
components. Session Recording components include:
On Session Recording Server
Processes: SsRecStoragemanager.exe and SsRecAnalyticsService.exe
Services: CitrixSsRecStorageManager and CitrixSsRecAnalyticsService
All files in Session Recording Server installation folder
Registry keys at HOT KEY_LOCAL_MACHINE\Software\Citrix\SmartAuditor\Server
On Session Recording Agent
Process: SsRecAgent.exe
Service: CitrixSmAudAgent
All files in Session Recording Agent installation folder
Registry keys at HOT KEY_LOCAL_MACHINE\Software\Citrix\SmartAuditor\Agent
Set the access control list (ACL) for Message Queuing (MSMQ) on the Session Recording Server to restrict VDA or VDI
machines that can send MSMQ data to the Session Recording Server and prevent unauthorized machines from sending
data to the Session Recording Server.
1) Install server feature Directory Service Integration on each Session Recording Server and VDA or VDI machine
where Session Recording is enabled, and then restart the Message Queuing service.
2) From the Windows Start menu on each Session Recording Server, open Administrative Tools > Computer
Management.
3) Open Services and Applications > Message Queuing > Private Queues.
4) Click on the private queue citrixsmauddata to open the Properties page and select the Security tab.
Disable RC4 cipher suites for T LS on the Session Recording Server and Session Recording Database:
1. Using the Microsoft Group Policy Editor, navigate to Computer Conf iguration > Administrative Templates >
Use playback protection. Playback protection is a Session Recording feature that encrypts recorded files before they are
downloaded to the Session Recording Player. By default, this option is enabled and is in Session Recording Server
Properties.
Follow NSIT guidance for cryptographic key lengths and cryptographic algorithms.
Configure T LS 1.2 support for Session Recording.
Citrix recommends using T LS 1.2 as the communication protocol to ensure the end-to-end security of the Session
Recording components.
To conf igure TLS 1.2 support of Session Recording:
1. Log on to the computer hosting the Session Recording Server, install the proper SQL Server client component and
driver, and set strong cryptography for .NET Framework (version 4 or later)
a. Install the Microsoft ODBC Driver 11 (or a later version) for SQL Server.
b. Apply the latest hotfix rollup of .NET Framework.
c. Install ADO.NET - SqlClient based on your version of .NET Framework. For more information,
see https://support.microsoft.com/en-us/kb/3135244.
d. Add a DWORD value SchUseStrongCrypto = 1 under
HKEY_LOCAL_MACHINE\SOFT WARE\Microsoft\.NetFramework\v4.0.30319 and
HKEY_LOCAL_MACHINE\SOFT WARE\Wow6432Node\Microsoft\.NetFramework\v4.0.30319.
e. Restart the computer.
2. Log on to the computer hosting the Session Recording Policy Console to apply the latest hotfix rollup of .NET
Framework and set strong cryptography for .NET Framework (version 4 or later). T he method for setting strong
cryptography is same as substeps 1-d and 1-e. You can omit these steps if you choose to install the Session Recording
Policy Console on the same computer as the Session Recording Server.
To congure the T LS 1.2 support for SQL Server with versions earlier than 2016, see https://support.microsoft.com/en-
us/kb/3135244. To leverage T LS 1.2, congure HT T PS as the communication protocol for the Session Recording
components.
For information about conguring the Session Recording security features, see Knowledge Center article CT X200868.
For more information about building a highly scalable Session Recording system, see Knowledge Center article CT X200869.
Hardware recommendations
Consider how much data you will be sending to each Session Recording Server and how quickly the servers can process and
store this data. T he rate at which your system can store incoming data must be higher than the data input rate.
To estimate your data input rate, multiply the number of sessions recorded by the average size of each recorded session
and divide by the period of time for which you are recording sessions. For example, you might record 5,000 Microsoft
Outlook sessions of 20MB each over an 8-hour work day. In this case, the data input rate is approximately 3.5Mbps. (5,000
sessions times 20MB divided by 8 hours, divided by 3,600 seconds per hour.)
You can improve performance by optimizing the performance of a single Session Recording Server or by installing multiple
Session Recording Servers on different machines.
Disk and storage hardware are the most important factors to consider when planning a Session Recording deployment. T he
write performance of your storage solution is especially important. T he faster data can be written to disk, the higher the
performance of the system overall.
Storage solutions suitable for use with Session Recording include a set of local disks controlled as RAID arrays by a local
disk controller or by an attached Storage Area Network (SAN).
Note: Session Recording should not be used with Network-Attached Storage (NAS), due to performance and security
problems associated with writing recording data to a network drive.
For a local drive setup, a disk controller with built-in cache memory enhances performance. A caching disk controller must
have a battery backup facility to ensure data integrity in case of a power failure.
Network capacity
A 100Mbps network link is suitable for connecting a Session Recording Server. A gigabit Ethernet connection might improve
performance, but does not result in 10 times greater performance than a 100Mbps link.
Ensure that network switches used by Session Recording are not shared with third-party applications that might compete
for available network bandwidth. Ideally, network switches are dedicated for use with the Session Recording Server.
Consider the following specications for the computer on which a Session Recording Server is installed:
If a single Session Recording Server does not meet your performance needs, you can install more Session Recording Servers
on different machines. In this type of deployment, each Session Recording Server has its own dedicated storage, network
switches, and database. To distribute the load, point the Session Recording Agents in your deployment to different Session
Recording Servers.
Database scalability
T he Session Recording Database requires Microsoft SQL Server 2016, Microsoft SQL Server 2014, Microsoft SQL Server
2012, or Microsoft SQL Server 2008 R2. T he volume of data sent to the database is very small because the database stores
only metadata about the recorded sessions. T he les of the recorded sessions themselves are written to a separate disk.
Typically, each recorded session requires only about 1KB of space in the database, unless the Session Recording Event API is
used to insert searchable events into the session.
T he Express Editions of Microsoft SQL Server 2016, Microsoft SQL Server 2014, Microsoft SQL Server 2012, and Microsoft
SQL Server 2008 R2 impose a database size limitation of 10GB. At 1KB per recording session, the database can catalog
about four million sessions. Other editions of Microsoft SQL Server have no database size restrictions and are limited only
by available disk space. As the number of sessions in the database increases, performance of the database and speed of
searches diminishes only negligibly.
If you are not making customizations through the Session Recording Event API, each recorded session generates four
database transactions: two when recording starts, one when the user logs onto the session being recorded, and one when
recording ends. If you use the Session Recording Event API to customize sessions, each searchable event recorded
generates one transaction. Because even the most basic database deployment can handle hundreds of transactions per
second, the processing load on the database is unlikely to be stressed. T he impact is light enough that the Session
Recording Database can run on the same SQL Server as other databases, including the XenApp or XenDesktop data store
database.
If your Session Recording deployment requires many millions of recorded sessions to be cataloged in the database, follow
Microsoft guidelines for SQL Server scalability.
Note: If you are using Windows Server 2012 or later, Citrix recommends that you install Session Recording using the
XenApp/XenDesktop installer, instructions for which are provided below. If you are using Windows Server 2008, Citrix
recommends that you install Session Recording using the msi package, instructions for which are provided here.
Installation checklist
Automate installations
Installation checklist
As of version 7.14, you can install the Session Recording components by using the XenApp/XenDesktop installer.
Step
Select the machines on which you want to install each Session Recording component and ensure that each
computer meets the hardware and software requirements for the component or components to be
installed on it.
Use your Citrix account credentials to access the XenApp and XenDesktop download page and download
the product ISO le. Unzip the ISO le or burn a DVD of it.
To use the T LS protocol for communication between the Session Recording components, install the correct
certicates in your environment.
Install any hotxes required for the Session Recording components. T he hotxes are available from
the Citrix Support.
Note:
Citrix recommends that you divide the published applications into separate Delivery Groups based on your recording
policies because session sharing for published applications can conflict with active policies if they are in the same Delivery
Group. Session Recording matches the active policy with the first published application that a user opens.
If you are planning to use Machine Creation Services (MCS) or Provisioning Services, prepare a unique QMId. Failure to
comply can cause recording data losses.
SQL Server requires that T CP/IP is enabled, the SQL Server Browser service is running, and Windows Authentication is
used.
T o use HT T PS, configure server certificates for T LS/HT T PS.
Step 1: Download the product sof tware and launch the wizard
1. If you have not downloaded the XenApp and XenDesktop ISO yet, use your Citrix account credentials to access the
XenApp and XenDesktop download page and download the product ISO file. Unzip the ISO file or burn a DVD of it.
2. Use a local administrator account to log on to the machine where you are installing the Session Recording Administration
components. Insert the DVD in the drive or mount the ISO file. If the installer does not launch automatically, double-click
the AutoSelect application or the mounted drive.
T he installation wizard launches.
Location: By default, components are installed in C:\Program Files\Citrix. T he default location works for most
deployments. You can specify a custom installation location.
Component: By default, all the check boxes next to the components that can be installed are selected. T he installer
knows whether it is running on a Desktop OS or a Server OS. It allows the Session Recording Administration components
to be installed on a Server OS only, and it does not allow the Session Recording Agent to be installed on a machine that
has no VDA installed in advance. If you install the Session Recording Agent on a machine that has no VDA installed in
advance, T he Session Recording Agent option is unavailable.
By default, all the check boxes next to the features that can be installed are selected. Installing all these features on a
single server is fine for a proof of concept. However, for a large production environment, Citrix recommends you install
the Session Recording Policy Console on a separate server and the Session Recording Server, Session Recording
Administrator Logging and Session Recording Database on another separate server. Note that the Session Recording
Administrator Logging is an optional subfeature of the Session Recording Server. You must select the Session Recording
Server before you can select the Session Recording Administrator Logging.
T o add another feature on the same server after you select and install a feature or features on it, you can only run the
msi package but cannot run the installer again.
Select the feature or features you want to install and click Next.
T here are typically three types of deployments for the Session Recording Database and Microsoft SQL Server:
1. On the Features page, select Session Recording Database and click Next.
2. On the Database and Server Conguration page, specify the instance name and database name of the Session
Recording Database and the computer account of the Session Recording Server.
Instance name: If the database instance is not a named instance as you configured when you set up the instance, you
can use only the computer name of the SQL Server. If you have named the instance, use computer-name\instance-
name as the database instance name. T o determine the server instance name you are using, run select @@servername
on the SQL Server; the return value is the exact database instance name.
Database name: T ype a custom database name in the Database name text box or use the default database name
preset in the text box. Click Test connection to test the connectivity to the SQL Server instance and the validity of the
database name.
Important
A custom database name must contain only A-Z, a-z, and 0-9, and cannot exceed 123 characters.
You must have the securityadmin and dbcreator server role permissions of the database. If you do not have the
permissions, you can:
Ask the database administrator to assign the permissions for the installation. After the installation completes, the
securityadmin and dbcreator server role permissions are no longer necessary and can be safely removed.
Or, use the SessionRecordingAdministrationx64.msi package (unzip the ISO file, and you can find this msi package
under \x64\Session Recording). During the msi installation, a dialog box prompts for the credentials of a database
T he installation creates the new Session Recording Database and adds the machine account of the Session
Recording Server as db_owner.
Click Next.
T he Summary page shows your installation choices. You can click Back to return to the earlier wizard pages and make
changes. Or, click Install to start the installation.
T he Session Recording Administrator Logging is an optional subfeature of the Session Recording Server. You must select
the Session Recording Server before you can select the Session Recording Administrator Logging.
Citrix recommends you install the Session Recording Administrator Logging together with the Session Recording Server
at the same time. If you dont want the Administrator Logging feature to be enabled, you can disable it on a later page.
However, if you choose not to install this feature at the beginning but want to add it later, you can only manually add it
by using the SessionRecordingAdministrationx64.msi package.
Instance name: T ype the name of your SQL Server in the Instance name text box. If you are using a named instance,
type computer-name\instance-name; otherwise, type computer-name only. FQDN of the SQL Server is not supported.
Database name: T ype a custom database name in the Database name text box or use the default database name
CitrixSessionRecording that is preset in the text box.
You must have the securityadmin and dbcreator server role permissions of the database. If you do not have the
permissions, you can:
Ask the database administrator to assign the permissions for the installation. After the installation completes, the
securityadmin and dbcreator server role permissions are no longer necessary and can be safely removed.
Or, use the SessionRecordingAdministrationx64.msi package to install the Session Recording Server. During the msi
installation, a dialog box prompts for the credentials of a database administrator with the securityadmin and
dbcreator server role permissions. Enter the correct credentials and then click OK to continue the installation.
After typing the correct instance name and database name, click Test connection to test the connectivity to the
Session Recording Database.
Enter the Session Recording Server computer account, and then click Next.
3. On the Administration Logging Conguration page, specify congurations for the Administration Logging feature.
The Administration Logging database is installed on the SQL Server instance: T his text box is not editable. T he
SQL Server instance name of the Administration Logging database is automatically grabbed from the instance name
that you typed on the Database and Server Conf iguration page.
Administrator Logging database name: If you choose to install the Session Recording Administrator Logging feature,
type a custom database name for the Administrator Logging database in this text box or use the default database
name CitrixSessionRecordingLogging that is preset in the text box.
After typing the Administrator Logging database name, click Test connection to test the connectivity to the
Administrator Logging database.
Enable Administration Logging: By default, the Administration Logging feature is enabled. You can disable it by clearing
the check box.
Enable mandatory blocking: By default, mandatory blocking is enabled. the normal features might be blocked if logging
fails. You can disable mandatory blocking by clearing the check box.
Note: T he Session Recording Server default installation uses HT T PS/T LS to secure communications. If T LS is not
congured in the default IIS site of the Session Recording Server, use HT T P. To do so, cancel the selection of SSL in the IIS
Management Console by navigating to the Session Recording Broker site, opening the SSL settings, and clearing the
Require SSL check box.
Click Finish to complete your installation of the Session Recording Policy Console.
Important: Broker_PowerShellSnapIn_x64.msi cannot be automatically installed by the installer. You must nd the
Broker_PowerShellSnapIn_x64.msi in the XenApp/XenDesktop ISO (under \layout\image-full\x64\Citrix Desktop Delivery
Controller) and follow the instructions to install it manually.
1. For an HT T PS connection, install the certificate to trust the Session Recording Server in the T rusted Root Certificates
of the Director server.
2. T o configure the Director server to use the Session Recording Server, run
the C:\inetpub\wwwroot\Director\tools\DirectorConf ig.exe /conf igsessionrecording command.
Step 1: Download the product sof tware and launch the wizard
Use a local administrator account to log on to the machine where you are installing the Session Recording Agent
component. Insert the DVD in the drive or mount the ISO le. If the installer does not launch automatically, double-click the
AutoSelect application or the mounted drive.
If you have installed the Session Recording Server in advance, enter the name of the computer where you installed the
Session Recording Server and the protocol and port information for the connection to the Session Recording Server. If
you have not installed Session Recording yet, you can modify such information later in Session Recording Agent
Properties.
Note: T here is a limitation with the test connection function of the installer. It does not support the HT T PS requires T LS
1.2 scenario. If you use the installer in this scenario, test connection fails but you can ignore the failure and click Next to
continue the installation. It does not affect normal functioning.
Note: When Machine Creation Services (MCS) or Provisioning Services (PVS) creates multiple VDAs with the congured
master image and Microsoft Message Queuing (MSMQ) installed, those VDAs can have the same QMId under certain
conditions. T his might cause various issues, for example:
As a workaround, create a unique QMId for each VDA and it differs depending on the deployment methods.
No extra actions are required if Desktop OS VDAs with the Session Recording agent installed are created with PVS 7.7 or
later and MCS 7.9 or later in the static desktop mode that is, for example, congured to make all changes persistent with a
separate Personal vDisk or the local disk of your VDA.
For Server OS VDAs created with MCS or PVS and Desktop OS VDAs that are congured to discard all changes when a user
1. Make sure that the execution policy is set to RemoteSigned or Unrestricted in PowerShell.
Set-ExecutionPolicy RemoteSigned
2. Create a scheduled task, set the trigger as on system startup, and run with the SYST EM account on the PVS or
MCS master image machine.
Remove-It empropert y -Pat h HKLM:Soft ware\Microsoft \MSMQ\Paramet ers\MachineCache -Name QMId -Force
Set -It emPropert y -Pat h HKLM:Soft ware\Microsoft \MSMQ\Paramet ers -Name "SysPrep" -Type DWord -Value 1
$depServices = Get -Service -name MSMQ -dependent services | Select -Propert y Name
$st art Mode = Get -WmiObject win32_service -lt er "NAME = '$($depService.Name)'" | Select -Propert y St art Mode
Use a local administrator account to log on to the machine where you are installing the Session Recording Player
component. Insert the DVD in the drive or mount the ISO le. If the installer does not launch automatically, double-click the
AutoSelect application or the mounted drive.
Automate installations
To install Session Recording Agent on multiple servers, write a script that uses silent installation.
T he following command line installs the Session Recording Agent and creates a log le to capture the installation
information.
where:
yourservername is the NetBIOS name or FQDN of the computer hosting the Session Recording Server. If not specied,
this value defaults to localhost.
yourbrokerprotocol is HT T P or HT T PS that Session Recording Agent uses to communicate with Session Recording Broker.
If not specied, this value defaults to HT T PS.
yourbrokerport is the port number that Session Recording Agent uses to communicate with Session Recording Broker. If
not specied, this value defaults to zero, which directs Session Recording Agent to use the default port number for your
selected protocol: 80 for HT T P or 443 for HT T PS.
Note: For Windows Server 2012 and later, Citrix recommends you upgrade by using the XenApp/XenDesktop installer. For
Windows Server 2008, Citrix recommends you upgrade by using the msi package.
You must use the Session Recording installer's graphical or command-line interface to upgrade the Session Recording
components on the machine where you installed the components.
Before beginning any upgrade activity, back up the database named CitrixSessionRecording in the SQL Server instance,
so that you can restore it if any issues are discovered after the database upgrade.
In addition to being a domain user, you must be a local administrator on the machines where you are upgrading the
Session Recording components.
If the Session Recording Server and Session Recording Database are not installed on the same server, you must have the
database role permission to upgrade the Session Recording Database; otherwise, you can
Ask the database administrator to assign the securityadmin and dbcreator server role permissions for the upgrade.
After the upgrade completes, the securityadmin and dbcreator server role permissions are no longer necessary and
can be safely removed.
Or, use the SessionRecordingAdministrationx64.msi package to upgrade. During the msi upgrade, a dialog box prompts
If you do not plan to upgrade all the Session Recording Agents at the same time, Session Recording Agent 7.6.0 (or later)
can work with the latest (current) release of Session Recording Server. However, some new features and bug fixes might
not take effect.
Any sessions launched during the upgrade of Session Recording Server are not recorded.
T he Graphics Adjustment option in Session Recording Agent Properties is enabled by default after a fresh installation
or upgrade to keep compatible with the Desktop Composition Redirection mode. You can disable this option manually
after a fresh installation or upgrade.
T he Administrator Logging feature is not installed after you upgrade Session Recording from a previous release that
doesn't contain this feature. T o add this new feature, modify the installation after the upgrade.
If there are live recording sessions when the upgrade process starts, there is very little chance that the recording can be
completed.
Review the upgrade sequence below, so that you can plan and mitigate potential outages.
Upgrade sequence
1. If the Session Recording Database and Session Recording Server are installed on different servers, stop the Session
Recording Storage Manager service manually on the Session Recording Server, and then upgrade the Session Recording
Database first.
2. Ensure that the Session Recording Broker is running with the IIS service. Upgrade the Session Recording Server. If the
Session Recording Database and Session Recording Server are installed on the same server, the Session Recording
Database will also be upgraded.
3. T he Session Recording service is back online automatically when the upgrade of the Session Recording Server is
completed.
4. Upgrade the Session Recording Agent (on the master image).
5. Upgrade the Session Recording Policy Console with or after the Session Recording Server.
6. Upgrade the Sessoin Recording Player.
For security reasons, the Administrator Logging Database is not removed after the components are uninstalled.
When you install Session Recording, no user has the permission to play recorded sessions. You must assign the permission to
each user, including the administrator. A user without the permission to play recorded sessions receives the following error
message when trying to play a recorded session:
When you install Session Recording, domain administrators grant the permission to control the recording policies by default.
You can change the authorization setting.
T he active recording policy species session recording behavior on all VDAs or VDI s that have Session Recording Agent
installed and connected to the Session Recording Server. When you install Session Recording, the active recording policy is
Do not record. Sessions cannot be recorded until you change the active recording policy.
Important: A policy can contain many rules, but only one active policy can be running at a time.
1. Log on as an authorized Policy Administrator to the server where the Session Recording Policy Console is installed.
2. Start the Session Recording Policy Console.
3. If the Connect to Session Recording Server dialog box appears, ensure that the name of the computer hosting the
Session Recording Server, the protocol, and the port number are correct.
4. In the Session Recording Policy Console, expand Recording Policies. T his displays the recording policies available when
you install Session Recording, with a check mark indicating which policy is active:
Do not record. T his is the default policy. If you do not specify another policy, no sessions are recorded.
Record everyone with notif ication. If you choose this policy, all sessions are recorded. A window appears to notify
recording occurrence.
Record everyone without notif ication. If you choose this policy, all sessions are recorded. No window appears to
notify recording occurrence.
5. Select the policy you want to make active.
6. From the menu bar, choose Action > Activate Policy.
Session Recording allows you to create your own recording policy. When you create recording policies, they appear in the
Recording Policies folder of the Session Recording Policy Console.
T he generic recording policy might not fit your requirements. You can configure policies and rules based on users, VDA and
VDI servers, Delivery Groups, and applications. For more information about custom policies, see Create custom recording
policies.
Note: T he Administrator Logging feature of Session Recording allows you to log the recording policy changes. For more
information, see Log administration activities.
Congure the Session Recording Player
Before a Session Recording Player can play sessions, you must congure it to connect to the Session Recording Server that
T he connection between the Session Recording Agent and the Session Recording Server is typically congured when the
Session Recording Agent is installed. To congure this connection after the Session Recording Agent is installed, use Session
Recording Agent Properties.
Important
For security reasons, grant users only the rights they need to perform specic functions, such as viewing recorded sessions.
You grant rights to Session Recording users by assigning them to roles using the Session Recording Authorization Console
on the Session Recording Server. Session Recording users have three roles:
Player. Grants the right to view recorded XenApp sessions. T here is no default membership in this role.
PolicyQuery. Allows the servers hosting the Session Recording Agent to request recording policy evaluations. By default,
authenticated users are members of this role.
PolicyAdministrator. Grants the right to view, create, edit, delete, and enable recording policies. By default,
administrators of the computer hosting the Session Recording Server are members of this role.
1. Log on to the computer hosting the Session Recording Server, as an administrator or as a member of the Policy
Administrator role.
2. Start the Session Recording Authorization Console.
3. Select the role to which you want to assign users.
4. From the menu bar, choose Action > Assign Windows Users and Groups.
5. Add the users and groups.
Any changes made to the console take effect during the update that occurs once every minute.
You can activate system policies available when Session Recording is installed or create and activate your own custom
policies. Session Recording system policies apply a single rule to all users, published applications, and servers. Custom policies
specifying which users, published applications, and servers are recorded.
T he active policy determines which sessions are recorded. Only one policy is active at a time.
System policies
Do not record. T his is the default policy. If you do not specify another policy, no sessions are recorded.
Record everyone with notif ication. If you choose this policy, all sessions are recorded. A pop-up window appears to
notify recording occurrence.
Record everyone without notif ication. If you choose this policy, all sessions are recorded. No pop-up window appears
to notify recording occurrence.
Activate a policy
1. Log on to the server where the Session Recording Policy Console is installed.
2. Start the Session Recording Policy Console.
3. If you are prompted by a Connect to Session Recording Server pop-up window, ensure that the name of the Session
Recording Server, protocol, and port are correct. Click OK.
4. In the Session Recording Policy Console, expand Recording Policies.
5. Select the policy you want to make the active policy.
6. From the menu bar, choose Action > Activate Policy.
When you create your own policy, you make rules to specify which users and groups, published applications, and servers
have their sessions recorded. A wizard within the Session Recording Policy Console helps you create rules. To obtain the list
of published applications and servers, you must have the site administrator read permission. Congure that on this site's
Delivery Controller.
For each rule you create, you specify a recording action and rule criteria. T he recording action applies to sessions that meet
the rule criteria.
Do not record. (Choose Disable session recording in the Rules wizard.) T his recording action specifies that sessions
that meet the rule criteria are not recorded.
Record with notif ication. (Choose Enable session recording with notif ication in the Rules wizard.) T his recording
action specifies that sessions that meet the rule criteria are recorded. A pop-up window appears to notify recording
occurrence.
For each rule, choose at least one of the following items to create the rule criteria:
Users or Groups. Creates a list of users or groups to which the recording action of the rule applies.
Published Resources. Creates a list of published applications or desktops to which the recording action of the rule
applies. In the Rules wizard, choose the XenApp/XenDesktop site or sites on which the applications or desktops are
available.
Delivery Groups or Machines. Creates a list of Delivery Groups or machines to which the recording action of the rule
applies. In the Rules wizard, choose the location of the Delivery Groups or machines.
IP Address or IP Range. Creates a list of IP addresses or ranges of IP addresses to which the recording action of the
rule applies. On the Select IP Address and IP Range screen, add a valid IP address or IP range for which recording will be
enabled or disabled.
When you create more than one rules in a recording policy, some sessions might match the criteria for more than one rules.
In these cases, the rule with the highest priority is applied to the sessions.
Rules with the Do not record action have the highest priority
Rules with the Record with notif ication action have the next highest priority
Rules with the Record without notif ication action have the lowest priority
Some sessions might not meet any rule criteria in a recording policy. For these sessions, the recording action of the policies
fallback rule applies. T he recording action of the fallback rule is always Do not record. T he fallback rule cannot be modied
or deleted.
1. Log on as an authorized Policy Administrator to the server where the Session Recording Policy Console is installed.
2. Start the Session Recording Policy Console and select Recording Policies in the left pane. From the menu bar,
choose Action > Add New Policy.
3. Right-click the New policy and select Add Rule.
4. Select a recording option - In the Rules wizard, select Disable session recording, Enable Session Recording with
notif ication (or without notif ication), and then click Next.
5. Select the rule criteria - You can choose one or any combination of the options:
Users or Groups
Published resources
Delivery Groups or Machines
IP Address or IP Range
6. Edit the rule criteria - T o edit, click the underlined values. T he values are underlined based on the criteria you chose in the
previous step.
Note that if you choose the Published Resources underlined value, the Site Address is the IP address, a URL, or a
machine name if the Controller is on a local network. T he Name of Application list shows the display name.
7. Follow the wizard to finish the configuration.
You can create Session Recording policies that ensure that the sessions of some users in your organization are never
recorded. T his is called white listing these users. White listing is useful for users who handle privacy-related information or
when your organization does not want to record the sessions of a certain class of employees.
For example, if all managers in your company are members of an Active Directory group named Executive, you can ensure
that these users sessions are never recorded by creating a rule that disables session recording for the Executive group.
While the policy containing this rule is active, no sessions of members of the Executive group are recorded. T he sessions of
other members of your organization are sessions recorded based on other rules in the active policy.
You can use client IP addresses as rule criteria for policy matching. For example, if you want to record sessions from clients
with specic IP addresses or within an IP range, use the Rules wizard to create a rule that applies only to those clients.
Note: When using the Rules wizard, you might be prompted to click on underlined value to edit when no underlined value
appears. Underlined values appear only when applicable. If no underline values appear, ignore the step.
Modif y a policy
1. Log on to the server where the Session Recording Policy Console is installed.
2. Start the Session Recording Policy Console.
3. If you are prompted by a Connect to Session Recording Server pop-up window, ensure that the name of the Session
Recording Server, protocol, and port are correct. Click OK.
4. In the Session Recording Policy Console, expand Recording Policies.
5. Select the policy you want to modify. T he rules for the policy appear in the right pane.
6. T o add a new rule, modify a rule, or delete a rule:
From the menu bar, choose Action > Add New Rule. If the policy is active, a pop-up window appears requesting
confirmation of the action. Use the Rules wizard to create a new rule.
Select the rule you want to modify, right-click, and choose Properties. Use the Rules wizard to modify the rule.
Select the rule you want to delete, right-click, and choose Delete Rule.
1. Log on to the server where the Session Recording Policy Console is installed.
2. Start the Session Recording Policy Console.
3. If you are prompted by a Connect to Session Recording Server pop-up window, ensure that the name of the Session
Recording Server, protocol, and port are correct. Click OK.
4. In the Session Recording Policy Console, expand Recording Policies.
5. In the left pane, select the policy you want to delete. If the policy is active, you must activate another policy.
6. From the menu bar, choose Action > Delete Policy.
7. Select Yes to confirm the action.
If the active policy tries to match an application name, the applications launched in the prelaunched session are not
matched, which results in the session not being recorded.
If the active policy records every application, when a user logs on to Citrix Receiver for Windows (at the same time that a
prelaunched session is established), a recording notification appears and the prelaunched (empty) session and any
applications to be launched in that session going forward are recorded.
As a workaround, publish applications in separate Delivery Groups according to their recording policies. Do not use an
application name as a recording condition. T his ensures that prelaunched sessions can be recorded. However, notications
still appear.
When you activate a policy, the previously active policy remains in effect until the users session ends. However, in some
cases, the new policy takes effect when the le rolls over. Files roll over when they have reached the maximum size. For
more information about the maximum le size for recordings, see Specify le size for recordings.
T he following table details what happens when you apply a new policy while a session is being recorded and a rollover
occurs:
Do not record Any other policy No change. T he new policy takes effect only when the user logs on
to a new session.
Record without Recording continues. No message appears the next time a user logs
notification on.
T he default notication message appears in the language of the operating system of the computers hosting the Session
Recording Server.
You can create custom notications in languages you choose; however, you can have only one notication message for
each language. Your users see notication messages in the languages of their preferred local settings.
After accepting and activating, the new message appears in the Language-specific notification messages box.
Note: T he Administrator Logging feature of Session Recording allows you to log the Session Recording server policy
changes. For more information, see Log administration activities.
When you install the Session Recording Agent, recording is enabled. Citrix recommends that you disable Session Recording
on servers that are not recorded because they experience a small impact on performance, even if no recording takes place.
Note: When you install Session Recording, the active policy is Do not record (no sessions are recorded on any server). T o
begin recording, use the Session Recording Policy Console to activate a different policy.
Enable custom event recording
Session Recording allows you to use third-party applications to insert custom data, known as events, into recorded
sessions. T hese events appear when the session is viewed using the Session Recording Player. T hey are part of the recorded
session le and cannot be modied after the session is recorded.
For example, an event might contain the following text: "User opened a browser." Each time a user opens a browser during
a session that is being recorded, the text is inserted into the recording at that point. When the session is played using the
Session Recording Player, the viewer can locate and count the times that the user opened a browser by noting the number
of markers that appear in the Events and Bookmarks list in the Session Recording Player.
Use Session Recording Agent Properties to enable a setting on each server where you want to insert custom events.
You must enable each server separately; you cannot globally enable all servers in a site.
Write applications built on the Event API that runs within each user's XenApp session (to inject the data into the
recording).
T he Session Recording installation includes an event recording COM application (API) that allows you to insert text from
third-party applications into a recording. You can use the API from many programming languages including Visual Basic, C++,
or C#. T he Session Recording Event API .dll is installed as part of the Session Recording installation. You can nd it at
C:\Program Files\Citrix\SessionRecording\Agent\Bin\Interop.UserApi.dll.
Using Session Recording Player, you can view a session after or while it is being recorded. Viewing a session that is being
recorded is similar to seeing actions happening live; however, there is actually a delay of one to two seconds when the data
propagates from the XenApp or XenDesktop server.
Some functionality is not available when you view sessions that are not recorded completely:
A digital signature cannot be assigned until recording is complete. If digital signing is enabled, you can view live playback
sessions, but they are not digitally signed and you cannot view certificates until the session is completed.
Playback protection cannot be applied until recording is complete. If playback protection is enabled, you can view live
playback sessions, but they are not encrypted until the session is completed.
You cannot cache a file until recording is complete.
As a security precaution, Session Recording automatically encrypts recorded les before they are downloaded for viewing in
the Session Recording Player. T his playback protection prevents recorded les from being copied and viewed by anyone
other than the user who downloaded the le. T he les cannot be played back on another workstation or by another user.
Encrypted les are identied with an .icle extension; unencrypted les are identied with an .icl extension. T he les remain
encrypted while they reside in the cache on the workstation where the Session Recording Player is installed until they are
opened by an authorized user.
By default, digital signing is disabled. After you select the certicate to sign the recordings, Session Recording grants the
read permission to the Session Recording Storage Manager Service.
Note: T o archive files or restore deleted files, use the icldb command.
Specif y the location f or recorded les
By default, recordings are stored in the drive:\SessionRecordings directory of the computer hosting the Session Recording
Server. You can change the directory where the recordings are stored, add additional directories to load-balance across
multiple volumes, or make use of additional space. Multiple directories in the list indicate that recordings are load-balanced
across the directories. You can add a directory multiple times. Load balancing cycles through the directories.
After you select the directories, Session Recording grants its service with Full Control permission to these directories.
You can create le storage directories on the local drive, the SAN volume, or a location specied by a UNC network path.
Network mapped drive letters are not supported. Do not use Session Recording with Network-Attached Storage (NAS), due
to serious performance and security problems associated with writing recording data to a network drive.
By default, archived recordings are restored to the drive:\SessionRecordingsRestore directory of the computer hosting the
Session Recording Server. You can change the directory where the archived recordings are restored.
Important: T he rollover setting does not apply to VDI desktop sessions for XenDesktop 7.8 and Session Recording Agent.
In those cases, each recording le has a maximum size of 1GB and activities are not recorded after the limit is reached.
File size. When the file reaches the specified number of megabytes, Session Recording closes the file and opens a new
one. By default, files roll over after reaching 50 megabytes; however, you can specify a limit from 10 megabytes to one
gigabyte.
Duration. After the session records for the specified number of hours, the file is closed and a new file is opened. By
default, files roll over after recording for 12 hours; however, you can specify a limit from one to 24 hours.
Session Recording checks both elds to determine which event occurs rst to determine when to roll over. For example, if
you specify 17MB for the le size and six hours for the duration and the recording reaches 17MB in three hours, Session
Recording reacts to the 17MB le size to close the le and open a new one.
To prevent the creation of many small les, Session Recording does not roll over until at least one hour elapses (this is the
minimum number that you can enter) regardless of the value specied for the le size. T he exception to this rule is if the le
size surpasses one gigabyte.
Warning
Editing the registry incorrectly can cause serious problems that might require you to reinstall your operating system. Citrix cannot
guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk. Be
sure to back up the registry before you edit it.
After installation, you can disable or enable the Session Recording Administrator Logging feature in Session Recording
Server Properties.
1. As an administrator, log on to the server where Session Recording Administrator Logging is installed.
2. From the Start menu, choose Session Recording Server Properties.
3. Click the Logging tab.
When Session Recording Administrator Logging is disabled, no new activities are logged. You can query the existing logs
from the web-based UI.
When mandatory blocking is enabled, the following activities are blocked if the logging fails. A system event is also logged
with an Event ID 6001:
For security reasons, grant users only the rights they need to perform specic functions, such as querying logs of
Administrator Logging.
You grant rights to the users by assigning them to roles using Session Recording Authorization Console on the Session
Recording Server. Administrator Logging has two roles:
LoggingWriter. Grants the right to write the Administrator Logging logs. By default, local administrators and Network
Note: Modifying the default LoggingWriter membership might cause log writing failure.
LoggingReader. Grants the right to query the Administrator Logging logs. T here is no default membership in this role.
Any changes made to the console take effect during the update that occurs once every minute.
By default, Administrator Logging is running as a web application in Internet Information Services (IIS), and its identity is
Network Service. To enhance the security level, you can change the identity of this web application to a service account or
a specic domain account.
By default, Administrator Logging logs every recording action after the policy query completes. T his might generate a large
amount of loggings. To improve the performance and save the storage, disable this kind of logging in Registry.
1. Open a web browser and visit the web page for Administrator Logging.
T he Always On Availability Groups feature is a high-availability and disaster-recovery solution that provides an
enterprise-level alternative to database mirroring. Introduced in SQL Server 2012, Always On Availability Groups
maximizes the availability of a set of user databases for an enterprise. Always On Availability Groups requires that the
SQL Server instances reside on the Windows Server Failover Clustering (WSFC) nodes. For more information,
see http://msdn.microsoft.com/en-us/library/hh510230.
T he Microsoft SQL clustering technology allows one server to automatically take over the tasks and responsibilities
of the server that has failed. However, setting up this solution is complicated and the automatic failover is typically
slower than alternatives such as SQL Server database mirroring. For more information, see
https://msdn.microsoft.com/en-us/library/ms189134.aspx.
Database mirroring ensures that an automatic failover occurs in seconds if the active database server fails. T his
solution is more expensive than the other two solutions because full SQL Server licenses are required on each
database server. You cannot use the SQL Server Express edition in a mirrored environment. For more information,
see https://msdn.microsoft.com/en-us/library/ms189852.aspx.
To install Session Recording with database high availability, do either of the following:
Install the Session Recording Server components first and then configure database high availability for the created
databases.
You can install the Session Recording Administration components with databases configured to be installed on the
prepared SQL Server instance and then configure database high availability for the created databases.
For Always On Availability Groups and clustering, you must manually change the SQL Server instance name to the
name of the availability group listener or SQL Server network in
HKEY_LOCAL_MACHINE\SOFT WARE\Citrix\SmartAuditor\Server.
For database mirroring, you must manually add the failover partners for databases in
HKEY_LOCAL_MACHINE\SOFT WARE\Citrix\SmartAuditor\Server.
Configure database high availability for empty databases first and then install the Session Recording Administration
components.
You can create two empty databases as the Session Recording Database and the Administrator Logging Database in
the expected primary SQL Server instance and configure high availability. T hen enter the SQL Server instance name when
All Session Recording Servers share the same folder to store recording files.
Install the entire Session Recording Administration components (including the Session Recording Database, Session
Recording Server, and Session Recording Policy Console) on the same server, and install only the Session Recording Server
component on all other servers. In this way, all Session Recording Servers use the same Session Recording Database and
the same Session Recording Policy Console.
Add the Session Recording Servers to the load balancing servers in Citrix NetScaler.
1. Add a load balancing service for each needed protocol on each load balancing server.
2. (Recommended) Select the relevant protocol monitor to bind each service monitor.
1. Create virtual servers with the same NetScaler VIP address based on the needed protocols and bind the virtual servers to
the relevant load balancing services.
2. Configure persistence on each virtual server.
3. (Recommended) Choose LEAST BANDWIT H or LEAST PACKET S as the load balancing method rather than the default
method (LEAST CONNECT ION).
1. If you choose the Administrator Logging feature, Citrix recommends that you enter the same Administrator Logging
database name when you install each Session Recording Server.
2. After sharing the Read/Write permission of the file storage folder with all Session Recording Server machine accounts,
change to use the file storage folder as the shared folder in Session Recording Server Properties. For more
information, see Specify where recordings are restored.
<redirections xmlns="msmq-queue-redirections.xml">
<redirection>
<from>[Protocol]://[NSFQDN]:[Port]/msmq/private$/CitrixSmAudData</from>
<to>[Protocol]://[FQDN]/msmq/private$/CitrixSmAudData</to>
</redirection>
<redirection>
<from>[Protocol]://[NSFQDN]/msmq/private$/CitrixSmAudData</from>
<to>[Protocol]://[FQDN]/msmq/private$/CitrixSmAudData</to>
</redirection>
</redirections>
Where [Protocol] is the chosen protocol for the Session Recording Storage Manager message queue (HT T P or HT T PS),
[NSFQDN] is the created FQDN of the NetScaler VIP address, [Port] is the chosen port number of the Session Recording
Storage Manager message queue, and [FQDN] is the FQDN of the local host.
On the machine where you installed the Session Recording Agent, do the following in Session Recording Agent Properties:
If you choose the HT T P or the HT T PS protocol for the Session Recording Storage Manager message queue, enter the
FQDN of the NetScaler VIP address in the Session Recording Server text box.
If you choose the default T CP protocol for the Session Recording Storage Manager message queue, enter the
NetScaler VIP address in the Session Recording Server text box.
On the machine where you installed the Session Recording Player, do the following:
Add the NetScaler VIP address or its FQDN as the connected Session Recording Server.
On the SQL Server where you installed the Session Recording Database, do the following:
Add all the Session Recording Server machine accounts to the shared Session Recording Database and assign them with
the db_owner permission.
If sessions are recorded with the live playback feature enabled, you can view sessions that are in progress, with a delay of a
few seconds, as well as sessions that are completed.
Sessions that have a longer duration or larger le size than the limits congured by your Session Recording administrator
appear in more than one session le.
Note: A Session Recording administrator must grant users the right to access the recorded sessions of VDAs for Server OS.
If you are denied access to viewing sessions, contact your Session Recording administrator.
When Session Recording Player is installed, the Session Recording administrator typically sets up a connection between the
Session Recording Player and a Session Recording Server. If this connection is not set up, the rst time you perform a search
for les, you are prompted to set it up. Contact your Session Recording administrator for setup information.
T his illustration shows the Session Recording Player with callouts indicating its major elements. T he functions of these
elements are described throughout the following articles.
T he Session Recording Player has window elements that toggle on and off.
If the Session Recording administrator sets up your Session Recording Player with the ability to connect to multiple Session
Recording Servers, you can select the Session Recording Server that the Session Recording Player connects to. T he Session
Recording Player can connect to only one Session Recording Server at a time.
Perform a search using the Session Recording Player. Recorded sessions that meet the search criteria appear in the
search results area.
Access recorded session files directly from your local disk drive or a shared drive.
Access recorded session files from a Favorites folder
When you open a le that was recorded without a digital signature, a warning message appears telling you that the origin
and integrity of the le were not veried. If you are condent of the integrity of the le, click Yes in the warning window to
open the le.
Note: T he Administrator Logging feature of Session Recording allows you to log the downloads of recordings in the
Session Recording Player. For more information, see Log administration activities.
Recorded session file names begin with an i_, followed by a unique alphanumeric file ID, followed by the .icl and .icle file
extension: .icl for recordings without playback protection applied, .icle for recordings with playback protection applied.
Session Recording saves recorded session files in a directory structure that incorporates the date the session was recorded.
For example, the file for a session recorded on December 22, 2014, is saved in folder path 2014\12\22.
1. Log on to the workstation where Session Recording Player is installed.
2. From the Start menu, choose Session Recording Player.
3. Do any of the following:
From the Session Recording Player menu bar, choose File > Open and browse for the file
Using Windows Explorer, navigate to the file and drag the file into the Player window
Using Windows Explorer, navigate to and double-click the file
If you created Favorites in the Workspace pane, select Favorites and open the file from the Favorites area in the
same way you open files from the search results area
Use f avorites
Creating the Favorites folders allows you to quickly access recordings that you view frequently. T hese Favorites folders
reference recorded session les that are stored on your workstation or on a network drive. You can import and export
these les to other workstations and share these folders with other Session Recording Player users.
Use the other options that appear in the File > Folder menu to delete, rename, move, copy, import, and export the folders.
Note: T o display all available recorded sessions, up to the maximum number of sessions that might appear in a search,
perform a search without specifying any search parameters.
T ip: Advanced searches might take up to 20 seconds to return results containing more than 150,000 entities. Citrix
recommends using more accurate search conditions such as a date range or user to reduce the result number.
1. Log on to the workstation where Session Recording Player is installed.
2. From the Start menu, choose Session Recording Player.
3. In the Session Recording Player window, click Advanced Search on the tool bar or choose Tools > Advanced Search.
4. Define your search criteria on the tabs of the Advanced Search dialog box:
Common allows you to search by domain or account authority, site, group, VDA for Server OS, application, or file ID.
Date/Time allows you to search date, day of week, and time of day.
Events allows you to search on custom events that your Session Recording administrator inserted to the sessions.
Other allows you to search by session name, client name, client address, and recording duration. It also allows you to
specify, for this search, the maximum number of search results displayed and whether or not archived files are included
in the search.
As you specify search criteria, the query you are creating appears in the pane at the bottom of the dialog box.
5. Click Search to start the search.
Tip: You can save and retrieve advanced search queries. Click Save in the Advanced Search dialog box to save the current
query. Click Open in the Advanced Search dialog box to retrieve a saved query. Queries are saved as files with an .isq
extension.
Session Recording Player search options allow you to limit the maximum number of session recordings that appear in search
results and to specify whether or not search results include archived session files.
1. Log on to the workstation where Session Recording Player is installed.
2. From the Start menu, choose Session Recording Player.
Use the player controls to play, stop, pause, and increase or decrease playback speed
Use the seek slider to move forward or backward
If you have inserted markers into the recording or if the recorded session contains custom events, you can also navigate
through the recorded session by going to those markers and events.
Note:
During playback of a recorded session, a second mouse pointer might appear. T he second pointer appears at the point in
the recording when the user navigated within Internet Explorer and clicked an image that was originally larger than the
screen but was scaled down automatically by Internet Explorer. While only one pointer appears during the session, two
might appear during playback.
T his version of Session Recording does not support SpeedScreen Multimedia Acceleration for XenApp or the Flash
quality adjustment policy setting for XenApp. When this option is enabled, playback displays a black square.
Session Recording cannot record the Lync webcam video when using the HDX RealT ime Optimization Pack.
When you record a session with a resolution higher than or equal to 4096 x 4096, there might be fragments in the
recording appearance.
You cannot record Windows 7 desktop sessions correctly when Legacy Graphics Mode is enabled by the XenDesktop
site policy and Disk-based Caching is enabled by the Citrix Receiver for Windows policy. T hose recordings show a black
screen.
As a workaround, disable Disk-based Caching with GPO on the machines where you installed Citrix Receiver for
Windows. For more information about disabling Disk-based Caching, see CT X123169 and Configure with the Group
Policy Object administrative template.
Session Recording does not support the Framehawk display mode. Sessions in Framehawk display mode cannot be
recorded and played back correctly. Sessions recorded in Framehawk display mode might not contain the sessions'
activities.
You can click the player controls in the lower part of the Player window or access them by choosing Play from the Session
Recording Player menu bar. Use Player controls to:
Pause playback.
Stop playback. If you click Stop, then Play, the recording restarts at the beginning of the file.
Halve the current playback speed down to a minimum of one-quarter normal speed.
Use the seek slider in the lower part of the Player window to jump to a different position within the recorded session. You
can drag the seek slider to the point in the recording you want to view or click anywhere on the slider bar to move to that
location.
You can also use the following keyboard keys to control the seek slider:
You can set Session Recording Player to play recorded sessions in exponential increments from one-quarter normal
playback speed to 32 times normal playback speed.
1. Log on to the workstation where the Session Recording Player is installed.
2. From the Start menu, choose Session Recording Player.
3. From the Session Recording Player menu bar, choose Play > Play Speed.
4. Choose a speed option.
T he speed adjusts immediately. A number indicating the increased or decreased speed appears below the Player window
controls. T ext indicating the exponential rate appears briefly in green in the Player window.
Idle periods of a recorded session are the portions in which no action takes place. T he Session Recording Player can
highlight the idle periods of recorded sessions when played back. T he option is On by default.
Note that idle periods are not highlighted when playing back the live sessions with Session Recording Player.
Fast review mode allows you to set Session Recording Player to skip the portions of recorded sessions in which no action
takes place. T his setting saves time for playback viewing; however, it does not skip animated sequences such as animated
mouse pointers, flashing cursors, or displayed clocks with second hand movements.
1. Log on to the workstation where Session Recording Player is installed.
2. From the Start menu, choose Session Recording Player.
3. From the Session Recording Player menu bar, choose Play > Fast Review Mode.
T he option toggles on and off. Each time you choose it, its status appears briefly in green in the Player window.
Events are inserted to sessions as they are recorded, using the Event API and a third-party application. Events are saved as
part of the session le. You cannot delete or alter them using the Session Recording Player.
Bookmarks are markers you insert into the recorded sessions using the Session Recording Player. Bookmarks are associated
with the recorded session until you delete them, but they are not saved as part of the session le. By default, each
bookmark is labeled with the text Bookmark, but you can change this to any text annotation up to 128 characters long.
Events and bookmarks appear as dots in the lower part of the Player window. Events appear as yellow dots; bookmarks
appear as blue dots. Moving the mouse over these dots displays the text label associated with them. You can also display
the events and bookmarks in the Events and Bookmarks list of the Session Recording Player. T hey appear in this list with
their text labels and the times in the recorded session at which they appear, in chronological order.
You can use events and bookmarks to help you navigate through recorded sessions. By going to an event or bookmark, you
can skip to the point in the recorded session where the event or bookmark is inserted.
T he Events and Bookmarks list displays the events and bookmarks inserted in the recorded session that is currently
playing. It can show events only, bookmarks only, or both.
1. Log on to the workstation where the Session Recording Player is installed.
2. From the Start menu, choose Session Recording Player.
3. Move the mouse pointer to the Events and Bookmarks list area and right-click to display the menu.
4. Choose Show Events Only, Show Bookmarks Only, or Show All.
Insert a bookmark
After a bookmark is created, you can add an annotation to it or change its annotation.
1. Log on to the workstation where Session Recording Player is installed.
2. From the Start menu, choose Session Recording Player.
3. Begin playing the recorded session containing the bookmark.
4. Ensure that the events and bookmarks list is displaying bookmarks.
5. Select the bookmark in the Events and Bookmarks list and right-click to display the menu.
Delete a bookmark
Go to an event or bookmark
Going to an event or bookmark causes the Session Recording Player to go to the point in the recorded session where the
event or bookmark is inserted.
1. Log on to the workstation where the Session Recording Player is installed.
2. From the Start menu, choose Session Recording Player.
3. Begin playing a session recording containing events or bookmarks.
4. Go to an event or bookmark:
In the lower part of the Player window, click the dot representing the event or bookmark to go to the event or
bookmark.
In the Events and Bookmarks list, double-click the event or bookmark to go to it. T o go to the next event or
bookmark, select any event or bookmark from the list, right-click to display the menu, and choose Seek to Bookmark.
userprole\AppData\Local\Citrix\SessionRecording\Player\Cache
You can specify how much disk space is used for the cache. When the recordings ll the specied disk space, Session
Recording deletes the oldest, least used recordings to make room for new recordings. You can empty the cache at any time
to free up disk space.
Enable caching
Empty caches
Warning
Editing the registry incorrectly can cause serious problems that might require you to reinstall your operating system. Citrix cannot
guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk. Be
sure to back up the registry before you edit it.
When the Session Recording Agent cannot connect, the Exception caught while sending poll messages to Session
Recording Broker event message is logged, followed by the exception text. T he exception text provides reasons why the
connection failed. T he reasons include:
The underlying connection was closed. Could not establish a trust relationship f or the SSL/TLS secure channel.
T his exception means that the Session Recording Server is using a certicate that is signed by a CA that the server on
which the Session Recording Agent resides does not trust, or have a CA certicate for. Alternatively, the certicate might
have expired or been revoked.
Resolution: Verify that the correct CA certicate is installed on the server hosting the Session Recording Agent or use a
CA that is trusted.
The remote server returned an error: (4 03) f orbidden. T his is a standard HT T PS error displayed when you attempt
to connect using HT T P (nonsecure protocol). T he computer hosting the Session Recording Server rejects the connection
because it accepts only secure connections.
Resolution: Use Session Recording Agent Properties to change the Session Recording Broker protocol to HTTPS.
The Session Recording Broker returned an unknown error while evaluating a record policy query. Error code 5
(Access Denied). For more inf ormation, see the Event log on the Session Recording Server. T his error occurs when
sessions are started and a request for a record policy evaluation is made. T he error is a result of the Authenticated Users
group (this is the default member) being removed from the Policy Query role of the Session Recording Authorization
Console.
Resolution: Add the Authenticated Users group back into this role, or add each server hosting each Session Recording Agent
to the PolicyQuery role.
The underlying connection was closed. A connection that was expected to be kept alive was closed by the
Resolution: Verify that the Session Recording Server is started, IIS is running on the server, and the server is connected to
the network.
T he installation of the Session Recording Server components fails with error codes 2503 and 2502.
Resolution:
Check the access control list (ACL) of folder C:\windows\Temp to ensure that the Local Users and Groups have write
permission for this folder. If not, manually add write permission.
When the Session Recording Server cannot connect to the Session Recording Database, you might see a message similar
to one of the following:
Event Source:
A network-related or instance-specic error occurred while establishing a connection to SQL Server. T his error
appears in the applications event log with ID 2047 in the Event Viewer of the computer hosting the Session Recording
Server.
Citrix Session Recording Storage Manager Description: Exception caught while establishing database connection.
T his error appears in the applications event log in the Event Viewer of the computer hosting the Session Recording Server.
Unable to connect to the Session Recording Server. Ensure that the Session Recording Server is running. T his error
message appears when you launch the Session Recording Policy Console.
Resolution:
T he Express Edition of Microsoft SQL Server 2008 R2, Microsoft SQL Server 2012, Microsoft SQL Server 2014, or
Microsoft SQL Server 2016 is installed on a stand-alone server and does not have the correct services or settings
configured for Session Recording. T he server must have T CP/IP protocol enabled and SQL Server Browser service running.
See the Microsoft documentation for information about enabling these settings.
During the Session Recording installation (administration portion), incorrect server and database information was given.
Uninstall the Session Recording Database and reinstall it, supplying the correct information.
T he Session Recording Database Server is down. Verify that the server has connectivity.
T he computer hosting the Session Recording Server or the computer hosting the Session Recording Database Server
cannot resolve the FQDN or NetBIOS name of the other. Use the ping command to verify the names can be resolved.
Check the firewall configuration on the Session Recording Database to ensure that the SQL Server connections are
allowed. For more information, see the Microsoft article at https://msdn.microsoft.com/en-us/library/cc646023.aspx.
Logon f ailed f or user 'NT_AUTHORITY\ANONYMOUS LOGON'. T his error message means that the services are logged
on incorrectly as .\administrator.
Resolution: Restart the services as local system user and restart the SQL services.
If your application sessions are not recording successfully, start by checking the application event log in the Event Viewer
on the VDA for Server OS that runs the Session Recording Agent and Session Recording Server. T his might provide valuable
Component connectivity and certif icates. If the Session Recording components cannot communicate with each
other, this can cause session recordings to fail. T o troubleshoot recording issues, verify that all components are
configured correctly to point to the correct computers and that all certificates are valid and correctly installed.
Non-Active Directory domain environments. Session Recording is designed to run in a Microsoft Active Directory
domain environment. If you are not running in an Active Directory environment, you might experience recording issues.
Ensure that all Session Recording components are running on computers that are members of an Active Directory
domain.
Session sharing conf licts with the active policy. Session Recording matches the active policy with the first published
application that a user opens. Subsequent applications opened during the same session continue to follow the policy
that is in force for the first application. T o prevent session sharing from conflicting with the active policy, publish the
conflicting applications on separate VDAs for Server OS.
Recording is not enabled. By default, installing the Session Recording Agent on a VDA for Server OS enables the server
for recording. Recording will not occur until an active recording policy is configured to allow this.
The active recording policy does not permit recording. For a session to be recorded, the active recording policy must
permit the sessions for the user, server, or published application to be recorded.
Session Recording services are not running. For sessions to be recorded, the Session Recording Agent service must be
running on a VDA for Server OS and the Session Recording Storage Manager service must be running on the computer
hosting the Session Recording Server.
MSMQ is not conf igured. If MSMQ is not correctly configured on the server running the Session Recording Agent and
the computer hosting the Session Recording Server, recording problems might occur.
If you experience difculties when viewing recordings using the Session Recording Player, the following error message
might appear:
Download of recorded session le f ailed. Live session playback is not permitted. The server has been congured
to disallow this f eature. T his error indicates that the server is congured to disallow the action.
Resolution: In Session Recording Server Properties, choose the Playback tab and select the Allow live session
playback check box.
If recordings are corrupted or incomplete when you view them using the Session Recording Player, you might also see
warnings in the Event logs on the Session Recording Agent.
T his usually happens when Machine Creation Services (MCS) or Provisioning Services (PVS) is used to create VDAs with
a master image congured and Microsoft Message Queuing (MSMQ) installed. In this condition, the VDAs have the
same QMId for MSMQ.
As a workaround, create a unique QMId for each VDA. For more information, see here.
T his is usually caused by insufficient Session Recording Agent buffer size when recording graphic intensive sessions.
Test connection of the database instance f ailed when installing the Session Recording Database or Session
Recording Server
When you install the Session Recording Database or Session Recording Server, the test connection fails with the error
message Database connection test f ailed. Please correct Database instance name even if the database instance
name is correct.
In this case, make sure that the current user has the public SQL Server role permission to correct the permission limitation
failure.
Administrator Logging
In Windows Server 2008 R2 SP1, before you install the Administrator Logging feature, install .Net Framework 3.5 Features
> WCF Activation > HTTP Activation, and then install .Net Framework 4.5 or a later version. Ensure that you don't install
these two requirements in reverse order. If you fail to comply, Administrator Logging might not work as expected. You might
experience operation blocking when trying to change Session Recording congurations with the Server Properties Console
or update Session Recording policies with Policy Console with mandatory logging enabled.
1. Open the Internet Information Services (IIS) Manager and navigate to the Application Pools node.
2. Right-click SessionRecordingLoggingAppPool and open the Basic Settings dialog box.
3. Change the .NET Framework version to .NET Framework v4.0.
T he Session Recording Agent and Session Recording Server (Storage Manager and Broker) log connection errors in the
applications event log in the Event Viewer of the computer hosting the Session Recording Server, while the Session
Recording Policy Console and Session Recording Player display connection error messages on screen when they fail to
connect.
Note: Check the application event log for errors and warnings.
Caution: Using Registry Editor can cause serious problems that might require you to reinstall the operating
system. Citrix cannot guarantee that problems resulting f rom incorrect use of Registry Editor can be solved. Use
Registry Editor at your own risk.
1. Using a SQL Management tool, open your SQL instance that contains the Session Recording Database you installed.
2. Open the Security permissions of the Session Recording Database.
3. Verify the Session Recording Computer Account has access to the database. For example, if the computer hosting the
Session Recording Server is named SsRecSrv in the MIS domain, the computer account in your database should be
configured as MIS\SsRecSrv$. T his value is configured during the Session Recording Database installation.
Testing connections to the Session Recording Server IIS site by using a Web browser to access the Session Recording
Broker Web page can help you determine whether problems with communication between Session Recording components
stem from miscongured protocol conguration, certication issues, or problems starting Session Recording Broker.
1. Log on to the server where the Session Recording Policy Console is installed.
2. Launch a Web browser and type the following address:
For HT T PS: https://servername/SessionRecordingBroker/PolicyAdministration.rem?wsdl, where servername is
the name of the computer hosting the Session Recording Server
For HT T P: http://servername/SessionRecordingBroker/PolicyAdministration.rem?wsdl, where servername is the
name of the computer hosting the Session Recording Server
3. If you are prompted for NT LAN Manager (NT LM) authentication, log on with a domain administrator account.
If you see an XML document within your browser, this verifies that the computer running the Session Recording Policy
Console is connected to the computer hosting the Session Recording Server using the configured protocol.
If you are using HT T PS as your communication protocol, the computer hosting the Session Recording Server must be
congured with a server certicate. All component connections to the Session Recording Server must have root certicate
authority (CA). Otherwise, attempted connections between the components fail.
You can test your certicates by accessing the Session Recording Broker Web page as you would when testing IIS
connectivity. If you are able to access the XML page for each component, the certicates are congured correctly.
Here are some common ways certicate issues cause connections to fail:
Invalid or missing certif icates. If the server running the Session Recording Agent does not have a root certificate to
trust the server certificate, cannot trust and connect to the Session Recording Server over HT T PS, causing connectivity
to fail. Verify that all components trust the server certificate on the Session Recording Server.
Inconsistent naming. If the server certificate assigned to the computer hosting the Session Recording Server is created
using a fully qualified domain name (FQDN), then all connecting components must use the FQDN when connecting to
the Session Recording Server. If a NetBIOS name is used, configure the components with a NetBIOS name for the
Search f or recorded session f iles f ailed. The remote server name could not be resolved: servername. where
servername is the name of the server to which the Session Recording Player is attempting to connect. T he Session
Recording Player cannot contact the Session Recording Server. T wo possible reasons for this are an incorrectly typed
server name or the DNS cannot resolve the server name.
Resolution: From the Player menu bar, choose Tools > Options > Connections and verify that the server name in the
Session Recording Servers list is correct. If it is correct, from a command prompt, run the ping command to see if the
name can be resolved. When the Session Recording Server is down or ofine, the search for recorded session les failed
error message is Unable to contact the remote server.
Unable to contact the remote server. T his error occurs when the Session Recording Server is down or offline.
Resolution: Verify that the Session Recording Server is connected.
Access denied. An access denied error can occur if the user was not given permission to search for and download
recorded session files.
Resolution: Assign the user to the Player role using the Session Recording Authorization Console.
Access denied when the Player role is assigned. T his error usually occurs when you install the Session Recording
Player on the same machine with the Session Recording Server, and you've enabled UAC. When you assign the Domain
Admins or Administrators user group as the Player role, a non-built-in administrator user who is included in that group
might fail to pass the role-based check when searching recording files with the Session Recording Player.
Resolutions:
+ Assign specic users as Player role rather than the entire group.
+ Install Session Recording Player in a separate machine rather than Session Recording Server.
Search f or recorded session f iles f ailed. The underlying connection was closed. Could not establish a trust
relationship f or the SSL/TLS secure channel. T his exception is caused by the Session Recording Server using a
certificate that is signed by a CA that the client device does not trust or have a CA certificate for.
Resolution: Install the correct or trusted CA certicate workstation where the Session Recording Player is installed.
The remote server returned an error: (4 03) f orbidden. T his error is a standard HT T PS error that occurs when you
attempt to connect using HT T P (nonsecure protocol). T he server rejects the connection because, by default, it is
configured to accept only secure connections.
Resolution: From the Session Recording Player menu bar, choose Tools > Options > Connections. Select the server
from the Session Recordings Servers list, and then click Modif y. Change the protocol from HTTP to HTTPS.
Troubleshoot MSMQ
1. Log on to the server hosting the Session Recording Agent and view the outgoing queues.
2. Verify that the queue to the computer hosting the Session Recording Server has a connected state.
If the state is waiting to connect, there are a number of messages in the queue, and the protocol is HT T P or HT T PS
(corresponding to the protocol selected on the Connections tab in Session Recording Agent Properties), perform
Step 3.
If the state is connected and there are no messages in the queue, there might be a problem with the server hosting
the Session Recording Server. Skip Step 3 and perform Step 4.
3. If there are a number of messages in the queue, launch a Web browser and type the following address:
For HT T PS: https://servername/msmq/private$/CitrixSmAudData, where servername is the name of the computer
hosting the Session Recording Server
For HT T P: http://servername/msmq/private$/CitrixSmAudData, where servername is the name of the computer
hosting the Session Recording Server
If the page returns an error such as The server only accepts secure connections, change the MSMQ protocol listed in
Session Recording Agent Properties to HT T PS. Otherwise, if the page reports a problem with the Web site security
certicate, there might be a problem with a trust relationship for the T LS secure channel. In that case, install the correct
CA certicate or use a CA that is trusted.
4. If there are no messages in the queue, log on to the computer hosting the Session Recording Server and view private
queues. Select citrixsmauddata. If there are a number of messages in the queue (Number of Messages Column), verify
that the Session Recording StorageManager service is started. If it is not, restart the service.
1. Log on to the computer hosting the Session Recording Server and disable secure connections for Session Recording
Broker in IIS.
2. Change the protocol setting from HT T PS to HT T P in Session Recording Agent Properties on each server where
the Session Recording Agent is installed:
1. Log on to each server where the Session Recording Agent is installed.
2. From the Start menu, choose Session Recording Agent Properties.
3. In Session Recording Agent Properties, choose the Connections tab.
4. In the Session Recording Broker area, select HTTP from the Protocol drop-down list and click OK to accept the
change. If you are prompted to restart the service, click Yes.
3. Change the protocol setting from HT T PS to HT T P in the Session Recording Player settings:
1. Log on to each workstation where the Session Recording Player is installed.
2. From the Start menu, choose Session Recording Player.
3. From the Session Recording Player menu bar, choose Tools > Options > Connections, select the server, and
choose Modif y.
4. Select HTTP from the Protocol drop-down list and click OK twice to accept the change and exit the dialog box.
4. Change the protocol setting from HT T PS to HT T P in the Session Recording Policy Console:
1. Log on to the server where the Session Recording Policy Console is installed.
2. From the Start menu, choose Session Recording Policy Console.
3. Select HTTP from the Protocol drop-down list and click OK to connect. If the connection is successful, this setting is
remembered the next time you start the Session Recording Policy Console.
1. Log on to the computer hosting the Session Recording Server and enable secure connections for the Session Recording
Broker in IIS.
2. Change the protocol setting from HT T P to HT T PS in Session Recording Agent Properties on each server where
the Session Recording Agent is installed:
1. Log on to each server where the Session Recording Agent is installed.
2. From the Start menu, choose Session Recording Agent Properties.
3. In Session Recording Agent Properties, choose the Connections tab.
4. In the Session Recording Broker area, select HTTPS from the Protocol drop-down list and click OK to accept the
change. If you are prompted to restart the service, click Yes.
3. Change the protocol setting from HT T P to HT T PS in the Session Recording Player settings:
1. Log on to each workstation where the Session Recording Player is installed.
2. From the Start menu, choose Session Recording Player.
3. From the Session Recording Player menu bar, choose Tools > Options > Connections, select the server, and
choose Modif y.
4. Select HTTPS from the Protocol drop-down list and click OK twice to accept the change and exit the dialog box.
4. Change the protocol setting from HT T P to HT T PS in the Session Recording Policy Console:
T he following table lists the commands and options that are available for the ICLDB utility. Type the commands using the
following format:
icldb [version | locate | dormant | import | archive | remove | removeall] command-options [/l] [/f ] [/s] [/?]
Note: More extensive instructions are available in the help associated with the utility. T o access the help, from a command
prompt, type drive:\Program Files\Citrix\SessionRecording\Server\Bin directory, type icldb /?. T o access help for specific
commands, type icldb command /?.
Command Description
archive Archives the session recording files older than the retention period specified.
Use this command to archive les.
dormant Displays or counts the session recording files that are considered dormant. Dormant files are
session recordings that were not completed due to data loss.
Use this command to verify if you suspect that you are losing data. You can verify if the
session recording les are becoming dormant for the entire database, or only recordings
made within the specied number of days, hours, or minutes.
import Imports session recording files into the Session Recording database.
Use this command to rebuild the database if you lose database records.
Additionally, use this command to merge databases (if you have two databases, you can
import the les from one of the databases).
locate Locates and displays the full path to a session recording file using the file ID as the criteria.
Use this command when you are looking for the storage location of a session recording le.
It is also one way to verify if the database is up-to-date with a specic le.
remove Removes the references to session recording files from the database.
Use this command (with caution) to clean up the database. Specify the retention period to
be used as the criteria.
You set Conguration Logging preferences, display conguration logs, and generate HT ML and CSV reports from Citrix
Studio. You can lter conguration log displays by date ranges and by full text search results. Mandatory logging, when
enabled, prevents conguration changes from being made unless they can be logged. With appropriate permission, you can
delete entries from the conguration log. You cannot use the Conguration Logging feature to edit log content.
Conguration Logging uses a PowerShell SDK and the Conguration Logging Service. T he Conguration Logging Service
runs on every Controller in the Site; if one Controller fails, the service on another Controller automatically handles logging
requests.
By default, the Conguration Logging feature is enabled, and uses the database that is created when you create the Site
(the Site Conguration database). You can specify a differnt location for the database. T he Conguration Logging
Database supports the same high availability features as the Site Conguration Database.
Access to Conguration Logging is controlled through Delegated Administration, with the Edit Logging Preferences and
View Conguration Logs permissions.
Conguration logs are localized when they are created. For example, a log created in English will be read in English,
regardless of the locale of the reader.
What is logged
Conguration changes and administrative activities initiated from Studio, Director, and PowerShell scripts are logged.
Examples of logged conguration changes include working with (creating, editing, deleting assigning):
Machine catalogs
Delivery Groups (including changing power management settings)
Administrator roles and scopes
Host resources and connections
Citrix policies through Studio
T he backup strategy for the Configuration Logging database is likely to differ from the backup strategy for the Site
Configuration database.
T he volume of data collected for Configuration Logging (and the Monitoring Service) might adversely affect the space
available to the Site Configuration database.
It splits the single point of failure for the three databases.
Note: Product editions that do not support Conguration Logging do not have a Logging node in Studio.
To enable Conguration Logging, select the Enable radio button. T his is the default setting. If the database cannot
be written to, the logging information is discarded, but the operation continues.
To disable Conguration Logging, select the Disable radio button. If logging was previously enabled, existing logs
remain readable with the PowerShell SDK.
To enable mandatory logging, select the Prevent changes to the site conguration when the database is not
available radio button. No conguration change or administrative activity that would normally be logged will be
allowed unless it can be written in the Conguration Logging database. You can enable mandatory logging only when
Conguration Logging is enabled, that is, when the Enable radio button is selected. If the Conguration Logging
Service fails, and high availability is not in use, mandatory logging is assumed. In such cases, operations that would
normally be logged are not performed.
To disable mandatory logging, select the Allow changes when to the site conguration when the database is
not available radio button. Conguration changes and administrative activities are allowed, even if the database used
T he Conguration Logging data in the previous database is not imported to the new database. Logs cannot be aggregated
from both databases when retrieving logs. T he rst log entry in the new Conguration Logging database will indicate that a
database change occurred, but it does not identify the previous database.
If an operation fails before completion, the log operation might not be completed in the Database; for example, a start
record will have no corresponding stop record. In such cases, the log indicates that there is missing information. When you
display logs based on time ranges, incomplete logs are shown if the data in the logs matches the criteria. For example, if all
logs for the last ve days are requested and a log exists with a start time in the last ve days but has no end time, it is
included.
When using a script that calls PowerShell cmdlets, if you create a low level operation without specifying a parent high level
operation, Conguration Logging will create a surrogate high level operation.
To display conguration log content, select Logging in the Studio navigation pane. By default, the display in the center
pane lists the log content chronologically (newest entries rst), separated by date.
To f ilter
the display Complete this action
Search Enter text in the Search box at the top of the middle pane. T he filtered display includes the number of
results search results. T o return to the standard logging display, clear the text in the Search box.
A date Select an interval from the drop down list box next to the Search box at the top of the middle pane.
range
Generate reports
You can generate CSV and HT ML reports containing conguration log data.
T he CSV report contains all the logging data from a specified time interval. T he hierarchical data in the database is
flattened into a single CSV table. No aspect of the data has precedence in the file. No formatting is used and no human
readability is assumed. T he file (named MyReport) simply contains the data in a universally consumable format. CSV files
are often used for archiving data or as a data source for a reporting or data manipulation tool such as Microsoft Excel.
T he HT ML report provides a human-readable form of the logging data for a specified time interval. It provides a
structured, navigable view for reviewing changes. An HT ML report comprises two files, named Summary and Details.
Summary lists high level operations: when each operation occurred, by whom, and the outcome. Clicking a Details link
next to each operation takes you to the low level operations in the Details file, which provides additional information.
To generate a conguration log report, select Logging in the Studio navigation pane, and then select Create custom
report in the Actions pane.
Delegated Administration You must have a Delegated Administration role that allows the deployment
configuration to be read. T he built-in Full administrator role has this permission. A custom role must have Read Only or
Manage selected in the Other permissions category.
To create a backup of the conguration logging data before deleting it, the custom role must also have Read Only or
Manage selected in the Logging Permissions category.
SQL Server database You must have a SQL server login with permission to delete records from the database. T here
are two ways to do this:
Use a SQL Server database login with a sysadmin server role, which allows you to perform any activity on the database
server. Alternatively, the serveradmin or setupadmin server roles allow you to perform deletion operations.
If your deployment requires additional security, use a non-sysadmin database login mapped to a database user who
has permission to delete records from the database.
After the conguration logs are cleared, the log deletion is the rst activity posted to the empty log. T hat entry provides
details about who deleted the logs, and when.
T his information is not comprehensive; readers should check individual feature articles for additional event information.
About Director
Install Director
Log on to Director
About Director
Real-time data from the Broker Agent using a unified console integrated with Analytics, Performance Manager, and
Network Inspector.
Analytics includes performance management for health and capacity assurance, and historical trending and network
Director uses a troubleshooting dashboard that provides real-time and historical health monitoring of the XenApp or
XenDesktop Site. T his feature allows you to see failures in real time, providing a better idea of what the end users are
experiencing.
Interface views
Director provides different views of the interface tailored to particular administrators. Product permissions determine what
is displayed and the commands available.
For example, help desk administrators see an interface tailored to help desk tasks. Director allows help desk administrators
to search for the user reporting an issue and display activity associated with that user, such as the status of the user's
applications and processes. T hey can resolve issues quickly by performing actions such as ending an unresponsive
application or process, shadowing operations on the user's machine, restarting the machine, or resetting the user prole.
In contrast, full administrators see and manage the entire Site and can perform commands for multiple users and machines.
T he Dashboard provides an overview of the key aspects of a deployment, such as the status of sessions, user logons, and
the Site infrastructure. Information is updated every minute. If issues occur, details appear automatically about the number
and type of failures that have occurred.
Director is installed by default as a website on the Delivery Controller. For prerequisites and other details, see the System
requirements documentation for this release.
T his release of Director is not compatible with XenApp deployments earlier than 6.5 or XenDesktop deployments earlier
than 7.
When Director is used in an environment containing more than one Site, be sure to synchronize the system clocks on all the
servers where Controllers, Director, and other core components are installed. Otherwise, the Sites might not display
correctly in Director.
Tip: If you intend to monitor XenApp 6.5 in addition to XenApp 7.5 or XenDesktop 7.x Sites, Citrix recommends installing
Director on a separate server from the Director console that is used to monitor XenApp 6.5 Sites.
Important: T o protect the security of user names and passwords sent using plain text through the network, Citrix strongly
recommends that you allow Director connections using only HT T PS, and not HT T P. Certain tools are able to read plain text
user names and passwords in HT T P (unencrypted) network packets, which can create a potential security risk for users.
To congure permissions
Read rights in all Active Directory forests to be searched (see Advanced configuration).
Configured Delegated Administrator roles (see Delegated Administration and Director).
T o shadow users, administrators must be configured using a Microsoft group policy for Windows Remote Assistance. In
addition:
When installing VDAs, ensure that the Windows Remote Assistance feature is enabled on all user devices (selected by
default).
When you install Director on a server, ensure that Windows Remote Assistance is installed (selected by default).
However, it is disabled on the server by default. T he feature does not need to be enabled for Director to provide
assistance to end users. Citrix recommends leaving the feature disabled to improve security on the server.
T o enable administrators to initiate Windows Remote Assistance, grant them the required permissions by using the
appropriate Microsoft Group Policy settings for Remote Assistance. For information, see CT X127388: How to Enable
Remote Assistance for Desktop Director.
For user devices with VDAs earlier than 7, additional configuration is required. See Configure permissions for VDAs earlier
than XenDesktop 7.
Install Director
Install Director using the full-product Installer for XenApp and Desktop, which checks for prerequisites, installs any missing
components, sets up the Director website, and performs basic conguration. T he default conguration provided by the
installer handles typical deployments. If Director was not included during installation, use the installer to add Director. To
add any additional components, rerun the installer and select the components to install. For information on using the
installer, see Install core components in the installation documentation. Citrix recommends that you install using the
product installer only, not the .MSI le.
When Director is installed on the Controller, it is automatically congured with localhost as the server address, and Director
communicates with the local Controller by default.
To install Director on a dedicated server that is remote from a Controller, you are prompted to enter the FQDN or IP
address of a Controller.
Director communicates with that specied Controller by default. Specify only one Controller address for each Site that you
monitor. Director automatically discovers all other Controllers in the same Site and falls back to those other Controllers if
the Controller you specied fails.
To secure the communications between the browser and the Web server, Citrix recommends that you implement T LS on
the IIS website hosting Director. Refer to the Microsoft IIS documentation for instructions. Director conguration is not
required to enable T LS.
T o install Director for XenApp 6.5 follow these steps. T ypically, Director is installed on a separate computer from the
XenApp Controllers.
1. Install Director from the XenApp installation media. If Director is already installed for XenDesktop, skip this step and
proceed to the next step.
2. Use the IIS Manager Console on each Director server to update the list of XenApp server addresses in the application
settings as described in the To add Sites to Director section in Advanced configuration.
Supply the server address of one Controller per XenApp Site: any of the other Controllers in a XenApp site are then used
automatically for failover. Director does not load balance among Controllers.
Important: For XenApp addresses, be sure to use the setting Service.AutoDiscoveryAddressesXA, not the default setting
Service.AutoDiscoveryAddresses.
3. T he Director WMI Provider installer is located at the Support\DirectorWMIProvider folder on the DVD. Install it on all
appropriate XenApp servers (Controllers and workers where sessions are running).
Note: To allow Director to nd all the XenApp workers in the farm, you must add a reverse DNS zone for the subnets
where the XenApp servers reside on the DNS servers used by the farm.
Log on to Director
If one of the Sites in a multi-site deployment is down, the logon for Director takes a little longer while it attempts to
connect to the Site that is down.
With Integrated Windows Authentication, domain-joined users gain direct access to Director without re-keying their
credentials on the Director logon page. T he prerequisites for working with Integrated Windows Authentication and
Director are:
Enable Integrated Windows Authentication on the IIS website that hosts Director. When you install Director,
Anonymous and Forms Authentication are enabled. T o work with Integrated Windows Authentication and Director,
disable Anonymous Authentication and enable Windows Authentication. Forms Authentication must remain set to
Enabled for authentication of non-domain users.
1. Start IIS manager.
2. Go to Sites > Def ault Web Site > Director.
3. Select Authentication.
4. Right-click Anonymous Authentication, and select Disable.
5. Right-click Windows Authentication, and select Enable.
Configure Active Directory delegation permission for the Director machine. T his is only required if Director and the
Delivery Controller are installed on separate machines.
1. On the Active Directory machine, open the Active Directory Management Console.
2. In the Active Directory Management Console navigate to Domain Name > Computers. Select the Director machine.
3. Right-click and select Properties.
T he browser that is used to access Director must support Integrated Windows Authentication. T his might require
additional configuration steps in Firefox and Chrome. For more information, refer to the browser documentation.
T he Monitoring Service must be running Microsoft .NET Framework 4.5.1 or a later supported version listed in the System
Requirements for Director. For more information, see System Requirements.
When a user logs off Director or if the session times out, the logon page is displayed. From the logon page, the user can set
the Authentication type to Automatic logon or User credentials.
Within each Site, although you can use earlier versions of VDA or Delivery Controller, all the features in the latest version of
Director might not be available. In addition, feature availability depends on the Site license edition. Citrix recommends
having Director, Delivery Controller and VDA at the same version.
Note: After you upgrade a Delivery Controller, you are prompted to upgrade the Site when you open Studio. For more
information, see the Upgrade Sequence section in Upgrade a deployment.
T he table below lists Director features and the minimum version of Delivery Controller (DC), VDA and any other dependent
components required along with License Edition.
*Director and SCOM server must have the same PowerShell version
Director can support multi-forest environments spanning a forest conguration where users, Domain Delivery Controllers
(DDC), VDAs, and Directors are located in different forests. T his requires proper setup of trust relationships among the
forests and conguration settings.
T he recommended conguration requires creation of outgoing and incoming forest trust relationships among the forests
with domain-wide authentication.
T he trust relationship from the Director enables you to troubleshoot issues in user sessions, VDAs and Domain Controllers
located in different forests.
Advanced configuration required for Director to support multiple forests is controlled through settings defined in Internet
Information Services (IIS) Manager.
Important: When you change a setting in IIS, the Director service automatically restarts and logs off users.
To congure advanced settings using IIS:
Platinum licenses retain data for 90 days by default. For more information on congurations see Data granularity and
retention.
Director attempts to perform searches at the forest level using the Active Directory global catalog. If you do not have
permissions to search at the forest level, only the domain is searched.
Searching or looking up data from another Active Directory domain or forest requires that you explicitly set the domains or
forests to be searched. Congure the following setting:
Connector.ActiveDirectory.Domains = (user),(server)
T he value attributes user and server represent the domains of the Director user (the administrator) and Director server,
respectively.
To enable searches from an additional domain or forest, add the name of the domain to the list, as shown in this example:
Connector.ActiveDirectory.Domains = (user),(server),<domain1>,<domain2>
For each domain in the list, Director attempts to perform searches at the forest level. If you do not have permissions to
search at the forest level, only the domain is searched.
Note: In an environment with multiple forests, Director does not show the session details of users from other forests who
have been assigned to the XenDesktop Delivery Group using the domain local group.
If Director is already installed, congure it to work with multiple Sites. To do this, use the IIS Manager Console on each
Director server to update the list of server addresses in the application settings.
For XenApp 6.5 Sites, add an address of a Controller from each XenApp farm to the following setting:
Service.AutoDiscoveryAddressesXA = FarmAController,FarmBController
where FarmAController and FarmBController are the addresses of XenApp Controllers from two different farms.
For XenApp 6.5 Sites, another way to add a Controller from a XenApp farm:
DirectorConfig.exe /xenapp FarmControllerName
By default, the Activity Manager in Director displays a list of all running applications for a user's session. T his information
can be viewed by all administrators that have access to the Activity Manager feature in Director. For Delegated
Administrator roles, this includes Full Administrator, Delivery Group Administrator, and Help Desk Administrator.
Caution: Editing the registry incorrectly can cause serious problems that may require you to reinstall your operating system.
Citrix cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor
at your own risk. Be sure to back up the registry before you edit it.
1. On the VDA, modify the registry key located at
HKEY_LOCAL_MACHINE\Software\Citrix\Director\T askManagerDataDisplayed. By default, the key is set to 1. Change
the value to 0, which means the information is not be displayed in the Activity Manager.
2. On the server with Director installed, modify the setting that controls the visibility of running applications. By default, the
value is "true", which allows visibility of running applications in the Applications tab. Change the value to "false", which
disables visibility. T his option affects only the Activity Manager in Director, not the VDA.
Modify the value of the following setting:
UI.TaskManager.EnableApplications = false
Important: T o disable the view of running applications, Citrix recommends making both changes to ensure that the data is
not displayed in Activity Manager.
Monitor Sites
Monitor sessions
Monitor hotxes
Monitor Sites
With full administrator permissions, when you open Director, the Dashboard provides a centralized location to monitor the
health and usage of a Site.
If there are currently no failures and no failures have occurred in the past 60 minutes, panels stay collapsed. When there are
failures, the specic failure panel automatically appears.
Panel Description
User Connection failures over the last 60 minutes. Click the categories next to the total number to view
Connection metrics for that type of failure. In the adjacent table, that number is broken out by Delivery Groups.
Failures Connection failures includes failures caused by application limits being reached. For more information
on application limits, see Applications.
Failed T otal failures in the last 60 minutes broken out by Delivery Groups. Failures broken out by types,
Desktop OS including failed to start, stuck on boot, and unregistered. For Server OS machines, failures also include
Machines or machines reaching maximum load.
Failed Server
OS Machines
Licensing License Server alerts display alerts sent by the License Server and the actions required to resolve the
Status alerts.
Requires License Server Version 11.12.1 or later.
Delivery Controller alerts display the details of the licensing state as seen by the Controller and are
sent by the Controller.
Requires Controller for XenApp 7.6 or XenDesktop 7.6 or later.
Sessions Connected sessions across all Delivery Groups for the last 60 minutes.
Connected
Average Logon data for the last 60 minutes. T he large number on the left is the average logon duration across
Logon the hour.
Duration Logon data for VDAs earlier than XenDesktop 7.0 is not included in this average.
For infrastructure from XenServer or VMware, you can view performance alerts.
For example, you can congure XenCenter to generate performance alerts when CPU, network I/O, or
disk I/O usage go over a specied threshold on a managed server or virtual machine. By default, the
alert repeat interval is 60 minutes, but you can congure this as well. For details, in the Citrix XenServer
7.0 Administrator's Guide, see XenCenter Performance Alerts.
Note: If no icon appears for a particular metric, this indicates that this metric is not supported by the type of host you are
using. For example, no health information is available for System Center Virtual Machine Manager (SCVMM) hosts, AWS and
CloudStack.
Continue to troubleshoot issues using these options (which are documented below):
Monitor sessions
If a session becomes disconnected, it is still active and its applications continue to run, but the user device is no longer
communicating with the server.
Action Description
View a user's currently connected From the Activity Manager and User Details views, view the user's currently
machine or session connected machine or session and a list of all machines and sessions to which this
user has access. To access this list, click the session switcher icon in the user title
bar. For more information, see Restore sessions.
View the total number of From the Dashboard, in the Sessions Connected pane, view the total number of
connected sessions across all connected sessions across all Delivery Groups for the last 60 minutes. T hen click
Delivery Groups the large total number, which opens the Filters view, where you can display
graphical session data based on selected Delivery Groups and ranges and usage
across Delivery Groups.
End idle sessions T he Sessions Filters view displays data related to all active sessions. Filter the
sessions based on Associated User, Delivery Group, Session State, and Idle T ime
greater than a threshold time period. From the ltered list, select sessions to log
off or disconnect. For more information, see Troubleshoot applications.
View data over a longer period of On the Trends view, select the Sessions tab to drill down to more specic usage
time data for connected and disconnected sessions over a longer period of time (that
is, session totals from earlier than the last 60 minutes). To view this information,
click View historical trends
Note: If the user device is running a legacy Virtual Delivery Agents (VDA), such as a VDA earlier than version 7, or a Linux
VDA, Director cannot display complete information about the session. Instead, it displays a message that the information is
not available.
View the transport protocol in use for the HDX connection type for the current session in the Session Details panel. T his
information is available for sessions launched on VDAs Version 7.13 or later.
When adaptive transport is congured, the session transport protocol dynamically switches between EDT (over UDP) and
TCP, based on the network conditions. If the HDX session cannot be established using EDT, it falls back to the TCP
protocol.
For more information about adaptive transport conguration, see Adaptive Transport.
When you click numbers on the Dashboard or select a predened lter from the Filters menu, the Filters view opens to
display the data based on the selected machine or failure type.
Predened lters cannot be edited, but you can save a predened lter as a custom lter and then modify it. Additionally,
you can create custom ltered views of machines, connections, and sessions across all Delivery Groups.
1. Select a view:
Machines. Select Desktop OS Machines or Server OS Machines. T hese views show the number of configured
machines. T he Server OS Machines tab also includes the load evaluator index, which indicates the distribution of
performance counters and tool tips of the session count if you hover over the link.
Sessions. You can also see the session count from the Sessions view. Use the idle time measurements to identify
sessions that are idle beyond a threshold time period.
Connections. Filter connections by different time periods, including last 60 minutes, last 24 hours, or last 7 days.
Application Instances. T his view displays the properties of all application instances on VDAs of Server and Desktop
OS. T he session idle time measurements are available for Application instances on VDAs of Server OS.
2. For Filter by, select the criteria.
3. Use the additional tabs for each view, as needed, to complete the filter.
T he Trends view accesses historical trend information for sessions, connection failures, machine failures, logon
performance, load evaluation, capacity management, machine usage and resource utilization for each Site. To locate this
information, click Trends Menu.
T he zoom-in drill down feature lets you navigate through trend charts by zooming in on a time period (clicking on a data
point in the graph) and drilling down to see the details associated with the trend. T his feature enables you to better
understand the details of who or what has been affected by the trends being displayed.
To change the default scope of each graph, apply a different lter to the data.
Choose a time period for which you require the historical trend information; time period availability depends on your
Director deployment as follows:
T rend reports of up to last year (365 days) are available in Platinum licensed Sites.
T rend reports of up to last month (31 days) are available in Enterprise licensed Sites.
T rend reports of up to last 7 days in non-Platinum and non-Enterprise licensed Sites.
Note:
In all Director deployments, Sessions, failures, and logon performance trend information is available as graphs and tables
when the time period is set to Last month or shorter. When the time period is set to Last Year, the trend information is
available as graphs but not as tables.
Action Description
View trends for sessions From the Sessions tab, select the Delivery Group and time period to view more
detailed information about the concurrent session count.
View trends for connection failures From the Failures tab, select the connection, machine type, failure type, Delivery
Group, and time period to view a graph containing more detailed information
about the user connection failures across your Site.
View trends for machine failures From the Desktop OS Machine Failures tab or Server OS Machines tab, select
the failure type, Delivery Group, and time period to view a graph containing
more detailed information about the machine failures across your Site.
View trends for logon performance From the Logon Performance tab, select the Delivery Group and time period to
view a graph containing more detailed information about the duration of user
logon times across your Site and whether the number of logons affects the
performance. T his view also shows the average duration of the logon phases,
such as brokering duration and VM start time.
T his data is specically for user logons and does not include users trying to
reconnect from disconnected sessions.
T he table below the graph shows Logon Duration by User Session. T he
administrator can choose the columns to display and sort the report by any of
the columns.
For more information, see Diagnose user logon issues.
View trends for load evaluation From the Load Evaluator Index tab, view a graph containing more detailed
information about the load that is distributed among Server OS machines. T he
lter options for this graph include the Delivery Group or Server OS machine in a
Delivery Group, Server OS machine (available only if Server OS machine in a
Delivery Group was selected), and range.
View hosted applications usage T he availability of this feature depends on your organization's license.
From the Capacity Management tab, select Hosted Applications Usage tab,
select the Delivery Group and time period to view a graph displaying peak
concurrent usage and a table displaying application based usage. From the
Application Based Usage table, you can choose a specic application to see
details and a list of users who are using, or have used, the application.
View desktop and server OS usage T he Trends view shows the usage of Desktop OS by Site and by Delivery group.
View virtual machine usage From the Machine Usage tab, select Desktop OS Machines or Server OS
Machines to obtain real-time view of your VM usage, enabling you to quickly
assess your Sites capacity needs.
Desktop OS availability - displays the current state of Desktop OS machines
(VDIs) by availability for the entire Site or specic Delivery Group.
Server OS availability - displays the current state of Server OS machines by
availability for the entire Site or specic Delivery Group.
T he table below the graphs shows the resource utilization data per machine.
Note: Average IOPS shows the daily averages. Peak IOPS is calculated as the
highest of the IOPS averages for the selected time range. (An IOPS average is
the hourly average of IOPS collected during the hour on the VDA).
T he ag icons on the graph indicate signicant events or actions for that specic time range. Hover the mouse over the
ag and click to list events or actions.
Note: HDX connection logon data is not collected for VDAs earlier than 7. For earlier VDAs, the chart data is displayed as 0.
Export reports
You can export trends data to generate regular usage and capacity management reports. Export supports PDF, Excel, and
CSV report formats. Reports in PDF and Excel formats contain trends represented as graphs and tables. CSV format reports
contain tabular data that can be processed to generate views or can be archived.
To export a report:
Director generates the report based on the lter criteria you select. If you change the lter criteria, click Apply before you
click Export.
Note: Export of a large amount of data causes a signicant increase in memory and CPU consumption in the Director
server, the Delivery Controller, and the SQL servers. T he supported number of concurrent export operations and the amount
of data that can be exported is set to default limits to achieve optimal Export performance.
Note
Exported PDF and Excel reports contain complete graphical chart for the selected lter criteria, however tabular data in all
report formats is truncated beyond the default limits on the number of rows or records in the table. T he default number of
records supported is dened based on the report format.
You can change the default limit by conguring the Director Application Settings in Internet Information Services (IIS).
Report f ormat Def ault number of Fields in Director Application Settings Max number of
records supported records
supported
Adding these eld values in Application Settings, overrides the default values.
Warning: Setting eld values higher than the max number of records supported, can impact the performance of Export and
is not supported.
Error Handling
T his section gives you information on dealing with errors that you might encounter during Export operation.
T his error could occur due to network issues or high resource usage on the Director server or with the Monitor Service.
T he default timeout duration is 100 seconds. To increase the timeout duration of the Director Service, set the value
of Connector.DataServiceContext .Timeout eld in Director Application Settings in Internet Information Services
(IIS):
T his error could occur due to network issues or high resource usage with the Monitor Service or on the SQL server.
To increase the timeout duration of the Monitor Service, run the following PowerShell commands on the Delivery
Controller:
command COPY
asnp Citrix.*
Set-Mo nito rCo nguratio n -Mo nito rQueryT imeo utSeco nds <t imeout value>
Director supports one instance of Export or Preview. If you get the Max concurrent Export or Preview operations
ongoing error, try the next Export operation again later.
It is possible to increase the number of concurrent Export or Preview operations, however this can impact the
performance of Director and is not supported:
Each Export operation requires a maximum of 2GB hard disk space in the Windows Temp folder. Retry Export after
clearing space or adding more hard disk space on the Director server.
Monitor hotxes
To view the hotxes installed on a specic machine VDA (physical or VM), choose the Machine Details view.
Note: T his functionality is not available for physical machines or machines using Remote PC Access.
Command Function
Restart Performs an orderly (soft) shutdown of the VM and all running processes are halted individually before
restarting the VM. For example, select machines that appear in Director as "failed to start," and use this
command to restart them.
Force Restarts the VM without first performing any shut-down procedure. T his command works in the same
Restart way as unplugging a physical server and then plugging it back in and turning it back on.
Shut Performs an orderly (soft) shutdown of the VM; all running processes are halted individually.
Down
Force Shuts down the VM without first performing any shut-down procedure. T his command works in the same
Shutdown way as unplugging a physical server. It might not always shut down all running processes, and you risk
losing data if you shut down a VM in this way.
Suspend Suspends a running VM in its current state and stores that state in a file on the default storage
repository. T his option allows you to shut down the VM's host server and later, after rebooting it, resume
the VM, returning it to its original running state.
If power control actions fail, hover the mouse over the alert, and a pop-up message appears with details about the failure.
Use maintenance mode to prevent new connections temporarily while the appropriate administrator performs maintenance
tasks on the image.
When you enable maintenance mode on machines, no new connections are allowed until you disable it. If users are
currently logged on, maintenance mode takes effect as soon as all users are logged off. For users who do not log off, send
a message informing them that machines will be shut down at a certain time, and use the power controls to force the
machines to shut down.
1. Select the machine, such as from the User Details view, or a group of machines in the Filters view.
2. Select Maintenance Mode, and turn on the option.
If a user tries to connect to an assigned desktop while it is in maintenance mode, a message appears indicating that the
desktop is currently unavailable. No new connections can be made until you disable maintenance mode.
Monitor alerts
SCOM alerts
Monitor alerts
Alerts are displayed in Director on the dashboard and other high level views with warning and critical alert symbols. Alerts are
available for Platinum licensed Sites. Alerts update automatically every minute; you can also update alerts on demand.
A warning alert (amber triangle) indicates that the warning threshold of a condition has been reached or exceeded.
A critical alert (red circle) shows that the critical threshold of a condition has been reached or exceeded.
You can view more detailed information on alerts by selecting an alert from the sidebar, clicking the Go to Alerts link at the
bottom of the sidebar or by selecting Alerts from the top of the Director page.
Citrix alerts. Citrix alerts are alerts monitored in Director that originate from Citrix components. You can congure Citrix
alerts within Director in Alerts > Citrix Alerts Policy. As part of the conguration, you can set notications to be sent by
email to individuals and groups when alerts exceed the thresholds you have set up. Congure the notication as emails to
individuals and groups, Octoblu webhooks, and SNMP traps. For more information on setting up Citrix Alerts, see Create
alerts policies.
SCOM alerts. SCOM alerts display alert information from Microsoft System Center 2012 Operations Manager (SCOM) to
provide a more comprehensive indication of data center health and performance within Director. For more information, see
SCOM alerts and Congure SCOM integration.
T he number of alerts displayed next to the alerts icons before you expand the sidebar, are the combined sum of Citrix and
SCOM alerts.
1. Go to Alerts > Citrix Alerts Policy and select, for example, Server OS Policy.
2. Click Create.
3. Name and describe the policy, then set the conditions that have to be met for the alert to be triggered. For example,
specify Warning and Critical counts for Peak Connected Sessions, Peak Disconnected Sessions, and Peak Concurrent
T otal Sessions. Warning values must not be higher than Critical values. For more information, see Alerts policies
conditions.
4. Set the Re-alert interval. If the conditions for the alert are still met, then the alert is triggered again at this time interval
and, if set up in the alert policy, an email notification is generated. A dismissed alert does not generate an email
notification at the re-alert interval.
5. Set the Scope. For example, set for a specific Delivery Group.
6. In Notification preferences, specify who should be notified by email when the alert is triggered. You have to specify an
email server in the Email Server Conf iguration tab in order to set email Notification preferences in Alerts Policies.
7. Click Save.
For information about Octoblu webhook conguration, see Congure alerts policies with Octoblu webhooks.
For information about SNMP trap conguration, see Congure alerts policies with SNMP traps.
Creating a policy with 20 or more Delivery Groups dened in the Scope might take approximately 30 seconds to complete
the conguration. A spinner is displayed during this time.
Creating more than 50 policies for up to 20 unique Delivery Groups (1000 Delivery Group targets in total), might result in an
increase in response time (over 5 seconds).
Connection Failure Percentage of connection failures over the last hour. Calculated based on the total failures to
Rate total connections attempted.
Check Director Connection Failures T rends view for events logged from the Configuration
log.
Determine if applications or desktops are reachable.
Check NetScaler HDX Insight or MAS for a breakdown of the ICA RT T to determine the
root cause. For more information, see the NetScaler Insight Center - HDX
ICA RT T (Average)
Insight or NetScaler MAS - Analytics: HDX Insight documentation.
If NetScaler is not available, check the Director User Details view for the ICA RT T and
Latency, and determine if it is a network problem or XenApp and XenDesktop issue.
Check NetScaler HDX Insight or MAS for the number of sessions with high ICA RT T . For
ICA RT T (No. of
more information, see the NetScaler Insight Center - HDX Insight or NetScaler
Sessions)
MAS - Analytics: HDX Insight documentation.
If NetScaler is not available, work with the network team to determine the root cause.
Check NetScaler HDX Insight or MAS for the number of sessions with high ICA RT T . For
ICA RT T (% of
more information, see the NetScaler Insight Center - HDX Insight or NetScaler
Sessions)
MAS - Analytics: HDX Insight documentation.
If NetScaler is not available, work with the network team to determine the root cause.
ICA round-trip time that is applied to sessions launched by the specified user. T he alert is
ICA RT T (User)
triggered if ICA RT T is higher than the threshold in at least one session.
Average Logon Average logon duration for logons that occurred over the last hour.
Duration
Check the Director Dashboard to get up-to-date metrics regarding the logon duration. A
large number of users logging in during a short timeframe can increase the logon duration.
Check the baseline and break down of the logons to narrow down the cause.
Logon Duration (User) Logon duration for logons for the specified user that occurred over the last hour.
Load Evaluator Index Value of the Load Evaluator Index over the last 5 minutes.
Check Director for Server OS Machines that might have a peak load (Max load).
View both Dashboard (failures) and T rends Load Evaluator Index report.
Apart from email notications, you can congure alerts policies with Octoblu webhooks to initiate IoT services.
Examples of IoT services that can utilize alerts include sending SMS notications to support staff or integrating with
custom incident resolution platforms to help in tracking notications.
You can congure an alert policy with a HT T P callback or a HT T P POST using PowerShell cmdlets. T hey are extended to
support webhooks.
For information on the creation of a new Octoblu workow and obtaining the corresponding webhook URL, see
the Octoblu Developer Hub.
To congure an Octoblu webhook URL for a new alert policy or an existing policy, use the following PowerShell cmdlets.
command COPY
$policy = New-Monit orNot icat ionPolicy -Name <Policy name> -Descript ion <Policy descript ion> -Enabled $t rue -Webhook <Webhoo
command COPY
Set -Monit orNot icat ionPolicy - Uid <Policy id> -Webhook <Webhook URL>
For help on the PowerShell commands, use the PowerShell help, for example:
command COPY
For more information on conguring alert policies with PowerShell, see Director 7.7: Managing and Conguring Alerts and
Notications Using Powershell in Advanced Concepts.
Notications generated from the alert policy trigger the webhook with a POST call to the webhook URL. T he POST
message contains the notication information in JSON format:
When an alert congured with an SNMP trap triggers, the corresponding SNMP trap message is forwarded to the
congured network listener for further processing. Citrix alerts support traps of SNMP version 2 and later. Currently, the
trap message can be forwarded to one listener.
command COPY
Get-MonitorNoticationSnmpServerConguration
command COPY
Set -Monit orNot icat ionSnmpServerCongurat ion -ServerName <Server IP> -Port Number <Port ID> -SnmpSender <Sender name> -
command COPY
Set -Monit orNot icat ionSnmpServerCongurat ion -ServerName <Server IP> -Port Number <Port ID> -SnmpSender <Sender name> -
command COPY
command COPY
$policy = New-Monit orNot icat ionPolicy -Name <Policy name> -IsSnmpEnabled $t rue -Descript ion <Policy descript ion> -Enabled $t ru
T he structure of the OIDs in the SNMP trap messages from Director is as follows:
1.3.6.1.4 .1.384 5.100.1.<UID>
Here, <UID> is generated serially for every alert policy dened in Director. T he OIDs are hence unique to each user
environment.
Use 1.3.6.1.4 .1.384 5.100.1 to filter all trap messages from Director.
Use 1.3.6.1.4 .1.384 5.100.1.<UID> to filter and handle traps messages for specific alerts.
Use the following cmdlet to get the UIDs for the alert policies dened in your environment:
command COPY
Get-MonitorNoticationPolicy
You can forward the SNMP traps to SCOM. To do this, congure SCOM with the Delivery Controller to listen to the trap
SCOM alerts
SCOM integration with Director lets you view alert information from Microsoft System Center 2012 Operations Manager
(SCOM) on the Dashboard and in other high level views in Director.
SCOM alerts are displayed on-screen alongside Citrix alerts. You can access and drill down into SCOM alerts from SCOM tab
in the side bar.
You can view historical alerts up to one month old, sort, lter, and export the ltered information to CSV, Excel, and PDF
report formats. For more information, see Export reports.
SCOM integration uses remote PowerShell 3.0 or later to query data from the SCOM Management Server and it maintains
a persistent runspace connection in the user's Director session. Director and SCOM server must have the same PowerShell
version.
2. Add the SCOM Management Server to the TrustedHosts list. Open an elevated PowerShell prompt in From an elevated
PowerShell command line, and execute the following command(s):
command COPY
b. Add the FQDN of the SCOM Management Server to the list of TrustedHosts. <Old Values> represents the existing
set of entries returned from Get-Item cmdlet.
command COPY
Set -It em WSMAN:\localhost \Client \Trust edHost s -Value "<FQDN SCOM Management Server>,<Old Values>"
command COPY
a. Open the SCOM Management console and go to Administration > Security > User Roles.
b. In User Roles, you can create a new User Role or modify an existing one. T here are four categories of SCOM
operators. T hese roles dene the nature of access to SCOM data. For example, a read-only SCOM operator does not
see the Administration pane and cannot discover or manage rules, machines or accounts. A SCOM Operator role is a
full administrator role.
Note:
If a Director administrator is assigned to non-operator role the following operations are not available to the Director
administrator.
i. If there are multiple management servers congured and the primary management server is not available, the
ii. While ltering alerts, the Director administrator cannot search for the alert Source. T his requires an operator
level permission.
c. To modify any User Role, right click on the role, then click Properties.
d. In the User Role Properties dialog, you can add or remove Director administrators from the specied user role.
2. Add Director administrators to the Remote Management Users group on the SCOM Management server. T his allows the
Director administrators to establish a remote PowerShell connection.
a. Modify MaxConcurrentUsers:
In CLI:
command COPY
In PS:
command COPY
b. Modify MaxShellsPerUser:
In CLI:
command COPY
In PS:
command COPY
c. Modify MaxMemoryPerShellMB:
In CLI:
command COPY
In PS:
command COPY
5. To ensure SCOM integration works in mixed domain environments, set the following registry entry.
Key: LocalAccountTokenFilterPolicy
Type: DWord
Value: 1
Warning: Editing the registry incorrectly can cause serious problems that might require you to reinstall your operating
system. Citrix cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use
Registry Editor at your own risk. Be sure to back up the registry before you edit it.
Once SCOM integration is set up you might see the message "Cannot get the latest SCOM alerts. View the Director server
For information about creating delegated administrators, see the main Delegated Administration document.
Administrative permissions determine the Director interface presented to administrators and the tasks they can perform.
Permissions determine:
T he views the administrator can access, collectively referred to as a view.
T he desktops, machines, and sessions that the administrator can view and interact with.
T he commands the administrator can perform, such as shadowing a user's session or enabling maintenance mode.
T he built-in roles and permissions also determine how administrators use Director:
Full Full access to all views and can perform all commands, including shadowing a user's session, enabling
Administrator maintenance mode, and exporting trends data.
Delivery Group Full access to all views and can perform all commands, including shadowing a user's session, enabling
Administrator maintenance mode, and exporting trends data.
Read Only Can access all views and see all objects in specified scopes as well as global information. Can
Administrator download reports from HDX channels and can export T rends data using the Export option in the
T rends view.
Cannot perform any other commands or change anything in the views.
Help Desk Can access only the Help Desk and User Details views and can view only objects that the
Administrator administrator is delegated to manage. Can shadow a user's session and perform commands for that
user. Can perform maintenance mode operations. Can use power control options for Desktop OS
Machines.
Cannot access the Dashboard, Trends, Alerts, or Filters views. Cannot use power control options for
Server OS machines.
Machine No access. T his administrator is not supported for Director and cannot view data. T his user can
Catalog access the Machine Details page (Machine-based search).
Administrator
Host No access. T his administrator is not supported for Director and cannot view data.
Administrator
If you create a custom role with Director permissions, you must also give that role other generic permissions:
Delivery Controller permission to log on to Director.
Permissions to Delivery Groups to view the data related to those Delivery Groups in Director.
Alternatively, you can create a custom role by copying an existing role and include additional permissions for different views.
For example, you can copy the Help Desk role and include permissions to view the Dashboard or Filters pages.
Select the Director permissions for the custom role, which include:
In addition, from the list of permissions for other components, consider these permissions:
You can congure Director with a restricted IIS conguration. Note that this is not the default IIS conguration.
Filename extensions
.aspx
.css
.html
.js
.png
.svc
Director requires the following HT T P verbs in Request Filtering. You can disallow unlisted verbs.
GET
POST
HEAD
ISAPI filters
ISAPI extensions
CGI programs
FastCGI programs
Important:
Director requires Full T rust. Do not set the global .NET trust level to High or lower.
Director maintains a separate application pool. T o modify the Director settings, select the Director Site and modify.
When Director is installed, its application pools are granted the logon right Log on as a service and the privileges Adjust
memory quotas for a process, Generate security audits, and Replace a process level token. T his is normal installation
behavior when application pools are created.
You do not need to change these user rights. T hese privileges are not used by Director and are automatically disabled.
Director communications
In a production environment, Citrix recommends using the Internet Protocol security (IPsec) or HT T PS protocols to secure
data passing between Director and your servers. IPsec is a set of standard extensions to the Internet Protocol that
Note:
Citrix strongly recommends that you do not enable unsecured connections to Director in a production environment.
Secure communications from Director requires configuration for each connection separately.
T he SSL protocol is not recommended. Use T LS instead.
You must secure communications with NetScaler using T LS, not IPsec.
To secure communications between Director and XenApp/XenDesktop servers (for monitoring and reports), refer to
Securing endpoints using T LS.
To secure communications between Director and NetScaler (for NetScaler Insight), refer to Congure network analysis.
To secure communications between Director and License server, refer to Secure the License Administration Console.
If you deploy any web applications in the same web domain (domain name and port) as Director, then any security risks in
those web applications could potentially reduce the security of your Director deployment. Where a greater degree of
security separation is required, Citrix recommends that you deploy Director in a separate web domain.
In addition, use this procedure to congure WinRM for use with Remote PC in XenDesktop 5.6 Feature Pack1.
By default, only local administrators of the desktop machine (typically domain administrators and other privileged users)
have the necessary permissions to view the real-time data.
To enable other users to view the real-time data, you must grant them permissions. For example, suppose there are several
Director users (HelpDeskUserA, HelpDeskUserB, and so on) who are members of an Active Directory security group called
HelpDeskUsers. T he group has been assigned the Help Desk administrator role in Studio, providing them with the required
Delivery Controller permissions. However, the group also needs access to the information from the desktop machine.
T o provide the necessary access, you can configure the required permissions in one of two ways:
Grant permissions to the Director users (impersonation model)
Grant permissions to the Director service (trusted subsystem model)
By default, Director uses an impersonation model: T he WinRM connection to the desktop machine is made using the
Director user's identity. It is therefore the user that must have the appropriate permissions on the desktop.
You can congure these permissions in one of two ways (described later in this document):
Instead of providing the Director users with permissions on the desktop machines, you can congure Director to make
WinRM connections using a service identity and grant only that service identity the appropriate permissions.
With this model, the users of Director have no permissions to make WinRM calls themselves. T hey can only access the data
using Director.
T he Director application pool in IIS is congured to run as the service identity. By default, this is the APPPOOL\Director
virtual account. When making remote connections, this account appears as the server's Active Directory computer account;
for example, MyDomain\DirectorServer$. You must congure this account with the appropriate permissions.
If multiple Director websites are deployed, you must place each web server's computer account into an Active Directory
security group that is congured with the appropriate permissions.
To set Director to use the service identity for WinRM instead of the user's identity, congure the following setting, as
Service.Connector.WinRM.Identity = Service
You can congure these permissions in one of two ways:
1. Add the service account to the local Administrators group on the desktop machine.
2. Grant the service account the specific permissions required by Director (described next). T his option avoids giving the
service account full administrative permissions on the machine .
T he following permissions are required for Director to access the information it requires from the desktop machine through
WinRM:
T he CongRemoteMgmt.exe tool, used to automatically grant these permissions, is on the installation media in the
x86\Virtual Desktop Agent and x64\Virtual Desktop Agent folders and on the installation media in the tools folder. You
must grant permissions to all Director users.
To grant the permissions to an Active Directory security group, user, computer account, or for actions like End Application
and End Process, run the tool with administrative privileges from a command prompt using the following arguments:
ConfigRemoteMgmt.exe
Director integrates with NetScaler Insight Center or NetScaler MAS to provide network analysis and performance
management:
Network analysis leverages HDX Insight reports from NetScaler Insight Center or NetScaler MAS to provide an
application and desktop contextual view of the network. With this feature, Director provides advanced analytics of ICA
traffic in your deployment.
Performance management provides historical retention and trend reporting. With historical retention of data versus the
real-time assessment, you can create T rend reports, including capacity and health trending.
After you enable this feature in Director, HDX Insight reports provide Director with additional information:
T he Network tab in the T rends page shows latency and bandwidth effects for applications, desktops, and users across
your entire deployment.
T he User Details page shows latency and bandwidth information specific to a particular user session.
Limitations:
ICA session Round T rip T ime (RT T ) shows data correctly for Receiver for Windows 3.4 or later and the Receiver for Mac
11.8 or later. For earlier versions of these Receivers, the data does not display correctly.
In the T rends view, HDX connection logon data is not collected for VDAs earlier than 7. For earlier VDAs, the chart data
is displayed as 0.
To enable network analysis, you must install and congure NetScaler Insight Center or NetScaler MAS in Director. Director
requires NetScaler MAS Version 11.1 Build 49.16 or later. Insight Center and MAS are Virtual appliances that run on the Citrix
XenServer. Using network analysis, Director communicates and gathers the information that is related to your deployment.
For more information, see the NetScaler Insight Center or NetScaler MAS documentation.
1. On the server where Director is installed, locate the DirectorConfig command line tool in
C:\inetpub\wwwroot\Director\tools, and run it with parameter /confignetscaler from a command prompt.
2. When prompted, enter the NetScaler Insight Center or NetScaler MAS machine name (FQDN or IP address), enter the
username, password, HT T P or HT T PS connection type, and choose NetScaler Insight or NetScaler MAS integration.
3. T o verify the changes, log off and log back on.
Check for details about the user's logon, connection, and applications.
Shadow the user's machine.
T roubleshoot the issue with the recommended actions in the following table, and, if needed, escalate the issue to the
appropriate administrator.
Troubleshooting tips
Logon takes a long time or fails intermittently or repeatedly Diagnose user logon issues
Note: T o make sure that the machine is not in maintenance mode, from the User Details view, review the Machine Details
panel.
Search tips
When you type the user's name in a Search eld, Director searches for users in Active Directory for users across all sites
congured to support Director.
When you type a multiuser machine name in a Search eld, Director displays the Machine Details for the specied machine.
When you type an endpoint name in a Search eld, Director uses the unauthenticated (anonymous) and authenticated
sessions that are connected to a specic endpoint, which enables troubleshooting unauthenticated sessions. Ensure that
endpoint names are unique to enable troubleshooting of unauthenticated sessions.
T he search results also include users who are not currently using or assigned to a machine.
You can access Citrix Insight Services (CIS) from the User drop-down in Director to access additional diagnostic insights. T he
data available in CIS comes from sources including Call Home and Citrix Scout.
Run Citrix Scout from a single Delivery Controller or VDA to capture key data points and Citrix Diagnosis Facility (CDF) traces
to troubleshoot selected computers. Scout offers the ability to securely upload the data to Citrix Insight Services (CIS)
platform to assist Citrix Technical Support on troubleshooting. Citrix Technical Support uses the CIS platform to reduce the
time to resolve customer-reported issues.
Scout is installed with XenApp or XenDesktop components. Depending on the version of Windows, Scout appears in the
Windows Start Menu or Start Screen when you install or upgrade to XenDesktop 7.1, XenDesktop 7.5, XenApp 7.5,
XenDesktop 7.6, XenApp 7.6, XenDesktop 7.7, or XenApp 7.7.
To start Scout, from the Start Menu or Start Screen, select Citrix > Citrix Scout.
For information on using and conguring Scout, and for frequently asked questions, see CT X130147.
As users logon to XenApp and XenDesktop, the Monitor Service tracks the phases of the logon process from the time the
user connects from Citrix Receiver to the time when the desktop is ready to use. T he large number on the left is the total
logon time and is calculated by combining the time spent establishing the connection and obtaining a desktop from the
Delivery Controller with the time spent to authenticate and logon to a virtual desktop. T he duration information is
presented in seconds (or fractions of seconds) in the local time of the Administrators web browser.
1. From the User Details view, troubleshoot the logon state using the Logon Duration panel.
If the user is logging on, the view reflects the process of logging on.
If the user is currently logged on, the Logon Duration panel displays the time it took for the user to log on to the
current session.
2. Examine the phases of the logon process.
Login scripts If logon scripts are congured for the session, this is the
time taken for the logon scripts to be executed.
Prole load If prole settings are congured for the user or the virtual
machine, this is the time taken for the prole to load.
Interactive Session T his is the time taken to "hand off " keyboard and mouse
control to the user after the user prole has been loaded.
It is normally the longest duration out of all the phases of
the logon process and is calculated as follows:
T he total logon time is not an exact sum of these phases. For example, some phases occur in parallel, and in some phases,
additional processing occurs that might result in a longer logon duration than the sum.
Note: T he Logon Duration graph shows the logon phases in seconds. Any duration values below one second are displayed
as sub-second values. T he values above one second are rounded to the nearest 0.5 second. T he graph has been designed
to show the highest y-axis value as 200 seconds. Any value higher than 200 seconds is shown with the actual value
displayed above the bar.
Troubleshooting tips
To identify unusual or unexpected values in the graph, compare the amount of time taken in each phase of the current
session with the average duration for this user for the last seven days, and the average duration for all users in this Delivery
Group for the last seven days.
Escalate as needed. For example, if the VM startup is slow, the issue could be in the hypervisor, so you can escalate it to the
hypervisor administrator. Or, if the brokering time is slow, you can escalate the issue to the Site administrator to check the
load balancing on the Delivery Controller.
If needed, click Restart to observe the user's logon process to troubleshoot issues, such as VM Start or Brokering.
For additional control, ask the user to share keyboard and mouse control.
Streamline Microsof t Internet Explorer browsers f or shadowing
Congure your Microsoft Internet Explorer browser to automatically open the downloaded Microsoft Remote Assistance
(.msra) le with the Remote Assistance client.
To do this, you must enable the Automatic prompting for le downloads setting in the Group Policy editor:
Computer Conguration > Administrative Templates > Windows Components > Internet Explorer > Internet Control Panel >
Security Page > Internet Zone > Automatic prompting for le downloads.
By default, this option is enabled for Sites in the Local intranet zone. If the Director Site is not in the Local intranet zone,
consider manually adding the Site to this zone.
If the message is sent successfully, a conrmation message appears in Director. If the user's machine is connected, the
message appears there.
If the message is not sent successfully, an error message appears in Director. Troubleshoot the problem according to the
error message. When you have nished, type the subject and message text again and click Try again.
For Server OS machines and Desktop OS machines, applications are listed for each disconnected session. If the user is not
connected, no applications are displayed.
Action Description
End the application that is not responding Choose the application that is not responding and click End
Application. Once the application is terminated, ask the user to launch
it again.
End processes that are not responding If you have the required permission, click the Processes tab. Select a
process that is related to the application or using a high amount of
CPU resources or memory, and click End Process.
Restart the user's machine For Desktop OS machines only, for the selected session, click Restart.
Alternatively, from the Machine Details view, use the power controls
to restart or shut down the machine. Instruct the user to log on again
so that you can recheck the application.
For Server OS machines, the restart option is not available. Instead, log
off the user and let the user log on again.
Put the machine into maintenance mode If the machine's image needs maintenance, such as a patch or other
updates, put the machine into maintenance mode. From the Machine
Details view, click Details and turn on the maintenance mode option.
Escalate to the appropriate administrator.
If the desktop connection failed, the error that caused failure is displayed and can help you decide how to troubleshoot.
Action Description
Ensure that the On the User Details page, make sure maintenance mode is turned off.
machine is not in
maintenance mode
Restart the user's Select the machine and click Restart. Use this option if the user's machine is unresponsive or
machine unable to connect, such as when the machine is using an unusually high amount of CPU
resources, which can make the CPU unusable.
In the User Details view, troubleshoot session failures in the Session Details panel. You can view the details of the current
session, indicated by the session ID.
Action Description
End Click the Applications tab. Select any application that is not responding and click End Application.
applications or Similarly, select any corresponding process that is not responding and click End Process. Also, end
processes that processes that are consuming an unusually high amount of memory or CPU resources, which can
are not make the CPU unusable.
responding
Disconnect the Click Session Control and then select Disconnect. T his option is available only for brokered Server OS
Windows machines. For non-brokered sessions, the option is disabled.
session
Log off the Click Session Control and then select Log Off.
user from the
session
To test the session, the user can attempt to log back onto it. You can also shadow the user to more closely monitor this
session.
Note: If user devices are running VDAs earlier than XenDesktop 7, Director cannot display complete information about the
session; instead, it displays a message that the information is not available. T hese messages might appear in the User
Details page and Activity Manager.
Tip: You can view information about other channels in the same dialog box by clicking the left and right arrows in the left
corner of the title bar.
HDX channel system reports are used mainly by Citrix Support to troubleshoot further.
T his option is available only for Desktop OS machines; it is disabled for Server OS machines.
1. From the Help Desk view, choose the targeted Desktop OS machine.
2. From this view or in the Personalization panel of the User Details view, click Reset Personal vDisk.
3. Click Reset. A message appears warning that the user will be logged off. After the user is logged off (if the user was
logged on), the machine restarts.
If the reset is successful, the Personal vDisk status field value in the Personalization panel of the User Details view is
Running. If the reset is unsuccessful, a red X to the right of the Running value appears. When you point to this X,
information about the failure appears.
Note: T he preceding steps assume you are using XenDesktop (Desktop VDA). If you are using XenApp (Server VDA) you
need to be logged on to perform the profile reset. T he user then needs to log off, and log back on to complete the profile
reset.
If the profile is not successfully reset (for example, the user cannot successfully log back on to the machine or some of the
files are missing), you must manually restore the original profile.
T he folders (and their les) from the user's prole are saved and copied to the new prole. T hey are copied in the listed
order:
Desktop
Cookies
Favorites
Documents
Pictures
Music
Videos
Note: In Windows 8 and later, cookies are not copied when profiles are reset.
How reset proles are processed
Any Citrix user prole or Microsoft roaming prole can be reset. After the user logs off and you select the reset command
(either in Director or using the PowerShell SDK), Director rst identies the user prole in use and issues an appropriate
reset command. Director receives the information through Prole management, including information about the prole size,
type, and logon timings.
T his diagram illustrates the process following the user log on.
Typical use cases for application-based troubleshooting are in the healthcare sector, where employees share application
licenses. T here, you must end idle sessions and application instances to purge the XenApp and XenDesktop environment, to
recongure poorly performing servers, or to maintain and upgrade applications.
T he Application Instances lter page lists all application instances on VDAs of Server and Desktop OS. T he associated idle
time measurements are displayed for application instances on VDAs of Server OS that have been idle for at least 10
minutes.
Note: T he Application Instances metrics are available on Sites of all license editions.
Use this information to identify the application instances that are idle beyond a specic time period and log off or
disconnect them as appropriate. To do this, select Filters > Application Instances and select a pre-saved lter or choose
All Application Instances and create your own lter.
An example of a lter would be as follows. As Filter by criteria, choose Published Name (of the application) and Idle Time.
T hen, set Idle Time to greater than or equal to a specic time limit and save the lter for reuse. From the ltered list,
select the application instances you want to end. From the Session Control drop-down, choose Logof f or Disconnect.
Note: Logging off or disconnecting an application instance logs off or disconnects the current session, thereby ending all
application instances that belong to the same session.
You can identify idle sessions from the Sessions lter page using the session state and the session idle time metric. Sort by
the Idle Time column or dene a lter to identify sessions that are idle beyond a specic time limit. Idle time is listed for
sessions on VDAs of Server OS that have been idle for at least 10 minutes.
Click the Failure Reason of a failed machine to get a detailed description of the failure and actions recommended to
troubleshoot the failure. T he failure reasons and the recommended actions for machine and connection failures are
available in the Citrix Director 7.12 Failure Reasons Troubleshooting Guide.
Click the machine name link to go to the Machine Details page. T he Machine Details page lists the machine details,
infrastructure details, and details of the hotxes applied on the machine. T he Machine Utilization panel displays the
machine utilization graphs.
T he Machine Utilization panel displays graphs showing real-time utilization of CPU and memory . In addition, disk and GPU
monitoring graphs are available for Sites with Delivery Controller(s) and VDA versions 7.14 or later.
Disk monitoring graphs, average IOPS, and disk latency are important performance measurements that help you monitor
and troubleshoot issues related to VDA disks. T he Average IOPS graph displays the average number of reads and writes to
a disk. Select Disk Latency to see a graph of the delay between a request for data and its return from the disk, measured
in milliseconds.
In the Machine Utilization panel, click View Historical Utilization to view the historical usage of resources on the
selected machine.
T he utilization graphs include critical performance counters of CPU, memory, peak concurrent sessions, average IOPS, and
disk latency.
Note: T he Monitoring policy setting, Enable Process Monitoring, must be set to Allowed to collect and display data in the
Top 10 Processes table on the Historic Machine Utilization page. T he collection is prohibited by default.
T he CPU and memory utilization, average IOPS, and disk latency data is collected by default. You can disable the collection
by using the Enable Resource Monitoring policy setting.
1. From the Machine Utilization panel in the Machine Details view, select View Historical Utilization. T his opens the
Historical Machine Utilization page.
2. Set Time Period to view usage for the last 2 hours, 24 hours, 7 days, month, or year.
Note: Average IOPS and disk latency usage data are available only for the last 24 hours, month, and year ending now.
Custom end time is not supported.
4. Hover over different sections of the graph to view more information for the selected time period.
For example, if you select Last 2 hours, the baseline period is the 2 hours prior to the selected time range. View the CPU,
memory, and session trend over the last 2 hours and the baseline time.
If you select Last month, the baseline period is the previous month. Select to view the Average IOPS and disk latency over
the last month and the baseline time.
5. Click Export to export the resource utilization data for the selected period. For more information, see Export reports
section in Monitor Deployments.
6. Below the graphs, the table lists the top 10 processes based on CPU or memory utilization. You can sort by any of the
columns, which show Application Name, User Name, Session ID, Average CPU, Peak CPU, Average Memory, and Peak
Memory over the selected time range. T he IOPS and Disk Latency columns cannot be sorted.
T he Citrix Group Policy SDK allows you to display and congure Group Policy settings and lters. It uses a PowerShell
provider to create a virtual drive that corresponds to the machine and user settings and lters. T he provider appears as an
extension to New-PSDrive. To use the Group Policy SDK, either Studio or the XenApp and XenDesktop SDK must be
installed. See Group Policy SDK for more information.
If you are familiar with the XenDesktop 5 SDK, the following list summarizes the differences in 7.x versions of the XenApp
and XenDesktop SDK.
New high-level SDK XenDesktop 7 provides a new high-level SDK that enables you to script and automate site
creation and maintenance quickly and easily. T he high-level SDK insulates you from much of the complexity of the low-
level SDKs, so you can create a new Site simply by running two cmdlets.
New low-level SDKs Individual low-level SDKs are provided for the new XenDesktop 7 services, including a dedicated
and enhanced SDK for the Delegated Administration Service (DAS), which was previously part of the Broker SDK in
XenDesktop 5. T here are also SDKs for new features including the Monitor Service, Environment T est, and Configuration
Logging.
Windows Server OS Machine Catalogs and Delivery Groups You can use the XenDesktop 7 SDK to deliver cost-
effective applications and desktops hosted on server operating systems.
Desktop OS Machine applications Desktop OS Machine applications have changed significantly at the SDK level. If
you have existing scripts for running applications on Desktop OSs, you will have to update these scripts for XenDesktop
7, because there is little backwards compatibility.
Apply settings to machines in Delivery Groups In XenDesktop 7, using configuration slots, you can apply settings
to machines in a specific delivery group, rather than to all machines in a site. T his enables you to configure, for a given
delivery group, which settings apply to that group. A number of pre-defined configuration slots are provided that contain
different types of settings, such as settings for StoreFront addresses for use with Receiver or App-V publishing server
locations. You can use one collection of settings from a slot to affect only a particular delivery group, and a different
collection of settings from the same slot to affect another delivery group. You can use names appropriate to your
particular deployment; for example, "Sales Department policy."
Catalog types replaced In XenDesktop 7, catalog types have been replaced by catalogs with individual properties.
T here are differences between the SDK and the Studio console in terms of policy rules. Entitlement and assignment policy
rules are independent entities in the SDK; in the console, these entities are not visible as they are seamlessly merged with
the Delivery Group. Also, access policy rules are less restrictive in the SDK.
T he SDK comprises of a number of PowerShell snap-ins installed automatically by the installation wizard when you install
the Delivery Controller or Studio component.
Permissions: You must run the shell or script using an identity that has Citrix administration rights. Although members of the
local administrators group on the Controller automatically have full administrative privileges to allow XenApp or XenDesktop
to be installed, Citrix recommends that for normal operation, you create Citrix administrators with the appropriate rights,
rather than use the local administrators account. If you are running Windows Server 2008 R2, you must run the shell or
script as a Citrix administrator, and not as a member of the local administrators group.
1. Start a shell in PowerShell 3.0: Open Studio, select the PowerShell tab, and then click Launch PowerShell.
2. T o use SDK cmdlets within scripts, set the execution policy in PowerShell. For more information about PowerShell
execution policy, see the Microsoft documentation.
3. Add the snap-ins you require into the PowerShell environment using the Add -PSSnapin cmdlet in the Windows
PowerShell console.
V1 and V2 denote the version of the snap-in (XenDesktop 5 snap-ins are version 1; XenDesktop 7 snap-ins are version
2. For example, to install XenDesktop 7 snap-ins, type Add-PSSnapin Citrix.ADIdentity.Admin.V2). To import all the
cmdlets, type: Add-PSSnapin Citrix.*.Admin.V*
After adding the snap-ins, you can access the cmdlets and their associated help.
NOTE: To see the current XenApp and XenDesktop PowerShell cmdlet help:
1. From the PowerShell console, add the Citrix snap-ins: Add PSSnapin Citrix.*.Admin.V*.
2. Follow the instructions in PowerShell Integrated Scripting Environment (ISE).
To add the Group Policy SDK, type Add-PSSnapin citrix.common.grouppolicy. (To access help, type: help New-PSDrive -
path localgpo:/)
To create a virtual drive and load it with settings, type: New-PSDrive < Standard Parameters > [-PSProvider]
CitrixGroupPolicy -Controller < string> where the Controller string is the fully qualied domain name of a Controller in the
Site you want to connect to and load settings from.
T he Monitor Service API uses the Open Data (OData) protocol, which is a Web protocol for querying and updating data,
built upon Web technologies such as HT T P. For more information about the OData protocol, see: http://www.odata.org.
T he Monitor Service API is built on top of SQL Server databases using Windows Communication Foundation (WCF) Data
Services that are populated during processing and consolidation. T wo endpoints are exposed using WCF with
wsHttpBinding. T he base address is: http:// {dc-host}/Citrix/Monitor/OData/v2. You can also use T LS to secure endpoints;
see Securing endpoints using T LS for more information.
1. T he Data endpoint exposes read-only access directly to the database entities and can be accessed using the OData
query language. T his endpoint allows highly flexible access in terms of filtering and column selection. T he Data API URI is:
http://{dc-host}/Citrix/Monitor/OData/v2/Data. For more information about accessing the Monitor Service data, see
Accessing data using the API.
2. T he Methods endpoint exposes service operations that are used by Citrix Director to retrieve data that requires complex
grouping and high performance standards, such as queries on the Dashboard and T rends pages. T he Methods API URI is:
http://{dc-host}/Citrix/Monitor/OData/v2/Methods. Methods are used only in Director itself so are not used by the
majority of Citrix customers. T hey are therefore not documented here.
T he version of the API included with XenApp and XenDesktop 7.6 provides the following new features:
Hotf ix inventory. Using the User Details view or Machine view in Director, you can see a list of all the Citrix hotfixes
that have been installed on a machine. You can use the API to extract this data and create custom reports (for example,
the state of installed hotfixes over an entire site) or pull it into an analytics engine. New classes have been introduced
and the Machine class has been extended to support tracking Citrix hotfixes installed on the controller and VDAs.
Anonymous session troubleshooting. Sessions can be run as a set of pooled local user accounts. T he API has a new
IsAnonymous property for the Session class (default value FALSE).
Hosted application usage reporting. Director provides new capacity reports that show the usage of hosted
applications over time. T he API allows you to report on the details of each application instance running in a user session.
All the updates to data are fully documented in the API Reference at http://support.citrix.com/help/monitorserviceapi/7.6/.
To use the Monitor Service OData API, you must be a XenApp or XenDesktop administrator. To call the API, you require
read-only privileges; however, the data returned is determined by XenApp or XenDesktop administrator roles and
permissions. For example, Delivery Group Administrators can call the Monitor Service API but the data they can obtain is
controlled by Delivery Group access set up using Citrix Studio. For more information about XenApp or XenDesktop
administrator roles and permissions, see Delegated Administration.
T he Monitor Service API is a REST -based API that can be accessed using an OData consumer. OData consumers are
applications that consume data exposed using the OData protocol. OData consumers vary in sophistication from simple
web browsers to custom applications that can take advantage of all the features of the OData Protocol. For more
information about OData consumers, see: http://www.odata.org/ecosystem#consumers.
Every part of the Monitor Service data model is accessible and can be ltered on the URL. OData provides a query language
in the URL format you can use to retrieve entries from a service. For more information, see: http://msdn.microsoft.com/en-
us/library/ff478141.aspx.
T he query is processed on the server side and can be ltered further using the OData protocol on the client side.
T he data modeled falls into three categories: aggregate data (the summary tables), current state of objects (machines,
sessions, etc.), and log data, which is really historical events (connections, for example).
Note: Enums are not supported in the OData protocol; integers are used in their place. T o determine the values returned by
the Monitor Service OData API, see http://support.citrix.com/help/monitorserviceapi/7.6/.
Aggregation of data values
T he Monitor Service collects a variety of data, including user session usage, user logon performance details, session load
balancing details, and connection and machine failure information. Data is aggregated differently depending on its
category. Understanding the aggregation of data values presented using the OData Method APIs is critical to interpreting
the data. For example:
Connected Sessions and Machine Failures occur over a period of time. T herefore, they are exposed as maximums over a
time period.
Sessions must be overlapping to be considered concurrent. However, when the time interval is 1 minute, all sessions in that
minute (whether or not they overlap) are considered concurrent: the size of the interval is so small that the performance
overhead involved in calculating the precision is not worth the value added. If the sessions occur in the same hour, but not in
the same minute, they are not considered to overlap.
When attempting to correlate data across API calls or within the data model itself, it is important to understand the
following concepts and limitations:
No summary data f or partial intervals. Metrics summaries are designed to meet the needs of historical trends over
long periods of time. T hese metrics are aggregated into the summary table for complete intervals. T here will be no
summary data for a partial interval at the beginning (oldest available data) of the data collection nor at the end. When
viewing aggregations of a day (Interval=1440), this means that the first and most recent incomplete days will have no
data. Although raw data may exist for those partial intervals, it will never be summarized. You can determine the earliest
and latest aggregate interval for a particular data granularity by pulling the min and max SummaryDate from a particular
summary table. T he SummaryDate column represents the start of the interval. T he Granularity column represents the
length of the interval for the aggregate data.
Correlating by time. Metrics are aggregated into the summary table for complete intervals as described above. T hey
can be used for historical trends, but raw events may be more current in the state than what has been summarized for
trend analysis. Any time-based comparison of summary to raw data needs to take into account that there will be no
summary data for partial intervals that may occur or for the beginning and ending of the time period.
Missed and latent events. Metrics that are aggregated into the summary table may be slightly inaccurate if events are
missed or latent to the aggregation period. Although the Monitor Service attempts to maintain an accurate current
state, it does not go back in time to recompute aggregation in the summary tables for missed or latent events.
Connection High Availability. During connection HA there will be gaps in the summary data counts of current
connections, but the session instances will still be running in the raw data.
Data retention periods. Data in the summary tables is retained on a different grooming schedule from the schedule for
raw event data. Data may be missing because it has been groomed away from summary or raw tables. Retention periods
may also differ for different granularities of summary data. Lower granularity data (minutes) is groomed more quickly
than higher granularity data (days). If data is missing from one granularity due to grooming, it may be found in a higher
granularity. Since the API calls only return the specific granularity requested, receiving no data for one granularity does
not mean the data doesn't exist for a higher granularity for the same time period.
Time zones. Metrics are stored with UT C time stamps. Summary tables are aggregated on hourly time zone boundaries.
For time zones that don't fall on hourly boundaries, there may be some discrepancy as to where data is aggregated.
Requested data that does not come from aggregated data comes from the raw Session and Connection information. T his
data tends to grow fast, and therefore has its own grooming setting. Grooming ensures that only relevant data is kept long
term. T his ensures better performance while maintaining the granularity required for reporting. Customers on Platinum
licensed Sites can change the grooming retention to their desired number of retention days, otherwise the default is used.
To access the settings, run the following PowerShell commands on the Delivery Controller:
command COPY
asnp Citrix.*
5 GroomSummariesRetentionDays DesktopGroupSummary, 90 7
FailureLogSummary and
LoadIndexSummary
records. Aggregated
data - daily granularity.
Customers on Platinum licensed Sites can change the grooming retention to their desired number of retention days.
Otherwise, the default is used.
Customers on Enterprise licensed Sites - grooming begins at day 32.
Customers on non-Platinum and non-Enterprise Sites - grooming begins at day 8.
Session and event data. T his is the data that is collected every time a session is started and a
connection/reconnection is made. For a large site (100K users), this data will grow very fast. For example, two years'
worth of these tables would gather more than a T B of data, requiring a high-end enterprise-level database.
To secure Monitor Service endpoints using T LS, you must perform the following conguration. Some steps need to be done only
once per site, others must be run from every machine hosting the Monitor Service in the site. T he steps are described below.
1. Create a certificate using a trusted certificate manager. T he certificate must be associated with the port on the machine
that you wish to use for OData T LS.
2. Configure the Monitor Service to use this port for T LS communication. T he steps depend on your environment and how this
works with certificates. T he following example shows how to configure port 449:
1. From any Delivery Controller in the site, run the following PowerShell commands once. T his removes the Monitor Service
registration with the Configuration Service.
asnp citrix.*
get-MonitorServiceInstance | register-ConfigServiceInstance
1. Place the URL for each data set into a web browser that is running with the appropriate administrative permissions for
the XenApp or XenDesktop Site. Citrix recommends using the Chrome browser with the Advanced Rest Client add-in.
2. View the source.
T hese instructions assume that you have already installed Microsoft Excel and PowerPivot.
Open Excel (running with the appropriate administrative permissions for the XenApp or XenDesktop Site).
Example 3 - LINQPad
1. Run LinqPad with the appropriate administrative permissions for the XenApp or XenDesktop Site.
T ip: the easiest way is to download, install and run on the Delivery Controller.
2. Click the Add connection link.
3. Choose WCF Data Services 5.1 (OData 3) and click Next.
4. Enter the data feed URL: http://{dc-host}/Citrix/Monitor/OData/v2/Data (or https: if you are using T LS). If necessary,
enter the username and password to access the Delivery Controller. Click OK.
For further worked examples of how to use the API with LINQPad, see http://blogs.citrix.com/2014/01/14/creating-
director-custom-reports-for-monitoring-xendesktop/.