Citrix 7.15 Server 2016 High Memory Usage

Citrix 7.15 Server 2016 High Memory Usage Average ratng: 9,6/10 2121 reviews

Navigation

In this second course out of seven, Citrix XenDesktop 7.15 LTSR: Delivery Controller, you'll first begin with a high-level look at everything that makes a XenDesktop deployment, the sum total of components that connect users to their applications and desktops. Jul 05, 2016  Exchange 2016 – Poor Outlook 2016 Performance – Troubleshooting – Server-side or Client-Side? Just recently I came across a newly installed Exchange 2016 environment and had to analyze a “poor performance issue”. I started my investigation by asking Google!

  • Install Virtual Delivery Agent 7.15.4000 LTSR
  • Receivers:
    • Receiver 4.9.7000 💡
  • Direct Access Users Group – allow non-administrators to RDP to the VDA
  • Enable Windows Profiles v3/v4 – Windows 2012 R2 only
  • Registry Settings – black screen, published Explorer, Screen Saver, Smart Card, HTML5 Clipboard, HTML5 Upload Folder, 4K Monitors, COM Ports
  • HTML5 Receiver – SSL for VDA
  • Troubleshooting – Graphics

💡 = Recently Updated

Change Log

  • 2019 Jun 22 – upgrade LTSR Receiver to version 4.9.7000
  • 2019 May 11 – Optimize Performance – added link to Microsoft Docs Optimizing Windows 10, version 1803, for a Virtual Desktop Infrastructure (VDI) role
  • 2019 Apr 23 – updated Install VDA and VDA Port section screenshots for 7.15.4000 (Cumulative Update 4)
  • 2019 Mar 4 – Desktop Helper – added link to Jeremy Saunders Controlling the Starting of the Citrix Desktop Service (BrokerAgent)
  • 2018 Dec 18 – Optimize Performance – updated Citrix Optimizer screenshots for 2.0.
  • 2018 Dec 16 – new Browser Content Redirection add-on for VDA 7.15 CU3
  • 2018 Dec 6 – Optimize Performance – added link to Eltjo van Gulik at Citrix Optimizer version 2 – Windows 10 1809
  • 2018 Nov 12 – VM Hardware – added info from William Lam How to enable vGPU vMotion in vSphere 6.7 Update 1
  • 2018 Nov 7 – Antivirus – added link to Citrix Tech Zone Endpoint Security and Antivirus Best Practices
  • 2018 Oct 29 – updated Install VDA and VDA Port section screenshots for 7.15.3000 (Cumulative Update 3)
  • 2018 Oct 13 – Optimize Performance – added link to Citrix Blog Post Citrix Optimizer: How to Roll Back Changes
  • 2018 Sep 3 – Verify Registration – updated VDA Health Assistant to version 1.6
  • 2018 Aug 3 – Connection Quality Indicator – updated for version 1.4
  • 2018 July 13 – Optimize Performance – added link to CTP James Rankin Removing UWP apps on Windows 10 1803 – the easy way!
  • 2018 July 2 – Slow Logons – added info from CTX207038 Application not launching and the session is stuck at the PreLogon state
  • 2018 June 15 – Antivirus – added Cylance info from CTX232722 Unable to launch application with Cylance Memory Protection Enabled
  • 2018 June 3 – added Server OS VDA 7.15.2000 Hotfix 1 from CTX235286
  • 2018 June 3 – added Profile Management 7.15.2000 Hotfix 1 from CTX235399
  • 2018 May 25 – added Desktop OS VDA 7.15.2000 Hotfix 1 from CTX235028.
  • 2018 May 20 – OS Optimization – added Windows Search fix from CTA Saadallah Chebaros Windows 10 Search Indexing Not Working After VMware OS Optimization tool for a fix.
  • 2018 May 19 – Registry Values – added info from Jan Hendrik Meier NVIDIA GRID license not applied before the user connects – License Restriction will not be removed until the user reconnects
  • 2018 May 1 – Registry Values – added Smart Card enabling registry value from CTX231942 Windows 10 April 2018 Update (v1803) – Citrix Known Issues
  • 2018 Apr 30 – Connection Quality Indicator updated to version 1.3
  • 2018 Apr 17 – updated Install VDA and VDA Port section screenshots for 7.15.2000 (Cumulative Update 2)
  • 2018 Mar 18 – added Desktop OS VDA 7.15.1000 Hotfix 4 from CTX232805
  • 2018 Feb 17 – in the Verify VDA Registration section, added link to The Most Common VDA Registration Issues & Troubleshooting Steps at Citrix Blogs
  • 2018 Feb 8 – in Optimize Performance > Citrix Links section, added info from CTX232313 Citrix Provisioning Services: Slow Login Performance with Windows 10 VDA Machines
  • 2018 Jan 31 – added Desktop OS VDA 7.15.1000 Hotfix 1 from CTX230597
  • 2018 Jan 13 – in Change VDA Port section, added link to CTX229493 VDAs Do Not Register in LHC Mode When Registration Port is Not Set To Default
  • 2018 Jan 8 – in Install VDA section, added link to Citrix Blog Post Citrix VDA Commandline Helper Tool
  • 2018 Jan 2 – in Profiles v4 section, added link to CTX230343 Reset Profile Options Is Greyed Out In Citrix Director
  • 2017 Dec 8 – in Registry > Login Timeout section, added link to Citrix CTX138404 Application Connection Starts but Disappears after Timeout
Usage

Hardware

Hypervisor Host Hardware

  • Citrix Blog Post Citrix Scalability — The Rule of 5 and 10: Simply take the number of physical cores in a hypervisor host, multiply it by 5 or 10, and the result will be your Single Server Scalability. Use 5 if you’re looking for the number of XenDesktop VMs you can host on a box, and use 10 if you’re looking for the number of XenApp user sessions you can host on a box.

Virtual Machine Hardware

  1. Hypervisor Support – CTX131239 Supported Hypervisors for XenDesktop and Provisioning Services
    • 7.15 LTSR Cumulative Update 3 (but not Cumulative Update 2) supports vSphere 6.7 Update 1
  2. VDA virtual machine sizing:
    1. For virtual desktops, give the virtual machine: 2+ vCPU and 2+ GB of RAM
    2. For Windows 2008 R2 RDSH, give the virtual machine 4 vCPU and 12-24 GB of RAM
    3. For Windows 2012 R2 RDSH, give the virtual machine 8 vCPU, and 24-48 GB of RAM
    4. See Daniel Feller Sizing Windows 2016, Windows 2012 And Windows 10 Virtual Machines
  3. If using RAM caching (MCSIO or PvS), add more RAM for the cache
  4. Remove the floppy drive
  5. Remove any serial or LPT ports
  6. If vSphere:
    1. To reduce disk space, reserve memory. Memory reservations reduce or eliminate the virtual machine .vswp file.
    2. The NIC should be VMXNET3.
    3. For vGPU, if vSphere 6.7 Update 1 and 7.15 LTSR CU3, set vgpu.hotmigrate.enabled Advanced vCenter Server Setting to true. (source = William Lam How to enable vGPU vMotion in vSphere 6.7 Update 1)
  7. If this VDA will boot from Provisioning Services:
    1. For vSphere, the NIC must be VMXNET3.
    2. For vSphere, configure the CD-ROM to boot from IDE instead of SATA. SATA comes with VM hardware version 10. SATA won’t work with PvS.
  8. For Windows 10 – see CTX224843 Windows 10 compatibility with Citrix XenDesktop
    • Citrix provides partial support for Semi-Annual Channel Targeted (aka Current Branch) versions of Windows 10
    • Citrix provides full support for Semi-Annual Channel (Broad) (aka Current Branch for Business) versions of Windows 10, starting with the VDA version released after a Windows 10 version is designated as Broad (typically 4 monthly patches after initial release).
      • Windows 10 1703 Broad is supported by VDA 7.15, since VDA 7.15 was released after Windows 10 1703 was designated as Broad (after four monthly Windows patches).
      • Windows 10 1709 Targeted: Citrix Product Manager in the comments mentioned that 7.15 will support 1709. Citrix has a live article about all this: CTX229052. The Microsoft patches required for 1709 will come out in 2 dates:
        • Nov 14th (Patch Tuesday KB4051314) will allow you to upgrade from 1703 and older with a VDA already installed, to 1709.
        • ’11D’ patch (last week of November via Microsoft Update Catalogue) will allow you to do a fresh new VDA install on top of 1709.
      • It’s possible that LTSR 7.15 Cumulative Updates will support newer versions of Windows 10.
  9. Install the latest version of hypervisor drivers (e.g. VMware Tools).
    1. If Windows 7 on vSphere, don’t install the VMware SVGA driver. For more details, see Citrix CTX201804 Intermittent Connection Failures/Black Screen Issues When Connecting from Multi-Monitor Client Machines to Windows 7 VDA with VDA 7.x on vSphere/ESXi.
  10. The vSphere Activity Monitoring Feature with NSX Guest Introspection feature uses a TDI driver (vnetflt.sys), which might cause a “Connection Interrupted” message when users log off of Citrix. See VMware 2121307 Windows virtual machines using the vShield Endpoint TDI Manager or NSX Network Introspection Driver (vnetflt.sys) driver fails with a blue diagnostic screen and XenDesktop 7.12 logoff: Connection interrupted at Citrix Discussions.

If vSphere, disable NIC Hotplug

  1. Users could use the systray icon to Eject the Ethernet Controller. Obviously this is bad.
  2. To disable this functionality, power off the virtual machine.
  3. Once powered off, right-click the virtual machine, and click EditSettings.
  4. On the VM Options tab, expand Advanced, and then click Edit Configuration.
  5. On the bottom left, enter devices.hotplug. On the right, enter false. Then click Add.
  6. Then click OK a couple times to close the windows.
  7. The VM can then be powered on.

Windows Preparation

  1. Computer Group Policy – Make sure the Master VM is in the same OU as the Linked Clones so the Master VM will get the computer-level GPO settings in its registry. Run gpupdate on the master after moving the VM to the correct OU. When Clones are created from the Master, the computer-level GPO settings will already be applied, thus eliminating a timing issue.
  2. If RDSH (Server OS), disable IE Enhanced Security Configuration in Server Manager > Local Server.
  3. Optionally, go to Action Center (Windows 8.1 or 2012 R2) or Control Panel >Security and Maintenance (Windows 10/2016) to disable User Account Control, and enable SmartScreen.
    1. In Windows 10 1703 and newer, search the Settings app for Change User Account Control settings.
    2. SmartScreen is configured in Windows Defender Security Center > App & browser control.
  4. Run Windows Update.
  5. Add your Citrix Administrators group to the local Administrators group on the VDA. Computer Management.
  6. The Remote Desktop Services “Prompt for Password” policy prevents Single Sign-on to the Virtual Delivery Agent. Check registry key HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindows NTTerminal Services. If fPromptForPassword = 1 then you need to fix group policy. The following GPO setting will prevent Single Sign-on from working.
    Computer Configuration Policies Administrative Templates Windows Components Remote Desktop Services Remote Desktop Session Host Security Always prompt for password upon connection
    Or set the registry value HKEY_LOCAL_MACHINESOFTWARECitrixPorticaAutoLogon (DWORD) = 0x1. This registry value only applies to Desktop OS, not Server OS. (source = comments)
  7. For Windows 7/2008 R2 VDAs that will use Personal vDisk, or AppDisk, or any other layering technology, install Microsoft hotfix 2614892 A computer stops responding because of a deadlock situation in the Mountmgr.sys driver. This hotfix solved a Personal vDisk Image update issue detailed at Citrix Discussions.
  8. If this VDA is Windows Server 2008 R2, see https://www.carlstalhood.com/windows-server-2008-r2-post-sp1-hotfixes/.
  9. To remove the built-in apps in Windows 10, see Robin Hobo How to remove built-in apps in Windows 10 Enterprise.
  10. For Remote Assistance in Citrix Director, configure the GPO setting Computer Configuration Policies Administrative Templates System Remote Assistance Offer Remote Assistance. See Jason Samuel – How to setup Citrix Director Shadowing with Remote Assistance using Group Policyfor more details.
  11. If you intend to use Citrix’s SCOM Management Packs for XenApp/XenDesktop, make sure WinRM is enabled on the VDA by running winrm quickconfig. Or you can enable WinRM using Group Policy.

Install Virtual Delivery Agent 7.15.4000 LTSR

Citrix periodically releases Cumulative Updates for LTSR versions of VDA. The latest Cumulative Update for 7.15 is CU4 (7.15.4000). Get in the habit of periodically upgrading your LTSR VDAs to the latest Cumulative Update.

Prepare:

  1. For virtual desktops, make sure you are logged into the console. The VDA won’t install if you are connected using RDP.

CLI Install:

Command Line Install Options are detailed at Install using the command line at Citrix Docs.

The Citrix Telemetry Service seems to cause problems. You can use the Command Line Installer to exclude Telemetry Service as detailed at VDA upgrade cmdlet at Citrix Discussions.

Citrix Blog Post Citrix VDA Commandline Helper Tool: a GUI to configure the VDA installation options.

GUI Install:

  1. Mount the downloaded XenDesktop 7.15.4000 LTSR ISO.
  2. Run AutoSelect.exe from the ISO.
    1. Alternatively, you can download the standalone VDA package and run that instead. Go the main XenDesktop 7.15.4000 download page. Expand the section labelled Components that are on the product ISO but also packaged separately to download the Standalone VDA installers. Note: 7.15.4000 also has a VDA installer called Desktop OS Core Services that is designed for Remote PC deployments and is not typically used on virtual machines.
    2. If you want to later install Browser Content Redirection, then you’ll need to install the VDA 7.15 CU4 with HTML5 disabled. You do that by including the /FEATURE_DISABLE_HTML5 command line switch when running XenDesktopVDASetup.exe.
  3. Click Start next to either XenApp or XenDesktop. The only difference is the product name displayed in the installation wizard.
  4. On the top right, click Virtual Delivery Agent for Windows Desktop OS, or Windows Server OS, depending on which type of VDA you are building.
  5. In the Environment page, select Create a Master Image, and click Next.
  6. For virtual desktops, in the HDX 3D Pro page, click Next.
  7. In the Core Components page, if you don’t need Citrix Receiver installed on your VDA, then uncheck the box. Receiver is usually only needed for double-hop connections (connect to first VDA, and then from there, connect to second VDA). Click Next.
  8. In the Additional Components page, uncheck Citrix AppDisk/Personal vDisk. This feature has been deprecated and is being replaced by Citrix App Layering (Unidesk). If you are installing VDA on Windows 10 1709 or newer, then it is critical that you uncheck this. Click Next.
  9. In the Delivery Controller page, select Do it manually. Enter the FQDN of each Controller. Click Test connection. And then make sure you click Add. Click Next when done.
  10. In the Features page, check boxes. Only the top box is checked by default. If you want to use the other features, check the boxes. Then click Next.
  11. In the Firewall page, click Next.
  12. In the Summary page, click Install.
  13. If RDSH, click Close when you are prompted to restart.
  14. After the machine reboots twice, login and installation should continue.
  15. If you see a Locate ‘XenDesktop LTSR CU4’ installation media window:
    1. Don’t click anything.
    2. Mount the XenApp_and_XenDesktop_7_15_4000.iso.
    3. Go back to the Locate ‘XenDesktop LTSR CU3’ installation media window. On the left, click the newly mounted DVD Drive and click Select Folder.
    4. Installation will continue automatically.
  16. Note: NT SERVICECitrixTelemetryService needs permission to login as a service.
  17. In the Call Home page, click Connect, enter your MyCitrix.com credentials, and then click Next.
  18. In the Finish page, click Finish to restart the machine again.
  19. According to CTX225819 When Launching an Application Published from Windows Server 2016, a Black Screen Appears for Several Seconds Before Application is Visible, HKLMSOFTWARECitrixCitrix Virtual Desktop AgentDisableLogonUISuppression (DWORD) should be set to 0.

Browser Content Redirection

Browser Content Redirection (BCR) can optionally be added to VDA 7.15 Cumulative Update 3. This is a back port of the same BCR feature in Citrix Virtual Apps and Desktops (CVAD) 1811.

BCR requires Workspace app and will not work on Receiver, including the LTSR version of Receiver.

To install BCR on VDA 7.15 CU3:

  1. Download Browser Content Redirection 15.15.
  2. If you installed the VDA using AutoSelect.exe, then you’ll need to uninstall the VDA and reinstall it, but this time from the command line.
    1. On the 7.15 Cumulative Update 4 ISO, go to x64XenDesktop Setup and copy the path to the XenDesktopVDASetup.exe file. Copy as path appears when you hold down Shift while right-clicking.
    2. Open a command prompt and paste the path.
    3. At the end of the path, enter /FEATURE_DISABLE_HTML5 and press Enter.
    4. Reinstall the VDA like normal.
  3. After VDA 7.15 CU4 is installed with the HTML5 Feature disabled, run the downloaded BCR_x64.msi. It installs silently and quickly.
  4. To verify it is installed, open Programs and Features (or Apps and Features) and find Citrix Browser Content Redirection version 15.15.0.10.
  5. If you open Services on the VDA, you’ll see the Citrix HDX services.

BCR GPO Admin Templates

7.15 does not have the Citrix Policy settings to control BCR so you’ll instead need to install some GPO ADMX templates.

  1. In the same download page for Browser Content Redirection 15.15, scroll down to find the ADMX Files and then download it.
  2. Extract the .zip file.
  3. Inside the extracted ADMX folder, open the 64bit folder and copy MultimediaGroupPolicy.admx to the clipboard.
  4. Go to your PolicyDefinitions folder (in Sysvol, or C:Windows) and then paste the .admx file.
  5. Back in the extracted ADMX files, go up a folder to the root of the ADMX files and copy MultimediaGroupPolicy.adml to the clipboard.
  6. Go to your PolicyDefinitions folder (in Sysvol, or C:Windows), open the en-US folder, and then paste the .adml file.
  7. When you open a Group Policy that applies to the VDA Computers, in the Computer half of the GPO, under Administrative Templates, you’ll see a new node named HDX Browser Content Redirection. The settings in this folder are the same ones configured in Citrix Policy in newer versions of Citrix Virtual Apps and Desktops (CVAD). See https://www.carlstalhood.com/published-applications/#browsercontentredirection for configuration details.

BCR requires Workspace app and will not work on Receiver, including the LTSR version of Receiver.

Citrix Desktop Helper Service

Citrix Blog Post Augment Your XenDesktop Deployment with the Desktop Helper Service: this installable service adds the following functionality to your VDAs:

  • The “Shutdown Inactive Desktops” feature shuts down a virtual desktop after it has been registered for a configured amount of minutes without a user connection.
  • Delaying the Citrix Desktop Service start by a configurable amount of time allows the desktop to finish performing on-boot tasks before a user is brokered to it.
  • The “Force Group Policy Update” feature forces a group policy update after a configured amount of time.

If these features are desirable, download the tool from the blog post and install it.

For a script similar to Desktop Helper that controls startup of Citrix Desktop Service, see Jeremy Saunders Controlling the Starting of the Citrix Desktop Service (BrokerAgent).

Configurable Registry keys are located at HKEY_LOCAL_MACHINESOFTWARECitrixDesktopHelper. Each value is detailed in the accompanying Word document.

Customer Experience Improvement Program (CEIP)

Customer Experience Improvement Program (CEIP) is enabled by default. To disable it, create the registry value HKEY_LOCAL_MACHINESOFTWARECitrixTelemetryCEIPEnabled (DWORD), and set it to 0 (zero). Also see CEIP at Citrix Insight Services at Citrix Docs.

See https://www.carlstalhood.com/delivery-controller-7-15-ltsr-and-licensing/#ceip for additional places where CEIP is enabled.

Connection Quality Indicator

The Connection Quality Indicator tells the user the quality of the connection. Position of the indicator is configurable by the user. Thresholds are configurable through group policy.

Download it from CTX220774 Connection Quality Indicator and install it. The article is very detailed.

Group Policy templates are located at C:Program Files (x86)CitrixConnection Quality IndicatorConfiguration. Copy the files and folder to <Sysvol>PoliciesPolicyDefinitions, or C:WindowsPolicyDefinitions.

Find the settings under Computer Config Policies Administrative Templates Citrix ComponentsVirtual Desktop AgentCQI

Version 1.2 adds the GPO settings to the user half of a GPO.

Notification display settings lets you customize the user notifications, or disable them.

Connection Threshold Settings lets you set the notification thresholds.

Adaptive Transport

XenApp/XenDesktop 7.15 includes Adaptive Transport, which uses EDT protocol, which uses UDP Ports 1494/2598 for HDX connections to the VDA. The UDP ports should already be open in the Windows Firewall.

Adaptive Transport is disabled by default, but can be enabled in the Citrix Policy setting HDX Adaptive Transport.

Slow Logons

Citrix Discussions Xenapp 7.9: Wait for local session manager: “I have a Xenapp 7.9 environment on Windows 2012 R2. When logging in through Citrix I got message “Wait for local session manager” for 20-30 seconds. When logging in to the server with RDS, I do not have to wait for this.”

“Add the following 2 registry keys to your 7.9 VDA server – then try connecting to it using ICA to see if the issue still occurs:

Add reg keys in “HKLMSOFTWARECitrixGroupPolicy”
Dword: “CacheGpoExpireInHours” – Value = 5-24 (# of Hours) ***start with value of 5***
Dword: “GpoCacheEnabled” – Value = 1

Restart the machine after adding these registry keys and attempt an ICA connection (at least twice) to see if that helps the Login delay.”

Mark DePalma at XenApp slow logon times, user get black screen for 20 seconds at Citrix Discussions says that pushing Tile Refresh to a background task speeds up logons.

  1. Regedit:
  2. UPM Exclusions:

Marvin Neys at XenApp slow logon times, user get black screen for 20 seconds at Citrix Discussions says that deleting HKCUSoftwareMicrosoftWindowsCurrentVersionUFHSHC at logoff reduces logon times from 40 seconds to 6 seconds.

For additional logon delay troubleshooting, see Alexander Ollischer XenApp/XenDesktop – “Please Wait For Local Session Manager” message when logging into RDS. He found some Windows Updates that caused a logon delay.

XenApp recalculates WMI filters on every reconnect. CTX212610 Session Reconnect 30 sec Delay – DisableGPCalculation – WMI Filters indicates that recalculation can be disabled by setting HKEY_LOCAL_MACHINESOFTWARECitrixReconnectDisableGPCalculation (DWORD) to 1.

If your VDA is 2008 R2, then CTX207038 Application not launching and the session is stuck at the PreLogon state: The ‘IgnoreRegUserConfigErrors’ registry setting on the Terminal Server will cause Winlogon to ignore the fact that it cannot contact a DC in the domain of the authenticating user to get the information it is looking for.

  • Key = HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal Server
    • Value (DWORD) = IgnoreRegUserConfigErrors = 1

CTX212439 Desktop Session Stuck in Pre-Logon State with Message “Please wait for the Local Session Manager”:

  • HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsaKerberosParametersMaxTokenSize (DWORD) = 48000
  • Delete HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerRCMGracePeriodL$RTMTIMEBOMB

Controller Registration Port

Some environments will not accept the default port 80 for Virtual Delivery Agent registration, even though registration is authenticated and encrypted on port 80. To change the port, do the following on the Virtual Delivery Agent:

  1. Open Programs and Features. If Windows 10 1703 or newer, open Apps and Features.
  2. Find Citrix 7.15 LTSR CU4 – Virtual Delivery Agent, and click Change or Modify (Windows 10 1703 and newer).
  3. Click Customize Virtual Delivery Agent Settings.
  4. Edit the Delivery Controllers, and click Next.
  5. On the Protocol and Port page, change the port number, and click Next.
  6. In the Summary page, click Reconfigure.
  7. If you see a Call Home page, click Connect, enter mycitrix.com credentials, and then click Next.
  8. In the Finish Reconfiguration page, click Finish to restart the machine.
  9. You must also change the VDA registration port on the Delivery Controllers by running C:Program FilesCitrixBrokerServiceBrokerService.exe -VDAPort
  10. For Local Host Cache, on the Delivery Controller, run C:Program FilesCitrixBrokerServiceHighAvailabilityService.exe –VdaPort <CORRECT PORT #>. (Source = CTX229493 VDAs Do Not Register in LHC Mode When Registration Port is Not Set To Default)

Verify that VDA registered with a Controller

  1. If you restart the Virtual Delivery Agent machine, or restart the Citrix Desktop Service
  2. In Windows Logs > Application log, you should see an event 1012 from Citrix Desktop Service saying that it successfully registered with a controller.
  3. If you don’t see successful registration, then you’ll need to fix the ListOfDDCs registry key.
    1. See VDA registration with Controllers at Citrix Docs.
    2. See The Most Common VDA Registration Issues & Troubleshooting Steps at Citrix Blogs.
  4. You can also run Citrix’s Health Assistant on the VDA.
  5. See CTX220772 Technical Primer: VDA Registration for a very detailed explanation of the VDA Registration process.

Citrix Receiver 4.9.7000 💡

If you want to run Receiver on the VDA machine, then upgrade it to Receiver 4.9.7000.

VDA 7.15.4000 includes Receiver 4.9.6000. Citrix released Receiver 4.9.6001, which resolved a security vulnerability. Then Citrix released Receiver 4.9.7000.

  1. Download Citrix Receiver 4.9.7000.
  2. On the VDA, as administrator, run the downloaded CitrixReceiver.exe.
  3. In the Welcome to Citrix Receiver page, click Start.
  4. In the License Agreement page, check the box next to I accept the license agreement, and click Next.
  5. In the Enable Single Sign-on page, check the box next to Enable single sign-on, and click Install.
  6. In the Installation successful page, click Finish.
  7. Click Yes when asked to restart now.
  8. Programs and Features shows Citrix Receiver 4.9 LTSR with version 14.9.7000.11.
  9. For Receiver configuration instructions, see the Workspace app article.

Citrix PDF Printer 7.11.0 for Receiver for HTML5/Chrome

  1. To allow printing from Receiver for HTML5/Chrome, install Citrix PDF Printer. Get it from the Receiver for HTML5 download page in the Additional Components section. Note: this PDF Printer is only used by Receiver for HTML5 and Receiver for Chrome.
  2. Go to the extracted CitrixPDFPrinter_7.11.0 and run CitrixPDFPrinter64.msi.
  3. In the Please read the Citrix PDF printer License Agreement page, check the box next to I accept the terms, and click Install.
  4. In the Completed the Citrix PDF Universal Driver Setup Wizard page, click Finish.
  5. In Programs and Features (or Apps & Features), it is shown as version 7.11.0.11.
  6. Configure a Citrix Policy to enable the PDF printer. The setting is called Auto-create PDF Universal Printer in the user half of a Citrix Policy GPO.

Citrix File Access 2.0.3 for Receiver for Chrome

  1. If you support Receiver for Chrome (Chromebook) and want to open files on Google Drive using published applications, install Citrix File Access on the VDAs. Get it from the Receiver for Chrome download page, in the Additional Components section.
  2. Go to the extracted Citrix_File_Access_2.0.3, and run FileAccess.msi.
  3. In the Please read the File Access License Agreement page, check the box next to I accept the terms, and click Install.
  4. In the Completed the File Access Setup Wizard page, click Finish.
  5. File Access is listed in Programs and Features (or Apps & Features) as version 2.0.3.33.
  6. File Access has a default list of supported file extensions. The list can be expanded by editing the registry on the VDA. See CTX219983 Receiver for Chrome Error: Invalid command line arguments: Unable to open the file as it has an unsupported extension.
  7. To open a file from Google Drive, right-click and and open the file using Citrix Receiver.

Framehawk Configuration

To enable Framehawk, see https://www.carlstalhood.com/citrix-policy-settings/#framehawkconfig

Remote Desktop Licensing Configuration

On 2012 R2 and newer RDSH, the only way to configure Remote Desktop Licensing is using group policy (local or domain). This procedure also works for 2008 R2 RDSH. This procedure is not needed on virtual desktops.

  1. For local group policy, run gpedit.msc. Alternatively, you can configure this in a domain GPO.
  2. Go to Computer Configuration > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Licensing.
  3. Double-click Use the specified Remote Desktop license servers. Change it to Enabled, and enter the names of the RDS Licensing Servers (typically installed on XenDesktop Controllers). Click OK.
  4. Double-click Set the Remote Desktop licensing mode. Change it to Enabled and select Per User. Click OK.
  5. Optionally, you can install the Remote Desktop Licensing Diagnoser Tool. In the Server Manager > Add Roles and Features Wizard, on the Features page, expand Remote Server Administration Tools, expand Role Administration Tools, expand Remote Desktop Services Tools, and select Remote Desktop Licensing Diagnoser Tool. Then Finish the wizard.
  6. If it won’t install from Server Manager, you can install it from PowerShell by running Install-WindowsFeature rsat-rds-licensing-diagnosis-ui.
  7. In Server Manager, open the Tools menu, expand Remote Desktop Services (or Terminal Services), and click Remote Desktop Licensing Diagnoser.
  8. The Diagnoser should find the license server, and indicate the licensing mode. If you’re configured for Per User licenses, then it’s OK if there are no licenses installed on the Remote Desktop License Server.

Several people in Citrix Discussions reported the following issue: If you see a message about RD Licensing Grace Period has expired even though RD Licensing is properly configured, see Eric Verdumen No remote Desktop Licence Server availible on RD Session Host server 2012. The solution was to delete the REG_BINARY in HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerRCMGracePeriod only leaving the default. You must take ownership and give admin users full control to be able to delete this value.

C: Drive Permissions

This section is more important for shared VDAs like RDSH (Windows Server 2008 R2, Windows Server 2012 R2, and Windows Server 2016).

The default permissions allow users to store files on the C: drive in places other than their profile.

  1. Open the Properties dialog box for C:.
  2. On the Security tab, click Advanced.
  3. If UAC is enabled, click Change permissions.
  4. Highlight the line containing Users and Create Folders, and click Remove.
  5. Highlight the line containing Users and Create files (or Special), and click Remove. Click OK.
  6. Click Yes to confirm the permissions change.
  7. If you see any of these Error Applying Security windows, click Continue. This window should appear multiple times.
  8. Click OK to close the C: drive properties.

Pagefile

If this image will be converted to a Provisioning Services vDisk, then you must ensure the pagefile is smaller than the cache disk. For example, if you allocate 20 GB of RAM to your Remote Desktop Session Host, and if the cache disk is only 15 GB, then Windows will have a default pagefile size of 20 GB, and Provisioning Services will be unable to move it to the cache disk. This causes Provisioning Services to cache to server instead of caching to your local cache disk (or RAM).

  1. Open System. In 2012 R2 and newer, you can right-click the Start button, and click System. Note: in Windows 10 1703 and newer, this method no longer opens the correct tool.
  2. Another option is to open File Explorer, right-click This PC, and click Properties. This works in Windows 10 1703.
  3. Click Advanced system settings.
  4. On the Advanced tab, click the top Settings button.
  5. On the Advanced tab, click Change.
  6. Uncheck the box next to Automatically manage paging file size for all drives. Then either turn off the pagefile, or set the pagefile to be smaller than the cache disk. Don’t leave it set to System managed size. Click OK several times.

Direct Access Users

When Citrix Virtual Delivery Agent is installed on a machine, non-administrators can no longer RDP to the machine. A new local group called Direct Access Users is created on each Virtual Delivery Agent. Add your non-administrator RDP users to this local group so they can RDP directly to the machine.

From CTX228128 What is the HKLMSoftwareCitrixPortICADirectAccessUsers registry function: The HKLMSoftwareCitrixPortICADirectAccessUsers registry key determines which Local group the VDA references to determine if a user should be allowed Unbrokered RDP access. Members of the Local Administrators group will always be granted access. If the Registry Key does not exist, or gets deleted, VDA will always allow the Unbrokered RDP Connection. The Registry key and local group are created as part of the VDA installation process.

Windows Profiles v3/v4/v5/v6

Roaming Profiles are compatible only between the following client and server operating system pairs. The profile version is also listed.

  • v6 = Windows 10 (1607 and 1703) and Windows Server 2016
  • v5 = Windows 10 (1511 and older)
  • v4 = Windows 8.1 and Windows Server 2012 R2
  • v3 = Windows 8 and Windows Server 2012
  • v2 = Windows 7 and Windows Server 2008 R2
  • v2 = Windows Vista and Windows Server 2008

For Windows 2012 R2, install Microsoft hotfix 2890783, and set the UseProfilePathExtensionVersion registry value to 1.

CTX230343 Reset Profile Options Is Greyed Out In Citrix Director states that the UseProfilePathExtensionVersion registry value is required on Windows 2012 R2 to enable Director users to reset profiles.

Registry

Black Screen when launch Published Apps on Windows Server 2016

From CTX225819 When Launching an Application Published from Windows Server 2016, a Black Screen Appears for Several Seconds Before Application is Visible: Citrix and Microsoft have worked together together to deliver code fixes for both Windows Server 2016 and XenApp. Microsoft is targeting their KB4034661 patch for the third week of August 2017. This fix requires a registry edit to enable.

  • Key = HKLMSOFTWARECitrixCitrix Virtual Desktop Agent
    • Value (DWORD) = DisableLogonUISuppression = 0

Published Explorer

From Citrix CTX128009 Explorer.exe Fails to Launch: When publishing the seamless explorer.exe application, the session initially begins to connect as expected. After the loading, the dialog box disappears, and the Explorer application fails to appear. On the VDA, use the following registry change to set the length of time a client session waits before disconnecting the session:

  • Key = HKLMSYSTEMCurrentControlSetControlCitrixwfshellTWI
    • Value (DWORD) = LogoffCheckerStartupDelayInSeconds = 10 (Hexadecimal)

Blank Start Menu Icons

With VDA 7.15 Update 1, the icons on the Start Menu of Windows 2012 R2 and Windows 2016 are sometimes blank.

To workaround this issue, use Group Policy Preferences to set the following registry value at every logon:

  • Key = HKCUSoftwareMicrosoftWindowsCurrentVersionImmersiveShellStateStore
    • Value (DWORD) = ResetCache = 1

Screen Saver

From Citrix CTX205214 Screensaver Not Working in XenDesktop: By default, Screen Saver doesn’t work on Desktop OS. To enable it, on the VDA, configure the following registry value:

  • Key = HKEY_LOCAL_MACHINESOFTWARECitrixGraphics
    • Value (DWORD) = SetDisplayRequiredMode = 0

Smart Card

From CTX231942 Windows 10 April 2018 Update (v1803) – Citrix Known Issues – Smart Card Service (SCardSvr) will run only if a Smart Card reader is connected. As ICA sessions redirect the Smart Card, it finds the service not to be running and fails. 💡

  • Key = HKEY_LOCAL_MACHINESoftwareWOW6432NodeMicrosoftCryptographyCalais
    • Value (DWORD) = AllowServiceAccessWithNoReaders = 1

Logon Disclaimer Window Size

From XenApp 7.8 – Session Launch Security/Warning Login Banner at Citrix Discussions: If your logon disclaimer window has scroll bars, set the following registry values:

  • Key = HKEY_LOCAL_MACHINESoftwareWow6432nodeCitrixCtxHookAppInit_DLLSMultiple Monitor Hook
    • Value (DWORD) = LogonUIWidth = 300
    • Value (DWORD) = LogonUIHeight = 200

Login Timeout

From Citrix CTX203760 VDI Session Launches Then Disappears: XenDesktop, by default, only allows 180 seconds to complete a logon operation. The timeout can be increased by setting the following:

  • Key = HKLMSOFTWARECitrixPortICA
    • Value (DWORD) = AutoLogonTimeout = decimal 240 or higher (up to 3599).

Also see Citrix Discussions Machines in “Registered” State, but VM closes after “Welcome” screen.

From Citrix CTX138404 Application Connection Starts but Disappears after Timeout: after loading the application, the dialog box disappears and the application fails to appear.

  • Key = HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCitrixwfshellTWI
    • Value (DWORD) =ApplicationLaunchWaitTimeoutMS = decimal 60000

HDX Flash

From Citrix Knowledgebase article CTX139939 – Microsoft Internet Explorer 11 – Citrix Known Issues: The registry key value IEBrowserMaximumMajorVersion is queried by the HDX Flash service to check for maximum Internet Explorer version that HDX Flash supports. For Flash Redirection to work with Internet Explorer 11 set the registry key value IEBrowserMaximumMajorVersion to 11 on the machine where HDX flash service is running. In case of XenDesktop it would be the machine where VDA is installed.

  • Key = HKLMSOFTWAREWow6432NodeCitrixHdxMediaStreamForFlashServerPseudoServer
    • Value (DWORD) = IEBrowserMaximumMajorVersion = 11 (Decimal)

From Citrix Discussions: Add the DWORD FlashPlayerVersionComparisonMask=0 on the VDA under HKLMSoftwareWow6432NodeCitrixHdxMediaStreamForFlashServerPseudoServer. This disables the Flash major version checking between the VDA and Client Device.

Receiver for HTML5/Chrome Enhanced Clipboard

From About Citrix Receiver for Chrome 1.9 at Citrix Docs: To enable enhanced clipboard support, create a REG_SZ registry value HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCitrixwfshellVirtual ClipboardAdditional FormatsHTML FormatName=”HTML Format”. Create any missing registry keys. This applies to both virtual desktops and Remote Desktop Session Hosts.

Receiver for HTML5/Chrome Upload Folder

The Receiver for HTML5 (or Chrome) lets upload files.

By default, the user is prompted to select a upload location. If you use the Upload feature multiple times, the last selected folder is not remembered.

Citrix CTX217351 How to Customize File Upload and Download Using Receiver for HTML5 and Receiver for Chrome. You can specify a default uploads location by editing HKLMSoftwareCitrixFileTransferUploadFolderLocation on the VDA. Environment variables are supported. When this value is configured, users are no longer prompted to select an upload location. The change takes effect at next logon.

Note: HTML5/Chrome Receiver also adds a Save to My Device location to facilitate downloads.

4K Monitors

Citrix 7.15 Server 2016 High Memory Usage List

From Citrix Knowledgebase article CTX218217 Unable to span across multiple monitors after upgrade to 7.11 VDA, Black/Blank screen appears on the monitors while connecting to ICA session: .

  1. For VDA 7.11 and newer, calculate the video memory that is required for monitors using the following formula:
    SumOfAllMons (Width * Height) * 4 / 0.3, where width and height are resolution of the monitor. Note: There is no hard and fast rule that will work for all cases.
    Example: Consider the resolution of monitor 1 is 1920*1200 and monitor 2 is 1366*768. Then SumOfAllMons will be (1920*1200 + 1366*768)
  2. CTX115637 Citrix Session Graphics Memory Reference describes how multi-monitor resolution is determined.
  3. Open the registry (regedit) and navigate to: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesvbdenum
  4. Increase the value of “MaxVideoMemoryBytes” REG_DWORD value to the above calculated memory.
  5. Reboot the VDA.

Citrix Policies also control graphics performance.

COM Port Threads

CTX212090 COM Port Intermittently Inaccessible During ICA Sessions: increase the default value of “MaxThreads” under the registry key HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicespicaserParameters from 20 to a value greater than the number of COM port connections you want to support. For example, if a XenApp server supports 100 sessions and each session opens two COM ports, the value of “MaxThreads” should be greater than 200.

NVIDIA GRID License

Allow NVIDIA GRID License to apply after the session is started. (Source = Jan Hendrik Meier NVIDIA GRID license not applied before the user connects – License Restriction will not be removed until the user reconnects)

  • Key = HKLMSOFTWARENVIDIA CorporationGlobalGridLicensing
    • Value (DWORD) = IgnoreSP = 1

Legacy Client Drive Mapping

Citrix CTX127968 How to Enable Legacy Client Drive Mapping Format on XenApp: Citrix Client Drive Mapping no longer uses drive letters and instead they appear as local disks. This is similar to RDP drive mapping.

The old drive letter method can be enabled by setting the registry value:

  • Key = HKEY_LOCAL_MACHINESOFTWARECitrixUncLinks (create the key)
    • Value (DWORD) = UNCEnabled = 0

When you reconnect, the client drives will be mapped as drive letters (starts with V: and goes backwards).

Print Driver for Non-Windows Clients

This section applies to Windows 8.1/2012 and newer VDAs.

From CTX140208 Client printing from Mac and Linux clients on Windows 10, Server 2012 R2, and Server 2016. By default, Non-Windows clients cannot map printers due to a missing print driver on the VDA machine.

  1. Requirements:
    • Internet Access
    • Windows Update service enabled
  2. In Windows 10 1803+, open Printers & scanners. On the right (or scroll down) is a link to Print Server Properties.
  3. In older versions of Windows, you can get to Print server properties from Devices and Printers.
    1. In Windows prior to Windows 10 1703, click Start, and run Devices and Printers.
    2. In Windows 10 1703, open Printers & scanners, then scroll down, and click Devices and printers.
    3. In the Printers section, highlight a local printer (e.g. Microsoft XPS Document Writer). Then in the toolbar, click Print server properties.
  4. In the Print Server Properties window, switch to the Drivers tab. Click Change Driver Settings.
  5. Then click Add.
  6. In the Welcome to the Add Printer Driver Wizard page, click Next.
  7. In the Processor Selection page, click Next.
  8. In the Printer Driver Selection page, click Windows Update. The driver we need won’t be in the list until you click this button. Internet access is required.
  9. Once Windows Update is complete, highlight HP on the left, and then select HP Color LaserJet 2800 Series PS (Microsoft) on the right. Click Next.
  10. In the Completing the Add Printer Driver Wizard page, click Finish.

SSL for VDA

If you intend to use HTML5 Receiver internally, install certificates on the VDAs so the WebSockets (and ICA) connection will be encrypted. Internal HTML5 Receivers will not accept clear text WebSockets. External users don’t have this problem since they are SSL-proxied through NetScaler Gateway. Notes:

  • Each Virtual Delivery Agent needs a machine certificate that matches the machine name. This is feasible for a small number of persistent VDAs. For non-persistent VDAs, you’ll need some automatic means for creating machine certificates every time they reboot.
  • As detailed in the following procedure, use PowerShell on the Controller to enable SSL for the Delivery Group. This forces SSL for every VDA in the Delivery Group, which means every VDA in the Delivery Group must have SSL certificates installed.

The following instructions for manually enabling SSL on VDA can be found at Configure TLS on a VDA using the PowerShell script at Citrix Docs.

  1. On the VDA machine, run mmc.exe.
  2. Add the Certificates snap-in.
  3. Point it to Local Computer.
  4. Request a certificate from your internal Certificate Authority. You can use either the Computer template or the Web Server template.
    1. You can also use group policy to enable Certificate Auto-Enrollment for the VDA computers.
  5. Browse to the XenApp/XenDesktop 7.15.4000 LTSR ISO. In the SupportToolsSslSupport folder, shift+right-click the Enable-VdaSSL.ps1 script, and click Copy as path.
  6. Run PowerShell as administrator (elevated).
  7. Run the command Set-ExecutionPolicy unrestricted. Enter Y to approve.
  8. In the PowerShell prompt, type in an ampersand (&), and a space.
  9. Right-click the PowerShell prompt to paste in the path copied earlier.
  10. At the end of the path, type in -Enable
  11. If there’s only one certificate on this machine, press Enter.
  12. If there are multiple certificates, you’ll need to specify the thumbprint of the certificate you want to use. Open the Certificates snap-in, open the properties of the machine certificate you want to use, and copy the Thumbprint from the Details tab.
    In the PowerShell prompt, at the end of the command, enter ‑CertificateThumbPrint, add a space, and type quotes (').
    Right-click the PowerShell prompt to paste the thumbprint.
    Type quotes (') at the end of the thumbprint. Then remove all spaces from the thumbprint. The thumbprint needs to be wrapped in quotes.
  13. If this VDA machine has a different service already listening on 443 (e.g. IIS), then the VDA needs to use a different port for SSL connections. At the end of the command in the PowerShell prompt, enter -SSLPort 444 or any other unused port.
  14. There are additional switches to specify minimum SSL Version and Cipher Suites. Also see Citrix CTX226049 Disabling Triple DES on the VDA breaks the VDA SSL connection.
  15. Press <Enter> to run the Enable-VdaSSL.ps1 script.
  16. Press <Y> twice to configure the ACLs and Firewall.
  17. You might have to reboot before the settings take effect.
  18. Login to a Controller, and run PowerShell as Administrator (elevated).
  19. Run the command asnp Citrix.*
  20. Enter the command:

    where <delivery-group-name> is the name of the Delivery Group containing the VDAs.

  21. You can run Get-BrokerAccessPolicyRule -DesktopGroupName '<delivery-group-name>' to verify that HDX SSL is enabled.
  22. Also run the following command:

You should now be able to connect to the VDA using the HTML5 Receiver from internal machines.

The Citrix blog post How To Secure ICA Connections in XenApp and XenDesktop 7.6 using SSL has a method for automatically provisioning certificates for pooled virtual desktops by enabling certificate auto-enrollment and setting up a task that runs after the certificate has been enrolled.

  • From Russ Hargrove at A note on VDA certificates in 7.14 at Citrix Discussions: Citrix installs a new “Citrix XenApp/XenDesktop HDX Service” certificate in the Personal store which breaks the automation of the Enable-VdaSSL.ps1 script. To fix the problem, modify the task scheduler powershell script to:
  • For certificate auto-enrollment on non-persistent Remote Desktop Session Hosts (aka Server OS VDAs), see Non-Persistent Server SSL to VDA by Alfredo Magallon Arbizu at CUGC.

Anonymous Accounts

If you intend to publish apps anonymously then follow this section.

  1. Anonymous accounts are created locally on the VDAs. When XenDesktop creates Anon accounts it gives them an idle time as specified at HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCitrixAnonymousUserIdleTime. The default is 10 minutes. Adjust as desired.
  2. Pre-create the Anon accounts on the VDA by running 'C:Program FilesCitrixICAConfigToolCreateAnonymousUsersApp.exe'. If you don’t run this tool, then anonymous users can’t login.
  3. You can see the local Anon accounts by opening Computer Management, expanding System Tools, expanding Local Users and Groups and clicking Users.
  4. If you want profiles for anonymous users to delete at logoff, then you’ll need to add the local Anon users to the local Guests group.
  5. If you open one of the accounts, on the Sessions tab, notice that idle timeout defaults to 10 minutes. Feel free to change it.

Windows Server 2016

Group Policy for Anonymous Users

Since Anonymous users are local accounts on each Virtual Delivery Agent, domain-based GPOs will not apply. To work around this limitation, you’ll need to edit the local group policy on each Virtual Delivery Agent.

  1. On the Virtual Delivery Agent, run mmc.exe.
  2. Open the File menu, and click Add/Remove Snap-in.
  3. Highlight Group Policy Object Editor, and click Add to move it to the right.
  4. In the Welcome to the Group Policy Wizard page, click Browse.
  5. On the Users tab, select Non-Administrators.
  6. Click Finish.
  7. Now you can configure group policy to lockdown sessions for anonymous users. Since this is a local group policy, you’ll need to repeat the group policy configuration on every Virtual Delivery Agent image. Also, Group Policy Preferences is not available in local group policy.

Antivirus

Install antivirus using your normal procedure. Instructions vary for each Antivirus product.

Microsoft’s virus scanning recommendations (e.g. exclude group policy files) – http://support.microsoft.com/kb/822158.

Citrix’s Recommended Antivirus Exclusions

Citrix Tech Zone Endpoint Security and Antivirus Best Practices: provides guidelines for configuring antivirus software in Citrix Virtual Apps and Desktops environments

Citrix Blog Post Citrix Recommended Antivirus Exclusions: the goal here is to provide you with a consolidated list of recommended antivirus exclusions for your Citrix virtualization environment focused on the key processes, folders, and files that we have seen cause issues in the field:

  • Set real-time scanning to scan local drives only and not network drives
  • Disable scan on boot
  • Remove any unnecessary antivirus related entries from the Run key
  • Exclude the pagefile(s) from being scanned
  • Exclude Windows event logs from being scanned
  • Exclude IIS log files from being scanned

See the Blog Post for exclusions for each Citrix component/product including: StoreFront, VDA, Controller, and Provisioning Services. The Blog Post also has links to additional KB articles on antivirus.

Symantec

Symantec links:

  • Symantec TECH91070 Citrix and terminal server best practices for Endpoint Protection.
  • Symantec TECH197344 Best practices for virtualization with Symantec Endpoint Protection 12.1.2 and later
  • Symantec TECH180229 Symantec Endpoint Protection 12.1 – Non-persistent Virtualization Best Practices
  • Symantec TECH123419 How to prepare Symantec Endpoint Protection clients on virtual disks for use with Citrix Provisioning Server has a script that automates changing the MAC address registered with Symantec.
  • Citrix Blog Post How to prepare a Citrix Provisioning Services Target Device for Symantec Endpoint Protection
  • If profiles are deleted on logoff, set Symantec registry value CloseUserLogFile to 1. Symantec TECH210170 Citrix user sessions are held open by ccSvcHst.exe during log off

Trend Micro

Trend Micro Slow login on Citrix environment after installing OfficeScan (OSCE): The following registries can be used to troubleshoot the issue. These registries will allow a delay on the startup procedure of OSCE until the system has launched successfully. This avoids deadlock situations during login.

Citrix CTX136680 – Slow Server Performance After Trend Micro Installation. Citrix session hosts experience slow response and performance more noticeable while users try to log in to the servers. At some point the performance of the servers is affected, resulting in issues with users logging on and requiring the server to be restarted. This issue is more noticeable on mid to large session host infrastructures.

Trend Micro has provided a registry fix for this type of issue. Create the following registry on all the affected servers. Add new DWORD Value as:

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTmFilterParameters] “DisableCtProcCheck”=dword:00000001

Trend Micro Links:

  • Trend Micro Docs – Trend Micro Virtual Desktop Support
  • Trend Micro Docs – VDI Pre-Scan Template Generation Tool
  • Trend Micro 1055260 – Best practice for setting up Virtual Desktop Infrastructure (VDI) in OfficeScan
  • Trend Micro 1056376 – Frequently Asked Questions (FAQs) about Virtual Desktop Infrastructure/Support In OfficeScan

Sophos

Best Practice for running Sophos on virtual systems: we’ve amassed the following practical information about how you can optimize our software to work with this technology.

Sophos Anti-Virus for Windows XP+: Installation and configuration considerations for Sophos Anti-Virus on a Remote Desktop Services server: It maybe desirable to disable the Sophos AutoUpdate shield icon

Sophos Anti-Virus for Windows 2000+: incorporating current versions in a disk image, including for use with cloned virtual machines: This procedure will make sure that the produced target/cloned computers:

  • Get their distinct identity with Enterprise Console, under which they can be subsequently managed.
  • Have the desired version of Sophos Anti-Virus already installed and configured on the created image.

Windows Defender Antivirus

Deployment guide for Windows Defender Antivirus in a virtual desktop infrastructure (VDI) environment

Cylance

CTX232722 Unable to launch application with Cylance Memory Protection Enabled. Cylance must be run in compatibility mode in order to the VDA and Cylance to run on the same machine. See the article for detailed instructions.

Optimize Performance

VDA Optimizer

Installation of the VDA might have already done this but there’s no harm in doing it again. This tool is only available if you installed VDA in Master Image mode.

  1. On the master VDA, go to C:Program FilesCitrixPvsVmTargetOSOptimizer, and run TargetOSOptimizer.exe.
  2. Then click OK. Notice that it disables Windows Update.
  3. See CTX125874 How to Optimize XenDesktop Machines for the list of registry values changed by the TargetOSOptimizer tool. You can use Group Policy Preferences to set these values.

Windows 10 / Windows 2012 R2 / Windows 2016 and newer

  • Download Citrix Optimizer and run it. Select a template (or download one from the Marketplace). Then click Optimize. For virtual desktops, Eltjo van Gulik at Citrix Optimizer version 2 – Windows 10 1809 shows a 17% increased VSIMax score after optimizing.
    • To roll back Citrix Optimizer, see Citrix Blog Post Citrix Optimizer: How to Roll Back Changes
  • VMware OS Optimization Tool. See VMware Windows Operating System Optimization Tool Guide Technical Paper for details on this tool. This tool has templates for Windows 10/2016, plus templates for older versions of Windows.
    • Note: this tool might uninstall Windows Search. See CTA Saadallah Chebaros Windows 10 Search Indexing Not Working After VMware OS Optimization tool for a fix.
  • Citrix Daniel Feller links:
    • Optimize Vdi: Windows 10 Scheduled Tasks (Original, Anniversary And Creator Updates) contains a list of Scheduled Tasks that can be disabled.
    • Optimize VDI: Windows 10 Default Apps (Original, Anniversary And Creator Updates) lists the built-in UWP apps that should be removed.
    • Optimize Vdi: Windows 10 User Interface And Runtime (Original, Anniversary And Creator Updates) contains registry keys to improve Windows 10 performance.
  • James Rankin Improving Windows 10 logon time:
    • Removing UWP apps on Windows 10 1803 – the easy way! – YouTube video
      Get-AppxProvisionedPackage -online Out-GridView -passthru Remove-AppxProvisionedPackage -online
    • Use Remove-AppXProvisionedPackage to remove Modern apps. See the article for a list of apps to remove. Also see James Rankin Everything you wanted to know about virtualizing, optimizing and managing Windows 10…but were afraid to ask – part #3: MODERN APPS
    • Import a Standard Start Tiles layout (Export-StartLayout)
    • Create a template user profile
  • David Wilkinson links:
    • Citrix XenDesktop and Windows 10 Optimisation Script – “Optimise Windows 10 in XenDesktop based environment as per citrix optimisation recommendations/Various blogs and my own experience in running citrix environments.”
    • Citrix XenApp and Windows Server 2016 – Optimisation Script – “Optimise Windows Server 2016 in XenApp/RDS based environment as per citrix optimisation Guide in 2008 R2/Various blogs and my own experience in running citrix environments.”
  • Citrix Links:
    • Citrix’s Windows 10 Optimization Guide – remove built-in apps, delete Scheduled Tasks, disable services, etc.
    • CTX232313 Citrix Provisioning Services: Slow Login Performance with Windows 10 VDA Machines says that if you removed all Store apps, then the Network Location Awareness Service can be disabled. 💡
      • Or enable the local group policy setting Computer Configuration Administrative Templates NetworkNetwork IsolationSubnet definitions are authoritative.
    • Citrix’s Windows 8 and 8.1 Virtual Desktop Optimization Guide contains the following:
      • A list of services to disable
      • A list of computer settings
      • A list of scheduled tasks to disable
      • A script to do all of the above
  • Microsoft links:
    • Microsoft Docs Optimizing Windows 10, version 1803, for a Virtual Desktop Infrastructure (VDI) role
    • Microsoft Docs Recommended settings for VDI desktops contains a list of settings with their Default Value and Recommended value for VDI use.
    • Microsoft TechNet Blog Guidance on Disabling System Services on Windows Server 2016 with Desktop Experience contains a spreadsheet with a list of services categorized as follows:
    • Carl Luberti (Microsoft) Windows 10 VDI Optimization Script
    • Microsoft’s Windows 8 VDI optimization script.

Optimization Notes:

  • If this machine is provisioned using Provisioning Services, do not disable the Shadow Copy services.
  • Windows 8 detects VDI and automatically disables SuperFetch. No need to disable it yourself.
  • Windows 8 automatically disables RSS and TaskOffload if not supported by the NIC.
  • Citrix CTX213540 Unable To View Printers In Devices And Printers Win 2012 R2 – don’t disable the Device Setup Manager Service
  • Citrix CTX131995 User Cannot Launch Application in Seamless Mode in a Provisioning Services Server when XenApp Optimization Best Practices are Applied. Do not enable NtfsDisable8dot3NameCreation.

RDSH 2008 R2

Citrix CTX131577 XenApp 6.x (Windows 2008 R2) – Optimization Guide is a document with several registry modifications that are supposed to improve server performance. Ignore the XenApp 6 content and instead focus on the Windows content.

Norskale has Windows 2008 R2 Remote Desktop and XenApp 6 Tuning Tips Update.

Windows 7

Microsoft has compiled a list of links to various optimization guides. It’s a common practice to optimize a Windows 7 virtual machine (VM) template (or image) specifically for VDI use. Usually such customizations include the following.

  • Minimize the footprint, e.g. disable some features and services that are not required when the OS is used in “stateless” or “non-persistent” fashion. This is especially true for disk-intensive workloads since disk I/O is a common bottleneck for VDI deployment. (Especially if there are multiple VMs with the same I/O patterns that are timely aligned).
  • Lock down user interface (e.g. optimize for specific task workers).

With that said the certain practices are quite debatable and vary between actual real-world deployments. Exact choices whether to disable this or that particular component depend on customer requirements and VDI usage patterns. E.g. in personalized virtual desktop scenario there’s much less things to disable since the machine is not completely “stateless”. Some customers rely heavily on particular UI functions and other can relatively easily trade them off for the sake of performance or standardization (thus enhance supportability and potentially security). This is one of the primary reasons why Microsoft doesn’t publish any “VDI Tuning” guide officially.

Though there are a number of such papers and even tools published either by the community or third parties. This Wiki page is aimed to serve as a consolidated and comprehensive list of such resources.

Daniel Ruiz XenDesktop Windows 7 Optimization and GPO’s Settings

Microsoft Whitepaper Performance Optimization Guidelines for Windows 7 Desktop Virtualization

Seal and Shut Down

If this VDA will be a master image in a Machine Creation Services or Provisioning Services catalog, after the master is fully prepared (including applications), do the following:

  1. Go to the properties of the C: drive, and run Disk Cleanup.
  2. If Disk Cleanup is missing, you can run cleanmgr.exe instead.
  3. Windows 10 1703 and newer has a new method for cleaning up temporary files.
    1. Right-click the Start button, and click System.
    2. Click Storage on the left, and click This PC (C:) on the right.
    3. Click Temporary Files.
    4. Check boxes, and click Remove files.
  4. On the Tools tab, click Optimize to defrag the drive.
    `
  5. Run slmgr.vbs /dlv and make sure it is licensed with KMS and has at least one rearm remaining. It is not necessary to manually rearm licensing. XenDesktop will do it automatically.
  6. Run Delprof2 to clean up local profiles. Get it from http://helgeklein.com/download/.
  7. Machine Creation Services and Provisioning Services require DHCP.
  8. Session hosts (RDSH) commonly have DHCP reservations.
  9. Base Image Script Framework (BIS-F) automates many sealing tasks. The script is configurable using Group Policy.
  10. Shut down the master image. You can now use Studio (Machine Creation Services) or Provisioning Services to create a catalog of linked clones.

Troubleshooting – Graphics

If Windows 7 on vSphere, don’t install the VMware SVGA driver. For more details, see CTX201804 Intermittent Connection Failures/Black Screen Issues When Connecting from Multi-Monitor Client Machines to Windows 7 VDA with VDA 7.x on vSphere/ESXi.

For Citrix Policies that control graphics codecs, see https://www.carlstalhood.com/citrix-policy-settings/#graphics

Citrix Blog post – Optimising the performance of HDX 3D Pro – Lessons from the field

From Citrix Knowledgebase article CTX218217 Unable to span across multiple monitors after upgrade to 7.11 VDA, Black/Blank screen appears on the monitors while connecting to ICA session:

  1. For VDA 7.11 and newer, calculate the video memory that is required for monitors using the following formula :
    SumOfAllMons (Width * Height) * 4 / 0.3, where width and height are resolution of the monitor. Note: There is no hard and fast rule that will work for all cases.
    Example: Consider the resolution of monitor 1 is 1920*1200 and monitor 2 is 1366*768. Then SumOfAllMons will be (1920*1200 + 1366*768)
  2. CTX115637 Citrix Session Graphics Memory Reference describes how multi-monitor resolution is determined.
  3. Open the registry (regedit) and navigate to:
    HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesvbdenum
  4. Increase the value of “MaxVideoMemoryBytes” REG_DWORD value to the above calculated memory.
  5. Reboot the VDA

From Citrix Discussions: To exclude applications from Citrix 3D rendering, create a REG_DWORD registry value “app.exe” with value 0 or a registry value “*” with value 0.

  • XD 7.1 and XD 7.5:
    • x86: reg add hklmsoftwarecitrixvd3dcompatibility /v * /t REG_DWORD /f /d 0
    • x64: reg add hklmsoftwareWow6432Nodecitrixvd3dcompatibility /v * /t REG_DWORD /f /d 0
  • XD 7.6/7.7/7.8/7.9/7.11 both x86 and x64:
    • reg add hklmsoftwarecitrixvd3dcompatibility /v * /t REG_DWORD /f /d 0

Wildcards are not supported. The asterisk * here has a special meaning “all apps” but is not a traditional wildcard. To blacklist multiple apps e.g. both appa.exe and appb.exe must be done by creating a registry value for each app individually.

This is most problematic in Remote PC since most physical PCs have GPUs. I recently had to blacklist Internet Explorer to prevent lockup issues when switching back to physical.

Uninstall VDA

Uninstall the VDA from Programs and Features.

Then see CTX209255 VDA Cleanup Utility.

To run the VDA Cleanup Tool silently:

  1. Execute VDACleanupUtility.exe /silent /noreboot to suppress reboot.
  2. Once the VDACleanupUtility has finished executing, setup Auto logon for the current user.
  3. Reboot.
  4. After reboot, tool will launch automatically to continue Cleanup.

Another option is to delete CitrixVdaCleanup value under HKLMSoftwareMicrosoftWindowsCurrentVersionRunOnce. Then after reboot, run VDACleanupUtility.exe /silent /reboot to indicate that it’s running after the reboot.

Related Pages

Navigation

  • Director Tweaks – domain field

💡 = Recently Updated

Change Log

  • 2019 Apr 23 – updated Install section with Director 7.15.4000 (Cumulative Update 4)
  • 2018 Oct 29 – updated Install section with Director 7.15.3000 (Cumulative Update 3)
  • 2018 June 15 – Install – added link to CTX224433 Error: “Cannot Retrieve Data” on Citrix Director Dashboard After Securing OData Interface Through TLS
  • 2018 Apr 17 – updated Install section with Director 7.15.2000 (Cumulative Update 2)
  • 2018 Feb 3 – in Grooming section, added link to Data granularity and retention at Citrix Docs
  • 2017 Dec 5 – updated Install section with Director 7.15.1000 (Cumulative Update 1)

Director Licensing – Platinum Edition

See the XenApp and XenDesktop Feature Matrix. Scroll down to Director Platinum Edition for the list of Director features that require Platinum Edition licensing.

  • Up to a year’s worth of performance data that provides a comprehensive view of capacity trends
  • Proactive notification and alerting including SNMP integration
  • SCOM alerts
  • Desktop and server OS usage reporting
  • Create customized reports
  • Reboot warnings
  • Octoblu integration
  • NetScaler MAS integration
  • Override control over roaming sessions

See Citrix Docs Feature compatibility matrix for a list of which Director feature came with each version, and the licensing Edition needed for each feature.

Director 7.15.4000 on Standalone Server

If you are installing Director 7.15.4000 on a standalone server, see the following:

  • Citrix CTX222476 Install or Upgrade to Citrix Director 7.x Using Director .msi file
  • Citrix CTX142260 Installing or Upgrading to Citrix Director 7.6.200.

To install and configure Director using a script, see Dennis Span Citrix Director unattended installation with PowerShell.

To install Director manually:

  1. If you intend to install Director on a standalone server, start with running AutoSelect.exe from the XenApp/XenDesktop 7.15.4000 ISO.
  2. In the Extend Deployment section, on the bottom left, click Citrix Director.
  3. In the Licensing Agreement page, select I have read, understand, and accept the terms, and click Next.
  4. In the Core Components page, click Next.
  5. In the Delivery Controller page, it will ask you for the location of one Controller in the farm. Only enter one Controller per farm. If you have multiple Director servers, each Director server can point to a different Controller in the farm. From Citrix Docs: Director automatically discovers all other Controllers in the same Site and falls back to those other Controllers if the Controller you specified fails. Click Test Connection, and then click Add.
  6. You can optionally force SSL/TLS for the Monitoring service by following the instructions at Data Access Security at Citrix Developer Documentation. Also see CTX224433 Error: “Cannot Retrieve Data” on Citrix Director Dashboard After Securing OData Interface Through TLS.
  7. In the Features page, click Next.
  8. In the Firewall page, click Next.
  9. In the Summary page, click Install.
  10. In the Finish page, click Finish.
  11. In IIS Manager, go to Default Web Site > Director > Application Settings, find Service.AutoDiscoveryAddresses, and make sure it points to one Controller in the farm, and not to localhost. From Citrix Docs: Director automatically discovers all other Controllers in the same Site and falls back to those other Controllers if the Controller you specified fails.
  12. You can optionally force SSL/TLS for the Monitoring service by following the instructions at Data Access Security at Citrix Developer Documentation. Also see CTX224433 Error: “Cannot Retrieve Data” on Citrix Director Dashboard After Securing OData Interface Through TLS.
  13. If you built multiple Director servers, use NetScaler to load balance them.
  14. If you are upgrading Director, run C:inetpubwwwrootDirectortoolsDirectorConfig.exe /upgrade to complete the upgrade process.
  15. For info on the new monitoring features in Director, see Use Director below.

Director Default Webpage

From CTX223907 How to Make Director the Default Page within IIS: If Director is installed on a standalone server, do the following to set /Director as the default path.

  1. Open Notepad elevated (as administrator) and paste the following text:
  2. Adjust the window.location line to match your FQDN.
  3. Select File > SaveAs and browse to the IIS folder, by default C:inetpubwwwroot is the IIS folder.
  4. Select the Save as type to Alltypes.
  5. Type a file name with an html extension, and select Save.
  6. Open IIS Manager.
  7. Select the SERVERNAME node (top-level) and double-click Default Document, as shown in the following screen shot:
  8. On the right, click Add…,
  9. Enter the file name of the .html file provided in Step 5.
  10. Ensure the .html file is located at the top of the list, as shown in the following screen shot:

Director Spinning Circle

If after login to Director the spinning circle doesn’t go away:

Do the following to fix it:

  1. Edit the file C:inetpubwwwrootDirectorweb.config using an elevated text editor.
  2. Search for <serviceHostingEnvironment (line 273).
  3. Add the following attribute:

Also see CTX202564 Citrix Director Becomes Unresponsive after Submitting the Credentials when IIS X-Frame-Options is enabled

Director Tweaks

Prepopulate the domain field

From http://www.xenblog.dk/?p=33: On the Controllers having the Director role installed, locate and edit the ‘LogOn.aspx’ file. By default you can find it at C:inetpubwwwrootDirectorLogon.aspx

In line 450 you will have the following. To find the line, search for ID=”Domain”. Note: onblur and onfocus attributes were added in newer versions of Director.

<asp:TextBox runat='server' CssClass='text-box' onfocus='showIndicator(this);' onblur='hideIndicator(this);'></asp:TextBox>

In the ID=”Domain” element, insert a Text attribute and set it to your domain name. Don’t change or add any other attributes. Save the file.

<asp:TextBox runat='server' Text='Corp' CssClass='text-box' onfocus='showIndicator(this);' onblur='hideIndicator(this);'></asp:TextBox>

This will prepopulate the domain field text box with your domain name and still allow the user to change it, if that should be required. Note: this only seems to work if Single Sign-on is disabled.

Citrix CTX227936 How to hide the domain from Director Logon Page:

  1. Edit the file C:inetpubwwwrootDirectorLogOn.aspx using an elevated text editor.
  2. Locate the tag which starts with: <asp:Label
  3. Immediately prior to that label, locate the tag: <div>
  4. Add the following before <div class=’label eight’>: <div>
  5. In between “</asp:Textbox> <br />” add the following: </div>

Session timeout

By default the idle time session limit of the Director is 245 min. If you wish to change the timeout, here is how to do it.

  1. Log on to the Director Server as an administrator
  2. Open the ‘IIS Manager’
  3. Browse to ‘SitesDefault Web SiteDirector’ in the left hand pane.
  4. Open ‘Session State’ in the right hand pane
  5. Change the ‘Time-out (in minutes)’ value under ‘Cookie Settings’
  6. Click ‘Apply’ in the Actions list

SSL Check

From http://euc.consulting/blog/citrix-desktop-director-2-1: If you are not securing Director with an SSL certificate you will get this error at the logon screen.

To stop this:

  1. Log on to the Director Server as an administrator
  2. Open the ‘IIS Manager’
  3. Browse to ‘SitesDefault Web SiteDirector’ in the left hand pane.
  4. Open ‘Application Settings’ in the right hand pane
  5. Set UI.EnableSslCheck to false.

Disable Activity Manager

From Disable the visibility of running applications in the Activity Manager in Advanced Configuration at Citrix Docs: By default, the Activity Manager in Director displays a list of all the running applications and the Windows description in the title bars of any open applications for the user’s session. This 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.

To protect the privacy of users and the applications they are running, you can disable the Applications tab from listing running applications.

  • On the VDA, modify the registry key located at HKLMSoftwareCitrixDirectorTaskManagerDataDisplayed. By default, the key is set to 1. Change the value to 0, which means the information will not be displayed in the Activity Manager.
  • 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 Change the value to false, which disables visibility. This option affects only the Activity Manager in Director, not the VDA. Modify the value of the following setting:

Large Active Directory / Multiple Forests

From CTX133013 Desktop Director User Account Search Process is Slow or Fails: By default, all the Global Catalogs for the Active Directory Forest are searched using Lightweight Directory Access Protocol (LDAP). In a large Active Directory environment, this query can take some time or even time out.

If multiple forests, see Citrix Blog Post Using Citrix Director in a MultiForest Environment.

  1. In Information Server (IIS) Management, under the Desktop Director site, select Application Settings and add a new value called Connector.ActiveDirectory.ForestSearch. Set it to False. This disables searching any domain except the user’s domain and the server’s domain.
  2. To search more domains, add the searchable domain or domains in the Connector.ActiveDirectory.Domains field.

Site Groups

From Citrix Blog Post Citrix Director 7.6 Deep-Dive Part 4: Troubleshooting Machines:

If there are a large number of machines, the Director administrator can now configure site groups to perform machine search so that they can narrow down searching for the machine inside a site group. The site groups can be created on the Director server by running the configuration tool via command line by running the command:

C:inetpubwwwrootDirectortoolsDirectorConfig.exe /createsitegroups

Then provide a site group name and IP address of the delivery controller of the site to create the site group.

Director Configuration Script

Johan Greefkes at Script for configuring Director at Citrix Discussions was kind enough to provide a script that does the following:

  • Sets the XenDesktop Controllers that Director communicates with
  • Disables SSL Check
  • Sets Logon.aspx file to default to a domain name
  • Adds a footer that displays the name of the Director server

Director – Saved Filters

From Scott Osborne and Jarian Gibson at Citrix Discussions: In Director, you can create a filter and save it.

The saved filter is then accessible from the Filters menu structure.

The saved filters are stored on each Director server at C:InetpubwwwrootDirectorUserData. Each user has their own saved filters. The saved filters are not replicated across Director servers.

You can instead configure multiple Director servers to store the filters on a shared UNC path: (h/t CTP Jarian Gibson)

  1. Create and share a folder (e.g. DirectorData).
  2. The Director server computer accounts need Modify permission to the share.
  3. On each Director server, run IIS Manager.
  4. Go to Sites > Default Web Site > Director. In the middle, double-click Application Settings.
  5. Change the Service.UserSettingsPath setting to the UNC path of the new share.
  6. Repeat this on other load balanced Director servers.

Director and HDX Insight

You can connect Director to NetScaler Management & Analytics System (NetScaler MAS) or Citrix Insight Center to add Network tabs to Director’s Trends and Machine Details views. Citrix Blog Post Configure Director with NetScaler Management & Analytics System (MAS).

Director and Self-Service Password Reset (SSPR)

If you have XenApp/XenDesktop Platinum Edition, it’s possible to install SSPR on the Director server. See George Spiers Citrix Self-Service Password Reset for a detailed implementation guide.

However this might break Director, and all you will see is a spinning circle.

To fix it, in IIS Manager (inetmgr), edit the bindings of the Default Web Site, and Remove the HTTP 8080 binding. Or implement the multisitebinding fix.

More info at Citrix Discussions Installing SSPR 1.0 appears to have broken Director 7.11 on same server.

Director Grooming

If XenDesktop is not Platinum Edition, then all historical Director data is groomed at 30 days.

For XenDesktop/XenApp Platinum Edition, by default, most of the historical Director data is groomed at 90 days. This can be adjusted up to 367 days by running a PowerShell cmdlet.

  1. On a XenDesktop Delivery Controller, run PowerShell and run asnp Citrix.*
  2. Run Get-MonitorConfiguration to see the current grooming settings.
  3. Run Set-MonitorConfiguration to change the grooming settings.

More details on Monitor Service data aggregation and retention can be found at Data granularity and retention at Citrix Docs.

Director Single Sign-on

You can configure Director to support Integrated Windows Authentication (Single Sign-on). Note: there seem to be issues when not connecting from the local machine or when connecting through a load balancer.

  1. Run IIS Manager. You can launch it from Server Manager (Tools menu), or from the Start Menu, or by running inetmgr.
  2. On the left, expand Sites, expand Default Web Site, and click Director.
  3. In the middle, double-click Authentication in the IIS section.
  4. Right-click Windows Authentication, and Enable it.
  5. Right-click Anonymous Authentication, and Disable it.
  6. Pass-through auth won’t work from another computer until you set the http SPN for the Director server. See Director 7.7 Windows Authentication not working with NS LB at Citrix Discussions.
  7. If Director is not installed on a Controller, then you’ll need to configure Kerberos delegation.
  8. If you are load balancing Director then additional config is required. See Director 7.7 Windows Authentication not working with NS LB at Citrix Discussions for more info.
    1. The FQDN for Director load balancing should be different than the FQDN for StoreFront load balancing.
    2. Create an AD service account that will be used as the Director’s ApplicationPoolIdentity.
    3. Create SPN and link it to the service account.
    4. Trust the user account for delegation to any service (Kerberos only) (trust the Director servers for delegation is not necessary in this case). You have to create the SPN before you can do this step.
    5. In IIS manager, on the Application Pools (Director), specify the Identity as user we have created in step 1.
    6. In IIS manager, expand Default Web Site, select Director, and open the Configuration Editor (bottom of the middle pane).
    7. Use the drop-down to navigate to the following section: system.webServer/security/authentication/windowsAuthentication
    8. Set useAppPoolCredentials = True, and useKernelMode = False. Click Apply on the top right.
  9. When you connect to Director you will be automatically logged in. You can change the login account by first logging off.
  10. Then change the drop-down to User credentials.

Director – Multiple XenDesktop Sites

  1. Run IIS Manager. You can launch it from Server Manager (Tools menu) or from the Start Menu, or by running inetmgr.
  2. On the left, expand Sites, expand Default Web Site, and click Director.
  3. In the middle pane, double-click Application Settings.
  4. Find the entry for Service.AutoDiscoveryAddresses, and double-click it.
  5. If Director is installed on a Controller, localhost should already be entered.
  6. Add a comma, and the NetBIOS name of one of the controllers in the 2nd XenDesktop Site (farm). Only enter one Controller name. If you have multiple Director servers, you can point each Director server to a different Controller in the 2nd XenDesktop Site (farm). From Citrix Docs: Director automatically discovers all other Controllers in the same Site and falls back to those other Controllers if the Controller you specified fails.
    1. You can optionally force SSL/TLS for the Monitoring service by following the instructions at Data Access Security at Citrix Developer Documentation. Also see CTX224433 Error: “Cannot Retrieve Data” on Citrix Director Dashboard After Securing OData Interface Through TLS.

Director Process Monitoring

Director 7.11 and newer have Process Monitoring, which is detailed in Citrix Blog Post Citrix Director: CPU, Memory Usage and Process Information.

Process Monitoring is disabled by default. To enable it, configure the Enable process monitoring setting in a Citrix Policy. For Citrix Policies in a GPO, find this setting in the computer half of the GPO. Note: this setting could significantly increase the size of the Monitoring database.

Director Alerts and Notifications

Director supports alert conditions and email notifications. This feature requires XenApp/XenDesktop to be licensed with Platinum Edition. See Citrix Blog Post Configuring & Managing Alerts and Notifications Using Director for more information.

Director 7.11 and newer have CPU, Memory, and ICT RTT alerts. Citrix Blog Post 7 New Categories in Director for Proactive Notifications & Alerts

To configure alerts:

  1. While logged into Director, at the top of the page, click the Alerts button.
  2. Switch to the Email ServerConfiguration tab.
  3. Enter your SMTP information, and click Send Test Message. Then click Save.
  4. Switch to the Citrix AlertsPolicy tab.
  5. There are four high-level categories of alerts: Site Policy, Delivery Group Policy, Server OS Policy, and User Policy. Click whichever one you want to configure.
  6. Then click Create.
  7. Give the alert a name.
  8. On the bottom left, select a condition, and enter thresholds.
  9. On the bottom right, in the Notifications preferences section, click Add.
  10. Enter an email address, and click Add.
  11. Click Save when done. Feel free to create more alerts and notifications.
  12. For Server OS and User Policy, there are new ICA RTT alerts. See Citrix Blog Post 7 New Categories in Director for Proactive Notifications & Alerts for details on the new alerts in 7.11 and newer.
  13. In Director 7.12 and newer, you can configure alerts to generate an SNMP trap. This is configured in PowerShell as described at Configure alerts policies with SNMP traps at Citrix Docs.
  14. Citrix has an experimental Desktop Notification Tool. See Citrix Blog Post Desktop Notification Tool For Citrix XenDesktop.

Director Alerts can be configured with a WebHook that allows Octoblu to perform actions when a Director Alert occurs. See Configure alerts policies with Octoblu webhooks at Citrix Docs for details.

Set-MonitorNotificationPolicy –Uid 5 –Webhook <Webhook URL>

Director – SCOM Integration

Director 7.8 and newer can display alerts from System Center Operations Manager 2012 R2. This feature requires XenApp/XenDesktop Platinum Edition.

  1. See Configure SCOM integration at Citrix Docs for detailed configuration instructions. Also see Marius Sandbu Integrating Citrix XenDesktop 7.7 and System Center Operations Manager.
  2. If Director server or System Center Operations Manager server is 2008 R2, then login to the 2008 R2 server, open PowerShell and run Enable-PSRemoting. Yes to everything. This is not needed on Windows Server 2012 R2 servers.
  3. On Director server, run C:inetpubwwwrootDirectortoolsDirectorConfig.exe /configscom
  4. FYI, the DirectorConfig.exe /configscom command enables the following features on the Director server: /FeatureName:IIS-NetFxExtensibility45 /FeatureName:IIS-ASPNET45 /FeatureName:WCF-HTTP-Activation45
  5. FYI, the System Center Operations Manager server is listed in IIS Manager at Default Web Site > Director > Application Settings (middle pane) > Connector.SCOM.ManagementServer.
  6. On the System Center Operations Manager server, edit Remote Management Users local group, and add Citrix Admins, and other Director users.
  7. In System Center Operations Manager Console, go to Administration > User Roles, and edit Operations Manager Operators. Add the Citrix Admins, and other Director users.
  8. See Citrix Blog Post SCOM Alerts in Citrix Director for information on how to view System Center Operations Manager alerts in Director.

Director – Custom Reports

In Director 7.12 and newer, in the Trends view, there’s a Custom Reports tab that guides you through creating a custom OData Query. This tab only appears if you have XenApp/XenDesktop Platinum Edition.

The Monitoring database contains more data than is exposed in Director. To view this data, the Monitoring service has an OData Data Feed that can be queried.

  • You can use Excel to pull data from the OData Data feed. See Citrix Blog Post – Citrix Director – Analyzing the Monitoring Data by Means of Custom Reports. This particular blog post shows how to use an Excel PivotChart to display the connected Receiver versions.
    • Also see Alexander Ollischer Citrix XenDesktop 7.x – Query Citrix Receiver Versions connecting to your environment – XLS Report
  • Citrix CTX211428 Using Excel to Report on Desktop Director Data uses Power Pivot.
  • Or for Linqpad, see Citrix Blog Post – Creating Director Custom reports for Monitoring XenDesktop using Linqpad
  • CTA David Ott XenDesktop Usage Report shows that querying OData can be slow and it’s sometimes faster to query the actual Monitoring database. Updated Report.

Use Director

The newer Director features usually require Delivery Controllers and VDAs to be at the same version or newer than Director. Director depends on the Monitoring Service that is built into the Delivery Controller. The Monitoring Service gathers data from the VDAs.

See Monitor deployments at Citrix Docs.

See the various Troubleshoot topics at Citrix Docs.

In Director 7.14 and newer, see CTX223927 How to use Director to troubleshoot application launch errors. This feature is configured in Citrix Policy Settings located in the Computer half at Virtual Delivery Agent Settings > Monitoring. Also see Citrix Blog Post Application Related Session Failure Reporting in Citrix Director 7.15.

In Director 7.14 and newer, see CTX223928 How to use Director to monitor storage performance.

Citrix Blog Post Citrix Director Now Provides Disk Usage Information!:

  • IOPS and disk latency data is enabled by default.
  • IOPS and disk latency is pushed to the database from each VDA at 1 hour interval.
  • 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.

In Director 7.14 and newer, see CTX223925 How to use Director to monitor NVIDIA GPU usage.

Citrix Director 7.13 and newer have an Application Instances tab on the Filters page that lets you filter published application sessions based on Session Idle Time (RDS sessions only), Application Name, and all other existing fields, like machine name, and so on. Requires Director 7.13, Controller 7.13, VDA 7.13, and Platinum Edition licensing. See Citrix Blog Post Monitoring Idle Applications and Sessions in Citrix Director. See Troubleshoot applications at Citrix Docs.

If idle time column shows n/a, then you need to wait 10-15 minutes.

In Director 7.13 and newer, the Session Details panel can show if Enlightened Data Transport (EDT, aka HDX on UDP) is enabled in the user’s session. See Citrix Blog Post HDX Adaptive Transport Protocol Monitoring via Director.

George Spiers has a comprehensive guide of all Director 7.12 features at http://www.jgspiers.com/citrix-director/.

Director 7.12 and newer have Connection Failure Details, which is detailed in Citrix Blog Post Director 7.12: Easier Troubleshooting of Machine & Connection Failures. Also see CTX223812 Citrix Director Failure Codes.

Director 7.11 and newer have Process Monitoring, which is detailed in Citrix Blog Post Citrix Director: CPU, Memory Usage and Process Information.

Director 7.9 and newer have Logon Duration improvements.

Citrix Blog Post Interactive Session of Logon Duration in Citrix Director – Explained: Interactive Session Duration = Desktop Ready Event Timestamp (EventId 1000 on VDA) – User Profile Loaded Event Timestamp (EventId 2 on VDA). More details in the Blog Post.

Citrix Blog Post Director 7.6 Failure Reasons Demystified lists possible failure reasons behind an Unregistered alert, and the true meaning of failure reasons such as Connection Refused and Communication Error. It details each failure reason, defines the meanings of these failures, and lists action items that serve as a starting point for troubleshooting the specific scenario. The list is based on Director 7.6.300.