Citrix Profile Management 2109

Last Modified: Sep 27, 2021 @ 6:05 pm

Navigation

This article applies to all versions of Profile Management: 2109, 1912 LTSR CU3, 1909, 7.15.8000 LTSR , 5.8, 5.7, etc.

💡 = Recently Updated

Change Log

Planning

Profile Management Versions

Profile Management is included with the installation of Virtual Delivery Agent. To upgrade Profile Management, simply upgrade your VDA software. Here are the currently supported versions of VDA:

Or you can download the individual Profile Management component and install/upgrade it separate from the VDA software. You can even install it on non-VDA machines (e.g. PCs accessed by licensed Citrix users).

For LTSR VDAs, for LTSR support compliance, only install the Profile Management version that is included with your VDA installer. Don’t upgrade to a newer Current Release version.

The latest release of Citrix Profile Management is version 2109, which can be downloaded from  Citrix Virtual Apps and Desktops 7 2109. To find it, click Components that are on the product ISO but also packaged separately.

Profile Management Configuration Options

Profile Management consists of a Service (installed on the VDAs), a file share, and configuration settings.

There are four methods of delivering configuration settings to the Citrix Profile Management service:

If a UPM setting is not configured in GPO, Citrix Policy, or WEM, then the default setting in the UPMPolicyDefaults.ini file takes effect. The .ini file is located in C:\Program Files\Citrix\User Profile Manager on every machine that has Profile Management service installed.

Microsoft Group Policy (ADMX file) is probably the most reliable method of delivering configuration settings to the Profile Management services. This method uses the familiar Group Policy registry framework. Just copy the Profile Management ADMX files to PolicyDefinitions and start configuring. The configuration instructions in this article use the GPO ADMX method.

The Citrix Policies configuration method requires Citrix Studio, or Citrix Group Policy Management Plug-in. On the Profile Management service side, only VDAs can read the Citrix Policies settings.

  • Citrix Policies has settings for Folder Redirection. If you use Citrix Policy to configure Folder Redirection, then the Folder Redirection settings only apply to VDAs that can read Citrix Policies. To apply to Folder Redirection to more than just VDAs, configure Folder Redirection using normal Microsoft Group Policy as detailed below.
  • If you’re going to use Microsoft Group Policy to configure Folder Redirection, then you might as well use Microsoft Group Policy to also configure Citrix Profile Management.

Citrix Workspace Environment Management can also deliver configuration settings to the Profile Management services. This option requires the WEM Agent to pull down the settings from the WEM Brokers and apply them to Profile Management. It can sometimes be challenging to troubleshoot why WEM is not applying the settings.

Try not to mix configuration options. If you use both WEM and GPO, which one wins?

Multiple Datacenters

For optimum performance, users connecting to Citrix in a particular datacenter should retrieve their roaming profiles from a file server in the same datacenter. If you have Citrix in multiple datacenters, then you will need file servers in each datacenter.

DFS active/active replication of roaming profiles is not supported. This limitation complicates multi-datacenter designs.

For active/active datacenters, split the users such that different users have different home datacenters. Whenever a particular user connects, that user always connects to the same datacenter, and in that datacenter is a file server containing the user’s roaming profile. StoreFront uses Active Directory group membership to determine a user’s home datacenter.

For users that connect to Citrix in multiple datacenters, there are a couple options:

  • The user’s roaming profile is located in only one datacenter – If the user connects to a remote datacenter, then the roaming profile must be transmitted across the WAN. To optimize performance, disable Active Write Back, and make sure Profile Streaming is enabled.
  • The user has separate profiles for each datacenter – There is no replication of profiles between datacenters. This scenario is best for deployments where different applications are hosted in different datacenters.

Disaster Recovery – For disaster recovery scenarios, the user’s roaming profile data (and home directories) must be recovered in a different datacenter. Here are some considerations:

  • Use DFS One-way replication. After the disaster, edit the DFS Namespace folder target to point to the file server in the DR datacenter. You must avoid multi-master DFS replication/namespace.
  • Use VMware SRM or similar to recover the file server in the DR datacenter.
  • A datacenter failover might result in multiple file servers accessed from a single VDA, especially if you have users split across datacenters. Use DFS Namespaces as detailed below.

DFS Namespace

DFS Namespace for central user store – The Citrix Profile Management user store path is a computer-level setting, meaning there can only be one path for every user that logs into a particular VDA. If you have different users with roaming profiles on different file servers, then you must use Active Directory user attributes and DFS namespaces to locate the user’s file server. Here is an overview of the configuration:

  • Create a domain-based DFS namespace with folder targets on different file servers. See Scenario 1 – Basic setup of geographically adjacent user stores and failover clusters at Citrix Docs for more information.
  • Do not enable two-way DFS Replication for the roaming profile shares. But you can do One-way DFS replication. See Scenario 2 – Multiple folder targets and replication at Citrix Docs for more information.
  • Edit each user in Active Directory with a location (l) attribute that matches the DFS folder name.
  • Set the Profile Management user store path to \\corp.local\CtxProfiles\#l#\#SAMAccountName#\!CTX_OSNAME!!CTX_PROFILEVER!. This pulls the user’s l attribute from Active Directory and appends that to the DFS share. The folder that matches the attribute value is linked to a file server. For example, if the user’s l attribute is set to Omaha, then the user’s profile will be located at \\corp.local\CtxProfiles\Omaha\user01\Win2016v6. The Omaha folder is linked to a file server in the Omaha datacenter.

Create User Store

This procedure could also be used to create a file share for redirected profile folders.

If you intend to place Citrix Profile Management roaming profiles in the user’s home directory, then there is no need to follow the procedure in this section. Only use this section if you are creating a new file share for storage of the Citrix roaming profiles.

Create and Share the Folder

  1. Make sure file and printer sharing is enabled.
  2. On the file server that will host the file share, create a new folder and name it CtxProfiles or similar.

  3. Right-click the folder, expand Give Access to (Windows Server 2019) or expand Share with (Windows Server 2016) and select Specific people.

  4. Give Everyone (or some other group that contains all Citrix Users) Full Control (Read/Write). Click Share, and then click Done.
  5. Go to the Properties of the folder.
  6. On the Sharing tab, click Advanced Sharing.
  7. Click Caching.
  8. Select No files or programs. Click OK, and then click Close.

Folder (NTFS) Permissions

  1. Open the properties of the new shared folder.
  2. On the Security tab, click Edit.
  3. For the Everyone entry, remove Full Control and Modify. Make sure Write is enabled so users can create new folders.
  4. Add CREATOR OWNER and give it Full Control. This grants users Full Control of the folders they create. Click OK.
  5. Now click Advanced.
  6. Highlight the Everyone permission entry, and click Edit.
  7. Change the Applies to selection to This folder only. Click OK three times. This prevents the Everyone permission from flowing down to newly created profile folders.

Access Based Enumeration

With this setting enabled, users can only see folders to which they have access:

  1. In Server Manager, on the left, click File and Storage Services.
  2. If you don’t see Shares then you probably need to close Server Manager and reopen it. Or perform a refresh.
  3. Right-click the new share and click Properties.
  4. On the Settings page, check the box next to Enable access-based enumeration.

GPO ADMX Policy Template

  1. You can find the GPO ADMX templates on the main Citrix Virtual Apps and Desktops 2109 ISO in the \x64\ProfileManagement\ADM_Templates\en folder.

    • Or, they are included in the separate Profile Management download in the \Group Policy Templates\en folder.
  2. Copy the file ctxprofile.admx (or ctxprofile7.15.8000.admx) to the clipboard.

  3. If your domain has PolicyDefinitions copied to SYSVOL, paste the file there.

    • If you don’t have SysVol PolicyDefinitions, then go to C:\Windows\PolicyDefinitions and paste the file.
  4. If you have an older version of the ctxprofile.admx file in either location, delete it. Note: replacing the .admx file does not affect your existing Profile Management configuration. The template only defines the available settings, not the actual settings.
  5. Go back to the Citrix Profile Management Group Policy Template files.
  6. Copy ctxprofile.adml (or ctxprofile7.15.8000.adml) to the clipboard.

  7. If your domain has a PolicyDefinitions central store in SYSVOL, copy it to the en-us folder in SYSVOL. This is a subfolder of the PolicyDefinitions folder.

    • If you don’t have SysVol PolicyDefinitions,, then go to C:\Windows\PolicyDefinitions\en-US and paste the file. This is a subfolder of the PolicyDefinitions folder.
  8. If you have an older version of the ctxprofile.adml file in the en-US folder in either location, delete it.

CitrixBase:

  1. Go up a folder and then open the CitrixBase folder.
  2. In the CitrixBase folder, copy the file CitrixBase.admx to the clipboard.
  3. If your domain has PolicyDefinitions copied to SYSVOL, paste the file there.

    • If you don’t have SysVol PolicyDefinitions, then go to C:\Windows\PolicyDefinitions and paste the file.
  4. Go back to the Citrix Profile Management Group Policy Templates and copy CitrixBase.adml to the clipboard.
  5. If your domain has a PolicyDefinitions central store in SYSVOL, copy it to the en-us folder in SYSVOL. This is a subfolder of the PolicyDefinitions folder.

    • If you don’t have SysVol PolicyDefinitions,, then go to C:\Windows\PolicyDefinitions\en-US and paste the file. This is a subfolder of the PolicyDefinitions folder.

Group Policy Settings

  1. Edit a GPO that applies to all machines (VDAs) that have the Profile Management service installed.
  2. Go to Computer Configuration | Policies | Administrative Templates | Citrix Components | Profile Management.
    • Note: if you did not install the CitrixBase.admx file, then you can find Profile Management directly under the Administrative Templates node instead of under Citrix Components.
  3. Enable the setting Enable Profile management. Profile Management will not function until this setting is enabled.
  4. If desired, enable the setting Process logons of local administrators.
  5. Enable Path to user store.
  6. Specify the UNC path to the folder share. An example path = \\server\share\#SAMAccountName#\!CTX_OSNAME!!CTX_PROFILEVER!

    1. Profile Versions– Different OS versions have different profile versions. Each profile version only works on specific OS versions. For example, you cannot use a Windows 7 profile (v2) on Windows 10 1607 (v6). The variables in the path above ensure that every unique profile version is stored in a unique folder. If users connect to multiple operating system versions, then users will have multiple profiles.
      1. Windows 10 Profile Versions – Windows 10 has two different profile versions. Windows 10 build 1511 and older use v5 profiles. Windows 10 build 1607 and newer use v6 profiles. v5 and v6 profile versions are incompatible so they should be separated.
      2. Resolved variables – With the example user store path shown above, if the user logs into Windows 2012 R2 RDSH, the profile folder will be \\server\share\user01\Win2012R2v4. If the user logs into 64-bit Windows 10 build 1607, the profile folder will be \\server\share\user01\Win10RS1v6.
      3. Windows 10 v6 vs Windows 2016 v6 – Both Windows 10 (1607 and newer) and Windows Server 2016 use v6 profiles. Do you want to use the same profile for both platforms? If so, remove !CTX_OSNAME! from the Path. Note: Windows 10 supports Store apps while Windows 2016 does not. If you’re allowing Store apps, then it’s probably best to use different profiles for both OS platforms.
      4. Windows 2012 R2 warning: in older versions of Citrix Profile Management, !CTX_PROFILEVER! recognizes Windows 2012 R2 as v2, which isn’t correct. v2 is Windows Server 2008 R2, while Windows Server 2012 R2 is v4. The profile version bug was fixed in Profile Management 5.4 and newer. If you have existing Windows 2012 R2 profiles based on the !CTX_PROFILEVER! variable set to v2, after upgrading to 5.4 or newer, then your profiles might stop working . See http://discussions.citrix.com/topic/374111-psa-upm-54-ctx-osname-server-2012-value-change/ for more details.
    2. Windows 10 and !CTX_OSNAME!: Profile Management sets !CTX_OSNAME1! to different strings for different Windows operating system versions, especially different versions of Windows 10: (RS = Redstone, which is a Microsoft codeword)
      • Windows Server 2019 sets !CTX_OSNAME! to Win2019v6.
      • Windows Server 2016 sets !CTX_OSNAME! to Win2016v6.
      • Windows 10 version 1903 and 1909 set !CTX_OSNAME! to Win10RS6.
      • Windows 10 version 1809 sets !CTX_OSNAME! to Win10RS5.
      • Windows 10 version 1803 sets !CTX_OSNAME! to Win10RS4.
      • Windows 10 version 1709 sets !CTX_OSNAME! to Win10RS3.
      • Windows 10 version 1703 sets !CTX_OSNAME! to Win10RS2.
      • Windows 10 version 1607 sets !CTX_OSNAME! to Win10RS1.
    3. If you use !CTX_OSNAME! in your profile store path, then different CTX_OSNAMEs will have different profiles, which means users will lose their profile settings whenever you upgrade Windows 10.
      • Profile Management 1909 and newer have a setting called Automatic migration of existing application profiles under Profile Handling that can alleviate this problem.
    4. Multiple Domains – If you have multiple domains, in the user profile store path, change #SAMAccountName# to %username%.%userdomain% (e.g. \\server\share\%username%.%userdomain%\!CTX_OSNAME!!CTX_PROFILEVER!). That way you can have the same account name in multiple domains and each account will have a different profile.
    5. Hard Code Store Path – Instead of using variables, you can specify a hard coded path. However, the profile incompatibility restrictions listed above still apply. To avoid applying a single profile across multiple operating system versions, place VDAs with different OS versions in different OUs, and then use different Profile Management GPOs on those OUs to specify different Profile Management user store paths.
    6. Migrate User Store – Profile Management 1909 and newer can move profiles from an old profile path to a new profile path.

  7. Disable Active write back. This feature places additional load on the file server and is only needed if users login to multiple machines concurrently and need mid-session changes to be saved, or if users never log off from their sessions. Note: if you don’t disable this, then it is enabled by default.
  8. On the left, go to the Advanced settings node.
  9. Enable the setting Process Internet cookie files on logoff.
  10. In 5.6 and newer, Customer Experience Improvement Program (CEIP) is enabled by default. It can be disabled here.
  11. See https://www.carlstalhood.com/delivery-controller-cr-and-licensing/#ceip for additional places where CEIP is enabled.
  12. Profile Management 7.18 and newer have Enable search index roaming for Outlook.

Notes on Outlook OST and Search roaming:

  1. Microsoft FSLogix is a superior product that is now free. For details, see the FSLogix section in the VDA articles.
  2. Profile Management 1906 and newer support 64-bit Outlook 2016 and Office 2019.
  3. VDA 1906 or newer are recommended for the bug fixes for this feature. You can upgrade the VDA without upgrading your Delivery Controllers.
  4. Concurrent sessions on multiple machines are not supported.
  5. After the first user logon, Profile Management 1811 and newer creates a template VHDX file in a folder named UpmVhd at the root of the user store. The template file is copied to new users, thus speeding up VHDX creation.

  6. In the user’s profile location, a new folder called VHD is created.
  7. Inside the \VHD\Win2016 folder are two new thin provisioned .vhdx files – one for OST, one for Search. The per-user .vhdx files are copied from the parent template.
  8. UPM grants Domain Computers Full Control of the VHDX files. Users must have Full Control to the Profile Share, and UPM Folder to be able to grant this permission. Modify permissions are not sufficient. (Source = Robert Steeghs The Citrix Profile management could not mount virtual disk)
  9. When the user logs into a Citrix session, the two VHDXs are mounted to %localappdata%\Microsoft\Outlook and %appdata%\Citrix\Search. This means that OST files and Search Indexes are stored in the VHDX instead of in the user’s profile.


  10. eastwood357 at Outlook OST and Search vhdx not unmounting after log off at Citrix Discussions says that the Profile Management Path to User Store must be all lower case or else the VHDX files will not unmount at logoff.
  11. Only enable this feature for users with new Outlook profiles. If the user already has an .ost file, then you’ll see an error about missing .ost when Outlook is launched.
  12. The Search roaming feature is only supported with specific versions of Windows Search service. Event Log will tell you if your Windows patches are too new.
  13. VHDX files can only be mounted on one machine at a time. If you login to two VDAs, and if both try to mount the same VHDX files, then you’ll see errors in Event Viewer.
  14. Search Index Backup – Profile Management 1909 and newer have a GPO setting named Outlook search index database – backup and restore that can provide automatic recovery of the search index if it becomes corrupted. The backup consumes more of the available storage space of the VHDX files.
  15. For a detailed explanation of how the per-user Search Index works, see CTX235347 Citrix Profile Management: VHDX-based Outlook cache and Outlook search index on a user basis.
  16. Profile Management 2109 and newer can Automatically reattach detached VHDX disks.

Exclusions, Synchronization, and Mirroring

  1. Under the File system node in the Group Policy Editor, enable the setting Enable Default Exclusion List – directories.
  2. You can use checkboxes to not exclude some folders.
  3. Then edit Exclusion list – directories.
  4. Enable the setting, and click Show.

  5. Add the following to the list.
    AppData\Local\Microsoft\Windows\INetCache
    AppData\local\Microsoft\Windows\IEDownloadHistory
    AppData\Local\Microsoft\Internet Explorer\DOMStore
    AppData\Local\Google\Software Reporter Tool
    AppData\Local\Google\Chrome\User Data\Default\Application Cache
    AppData\Local\Google\Chrome\User Data\Default\Code Cache
    AppData\Local\Google\Chrome\User Data\Default\Crashpad
    AppData\Local\Google\Chrome\User Data\Default\GPU Cache
    AppData\Local\Google\Chrome\User Data\Default\Media Cache
    AppData\Local\Google\Chrome\User Data\Default\Sync Data
    AppData\Local\Google\Chrome\User Data\Default\Sync Data Backup
    AppData\Roaming\Microsoft\Teams\media-stack
    AppData\Roaming\Microsoft\Teams\Logs
    AppData\Roaming\Microsoft\Teams\Service Worker\CacheStorage
    AppData\Roaming\Microsoft\Teams\Application Cache
    AppData\Roaming\Microsoft\Teams\Cache
    AppData\Roaming\Microsoft\Teams\GPUCache
    AppData\Roaming\Microsoft\Teams\meeting-addin\Cache
  6. For Edge Chromium, see Avanite Roaming Edge Chromium. These are essentially the same as Chrome except they are Edge paths instead of Chrome paths.
  7. Newer versions of Office Click-to-run let you roam the shared computer activation licensing token. See Overview of shared computer activation for Office 365 ProPlus and search for “roam”. The licensing tokens also last 30 days instead of 2-3 days. Source = Rick Smith in the comments. Ideally you should have ADFS integration so users can seamlessly re-activate Office.
  8. James Rankin has a much longer list of exclusions and synchronizations at Everything you wanted to know about virtualizing, optimizing and managing Windows 10…but were afraid to ask – part #6: ROAMING.
  9. Nick Panaccio at IE11 Enterprise Mode and UPM at Citrix Discussions has a list of exclusions for IE in Enterprise Mode.
    appdata\local\microsoft\internet explorer\emieuserlist
    appdata\local\microsoft\internet explorer\emiesitelist
    appdata\local\microsoft\internet explorer\emiebrowsermodelist
  10. For Teams, Microsoft recommends excluding the Media-Stack folder from roaming. Add the exclusion for AppData\Roaming\Microsoft\Teams\media-stack\ to Citrix Profile Management’s Exclusion List – Directories setting.
  11. Then click OK twice to return to the Group Policy Editor.
  12. usrclass.dat*.
    1. Profile Management 1909 and newer automatically include usrclass.dat* in the Files to Synchronize. UPM 2103 and newer add it for Windows 10 but not for RDSH. If added to the exclusion list, then Profile Management 1909 and newer automatically removes it from the exclusion list. See Start menu roaming at Citrix Docs.
    2. usrclass.dat* contains file type associations. For roaming file type associations, you can export/import HKCU\SOFTWARE\Classes\Applications as described by Christoph Kolbicz at User File Type Association Roaming on Server 2016 with Citrix User Profile Manager.
  13. Clean up excluded folders –  If you add to the exclusions list after profiles have already been created, Profile Management 5.8 has a feature that can delete the excluded folders at next logon. See To enable logon exclusion check at Citrix Docs. In Profile Management 7.15 and newer, Logon Exclusion Check is configurable in group policy under the File System node.

    1. Also see Muralidhar Maram’s post at Citrix Discussions for a tool that will clean up the existing profiles.
    2. Also see Jeremy Sprite Clean Citrix UPM Profiles.

Directories to Synchronize

  1. Under the File System\Synchronization node in the Group Policy Editor you can configure which profile folders should be synchronized that have otherwise been excluded.
  2. Edit the setting Directories to synchronize.
  3. Enable the setting, and click Show.
  4. Profile Management 7.16 Fixed Issues says that AppData\Local\Microsoft\Windows\Caches should be synchronized. Also see CTX234144 Start Menu Shows Blank Icons on VDA 7.15 LTSR CU1/7.16/7.17 with UPM Enabled.
  5. To configure Profile Management to sync Saved Passwords in Internet Explorer, add the following directories as detailed by gtess80 at Internet Explorer 11 Saved Passwords Not Retaining Between Sessions at Citrix Discussions. However, if Microsoft Credentials Roaming is enabled, then you should instead exclude these folders from roaming as detailed at CTX124948 How to Configure Citrix Profile Manager when Microsoft Credentials Roaming is Used in the Environment.
    AppData\Local\Microsoft\Windows\Caches
    AppData\Local\Microsoft\Credentials
    Appdata\Roaming\Microsoft\Credentials
    Appdata\Roaming\Microsoft\Crypto
    Appdata\Roaming\Microsoft\Protect
    Appdata\Roaming\Microsoft\SystemCertificates

  6. Start Menu and File Type Associations:
    1. If Windows 10 1703 or newer, see James Rankin Roaming profiles and Start Tiles (TileDataLayer) in the Windows 10 1703 Creators Update for information on the new location for Tile data. Citrix Profile Management 5.8 and newer should handle this automatically.
    2. See David Ott’s list of UPM exclusions for Windows 10. This blog post also details how to roam the Windows 10 Start Menu and prevent file share locks.
    3. To roam Start Menu and/or File Type Associations in Windows 10 or Windows Server 2016, see CTX214754 Error “An app default was reset” after signout and Logon in Citrix UPM for info on why this is difficult.
    4. Instead of roaming usrclass.dat, you can export/import HKCU\SOFTWARE\Classes\Applications as described by Christoph Kolbicz at User File Type Association Roaming on Server 2016 with Citrix User Profile Manager.
    5. Daniel Feller at Sync the Windows 10 Start Menu in VDI says that configuring SettlementPeriodBeforeAutoShutdown might improve reliability of Start Menu roaming, assuming users log out of the virtual desktop instead of rebooting the virtual desktop. On a Delivery Controller, open PowerShell, and run the following:
      asnp citrix.*
      Set-BrokerDesktopGroup -Name "NAME_OF_DESKTOP_GROUP" -SettlementPeriodBeforeAutoShutdown 00:00:15
    6. With VDA 7.15 Update 1, the icons on the Start Menu of Windows 2012 R2 and Windows 2016 are sometimes blank.

  7. Click OK twice.

Files to Synchronize

  1. Edit Files to synchronize.
  2. Enable the setting, and click Show

  3. Add the following three entries so Java settings are saved to the roaming profile:
    AppData\LocalLow\Sun\Java\Deployment\security\exception.sites
    AppData\LocalLow\Sun\Java\Deployment\security\trusted.certs
    AppData\LocalLow\Sun\Java\Deployment\deployment.properties
    
  4. Bob Bair at Citrix Discussions recommends these additional files for Chrome:
    AppData\Local\Google\Chrome\User Data\First Run
    AppData\Local\Google\Chrome\User Data\Local State
    AppData\Local\Google\Chrome\User Data\Default\Bookmarks
    AppData\Local\Google\Chrome\User Data\Default\Favicons
    AppData\Local\Google\Chrome\User Data\Default\History
    AppData\Local\Google\Chrome\User Data\Default\Preferences
  5. Citrix’s Start Menu Roaming documentation says that Appdata\Local\Microsoft\Windows\UsrClass.dat* should be added to the list. Profile Management 1909 and newer automatically add Appdata\Local\Microsoft\Windows\UsrClass.dat* to the Files to Synchronize list.

    • You can disable the automatic inclusion of these folders by enable the setting Disable automatic configuration located under Advanced Settings.
  6. Then click OK twice to return to the Group Policy Editor.

Folders to mirror

  1. Under File System, in the Synchronization node, enable the setting Folders to mirror.
  2. Enable the setting, and click Show.

  3. Add the following:
    AppData\Roaming\Microsoft\Windows\Cookies
    AppData\Local\Microsoft\Windows\INetCookies
    AppData\Local\Microsoft\Windows\WebCache
    AppData\Local\TileDataLayer
    AppData\Local\Microsoft\Vault
    AppData\Local\Microsoft\Windows\Caches
    AppData\Local\Packages
    AppData\Local\Google\Chrome\User Data\Default
  4. Click OK.
  5. Profile Management 2106 and newer have a setting called Accelerate folder mirroring that stores the mirrored folders in a VHDX file instead of copying back and forth at login and logoff.

    • UPM creates a folder named MirrorFolders in the user’s UPM path and creates a couple thin-provisioned VHDX files in that path.
    • Disk Management shows that the mounted Diff disk has a 50 GB capacity limit.
    • Logging into multiple sessions concurrently results in multiple Diff disks.
    • If the file server is unavailable then unpredictable behavior occurs. After the file server is back up, the session continues to misbehave and won’t recover until users log off and log back on. Plan for file server high availability that can handle always-open VHDX files. DFS won’t help you.
    • Profile Management 2109 and newer can Automatically reattach detached VHDX disks.
  6. According to CTX213190 Configure UPM to save password in Internet Explorer, you’ll also need a User Configuration > Preferences > Windows Settings > Folders item to create the %localappdata%\Microsoft\Vault folder.

Profile Container

  1. Profile Management 1903 and newer have a Profile container setting.
    • In Profile Management 2009 and newer, the Profile container setting moved to its own node.
    • In older versions of Profile Management, Profile Container is located under File System | Synchronization.
  2. Click the Show button to specify profile paths that should be placed in the mounted file share profile disk (VHDX file) instead of copied back and forth at logon and logoff.
    • In Profile Management 2009 and newer, you can specify * to put the entire profile in the Container. Then use the other two settings to exclude folders from the Container. See Profile Container at Citrix Docs.

    • In Profile Management older than version 2009, this setting is for large cache files (e.g. Citrix Files cache), and is not intended for the entire profile.
  3. Profile Management 2103 and newer have a setting to Enable local caching for profile containers. Combine this with Profile Streaming for faster logons. The entire profile should be stored in the profile container.
  4. On the left, under Advanced Settings, Profile Management 2103 and newer have a setting to Enable multi-session write-back for profile containers. This setting applies to both UPM Profile Container and Microsoft FSLogix Profile Container. If the same user launches multiple sessions on different machines, changes made in each session are synchronized and saved to the user’s profile container disk.
  5. Profile Management 2109 and newer can Automatically reattach detached VHDX disks.
  6. Citrix recommends using Profile Container for Microsoft Teams.
  7. See CTX247569 Citrix Profile Management: Troubleshooting Profile Containers.

Registry Exclusions

  1. On the left, under Profile Management, click Registry.
  2. On the right, open Enable Default Exclusion List.
  3. Enable the setting. You can use the checkboxes to control which registry keys you don’t want to exclude.
  4. According to Citrix CTX221380 Occasionally, File Type Association (FTA) Fails to Roam with Profile Management 5.7 on Windows 10 and Windows Server 2016, Software\Microsoft\Speech_OneCore should be unchecked. Click OK.
  5. The setting Exclusion List under Registry lets you exclude registry keys from the roaming profile.
  6. Nick Panaccio in the comments says that if Office with ADFS constantly prompts for login, then you should exclude the following:
    Software\Microsoft\Office\16.0\Common\Identity
  7. Nick Panaccio at IE11 Enterprise Mode and UPM at Citrix Discussions has a list of registry exclusions for IE in Enterprise Mode.
    Software\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\Cache\Extensible Cache\EmieUserList
    Software\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\Cache\Extensible Cache\EmieSiteList
  8. Click OK when done.
  9. For the NTUSER.DAT backup setting, which is disabled by default, you can enable it to provide some resiliency against profile corruption.

Log Settings

  1. In the Log Settings node, enable the Enable logging setting. This will make it easy to troubleshoot problems with Profile Management. The logfile is located in C:\Windows\System32\LogFiles\UserProfileManager.
  2. Edit the Log settings setting.
  3. Enable the setting and check the boxes next to Logon and Logoff. Click OK.
  4. If your VDA is a Provisioning Services Target Device and/or non-persistent, consider moving the log file to the local persistent disk (e.g. D:\Logs), or to a central share. If a central share, the VDA computer accounts (e.g. Domain Computers) will need Modify permission to the log file path. To change the log file path, edit the Path to log file setting.


  5. CTX123005 Citrix UPM Log Parser
  6. CTX200674 How To: Review Profile Management Log Files using Microsoft Excel 

Profile Streaming

  1. Go to the Profile handling node under Profile Management.
  2. Profile Management 1909 and newer have a setting called Automatic migration of existing application profiles under Profile Handling that can migrate existing profiles when you upgrade the version of Windows 10. This setting requires the !CTX_OSNAME! variable in your profile store path.
  3. Enable the setting Delete locally cached profiles at logoff. Note: this might cause problems in Windows 10.

    Helge Klein has a tool to delete locally cached profiles on a session host. http://helgeklein.com/free-tools/delprof2-user-profile-deletion-tool/. This tool should only be needed if profiles are not deleting properly.
  4. For Windows 10/2016 machines, CTX216097 Unable to Delete NTUSER.DAT* Files When a User Logs off recommends setting Delay before deleting cached profiles to 40 seconds.

  5. Enable the setting Migration of existing profiles, and set it to Local and Roaming.  Citrix CTX221564 UPM doesn’t migrate local user profile since version 5.4.1.

  6. Enable the setting Local profile conflict handling, and set it to Delete local profile. Note: this might cause problems on Windows 10.

  7. Under Profile Management > Streamed user profiles is Profile streaming. Enable this setting to speed up logons.
  8. Profile Management 2103 and newer have a setting to Enable profile streaming for folders, which should speed up logons.
  9. Profile Management 7.16 and newer have XenApp Optimization (aka Citrix Virtual Apps Optimization) feature, which uses Microsoft UE-V templates to define specific settings that should be saved and restored at logoff and logon. See George Spiers XenApp Optimization (new in CPM 7.16+) for details.

  10. After modifying the GPO, use Group Policy Management Console to update the VDAs.
  11. Or run gpupdate /force on the VDAs, or wait 90 minutes.

Mandatory Profile – Citrix Method

Profile Management 5.0 and newer has a mandatory profile feature. Alternatively, use the Microsoft method. Also see James Rankin How to create mandatory profiles in Windows 10 Creators Update (1703).

  1. Create a file share (e.g. \\fs01\profile). Give Read permission to Users and Full Control to Administrators.
  2. Login to the VDA machine as a template account. Do any desired customizations. Logoff.
  3. Make sure you are viewing hidden files and system files.
  4. Copy C:\Users\%username% to your fileshare. Name the folder Mandatory or something like that. Citrix Profile Management does not need .v2 or .v4 or .v6 on the end.

    1. You can copy C:\Users\Default instead of copying a template user. If so, remove the Hidden attribute. If you use Default as your mandatory, be aware that Active Setup will run every time a user logs in.
  5. Open the AppData folder and delete the Local and LocalLow folders.
  6. Java settings are stored in LocalLow so you might want to leave them in the mandatory profile. The only Java files you need are the deployment.properties file, the exception.sites file, and the security/trusted.certs file. Delete the Java cache, tmp and logs.
  7. Open regedit.exe.
  8. Click HKEY_LOCAL_MACHINE to highlight it.
  9. Open the File menu and click Load Hive.
  10. Browse to the mandatory profile and open NTUSER.DAT. Note: Citrix Profile Management does not use NTUSER.MAN and instead the file must be NTUSER.DAT.
  11. Name it a or similar.
  12. Go to HKLM\a, right-click it, and click Permissions.
  13. Add Authenticated Users and give it Full Control. Click OK.
  14. With the hive still loaded, you can do some cleanup in the registry keys. See http://www.robinhobo.com/how-to-create-a-mandatory-profile-with-folder-redirections/ and http://appsensebigot.blogspot.ru/2014/10/create-windows-mandatory-profiles-in.html?m=1 for some suggestions.
  15. Citrix CTX212784 Slow User Logon When Using Mandatory Profiles – set HKCU\a\Software\Citrix\WFSHELL\SpecialFoldersIntialized (DWORD) = 1
  16. Highlight HKLM\a.
  17. Open the File menu, and click Unload Hive.
  18. Go back to the file share and delete the NTUSER.DAT log files.
  19. Create/Edit a GPO that appplies to the VDAs. Make sure the Citrix Profile Management policy template is loaded.
  20. Go to Computer Configuration > Policies > Administrative Templates > Citrix Components > Profile Management > Profile handling. Edit the setting Template profile.
  21. Enable the setting and enter the path to the Mandatory profile.
  22. Check all three boxes. Then click OK.

Redirected Profile Folders

  1. Make sure loopback processing is enabled on your VDAs.
  2. Edit a GPO that applies to all VDA users, including Administrators.
  3. Go to User Configuration\Policies\Windows Settings\Folder Redirection. Right-click Documents, and click Properties.
  4. In the Setting drop down, select Basic.
  5. In the Target folder location drop down, select Redirect to the user’s home directory.
  6. Switch to the Settings tab.
  7. On the Settings tab, uncheck the box next to Grant the user exclusive rights. Click OK. Note: Move the contents to the new location might cause issues in some deployments.
  8. Click Yes to acknowledge this message.
  9. Right-click Desktop and click Properties.
  10. Change the Setting drop-down to Basic.
  11. Change the Target folder location to Redirect to the following location.
  12. In the Root Path box, enter %HOMESHARE%%HOMEPATH%\Desktop. It is critical that this is a UNC path and not a mapped drive. Also, since we’re using home directory variables, all users must have home directories defined in Active Directory.
  13. Switch to the Settings tab.
  14. Uncheck the box next to Grant the user exclusive rights to Desktop and click OK.
  15. Click Yes when prompted that the target is not a UNC path. You get this error because of the variable. It doesn’t affect operations.
  16. Repeat for the following folders:
    • Documents = Redirect to the User’s Home Directory
    • Desktop = %HOMESHARE%%HOMEPATH%\Desktop
    • Favorites = %HOMESHARE%%HOMEPATH%\Windows\Favorites
    • Downloads = %HOMESHARE%%HOMEPATH%\Downloads
  17. Redirect the following folders but set them to Follow the Documents folder.
    • Pictures
    • Music
    • Videos

Folders not redirected will be synchronized by Citrix Profile Management.

Verify Profile Management

  1. Once Profile Management is configured, login to a Virtual Delivery Agent and run gpupdate /force.
  2. Logoff and log back in.
  3. Go to C:\Windows\System32\LogFiles\UserProfileManager and open the pm.log file. Look in the log for logon and logoff events.

Profile Management Troubleshooting

UPM Troubleshooter

Citrix Blog Post – UPM Troubleshooter: UPM Troubleshooter is a Windows-based standalone application that examines the live User Profile Management-enabled system in a single click, gives Profile Management Configurations, information on the Citrix products installed, facility to collect and send the logs along with system utilities dashboard to analyze the issue in an effective, simplified, quick and easier manner. See the blog post for more details.

Profile Management Configuration Check Tool

UPMConfigCheck is a PowerShell script that examines a live Profile management system and determines whether it is optimally configured. UPMConfigCheck is designed to verify that Profile management has been configured optimally for the environment in which it is being run, taking into account:

  • Hypervisor Detection– The presence or absence of supported hypervisors (for example, Citrix XenServer, VMware vSphere, or Microsoft Hyper-V)
  • Provisioning Detection– The presence or absence of a supported machine-provisioning solution (for example, Machine Creation Services or Provisioning Services)
  • XenApp or XenDesktop– Whether it is running in a XenApp or a XenDesktop environment
  • User Store – Determines that the expanded Path to User Store exists.
  • WinLogon Hooking Test – Verifies that Profile management is correctly hooked into WinLogon processing. This test is for Windows Vista, Windows 7, Windows Server 2008, Windows Server 2008 R2 and requires the user running the Configuration Check Tool to have permission to access the relevant registry keys, or an error may be returned.
  • Verify Personal vDisk enabled / disabled – Whether the Personal vDisk feature of XenDesktop is enabled
  • Miscellaneous – Other factors that it is able to determine through registry or WMI queries, such as whether the computer running Profile management is a laptop

Profile Size

Sacha Thomet at Monitor you Profile directories has a script that displays the size of profiles in a profile share.

Log Parser

CTX123005 Citrix UPM Log Parser

View Log Files using Excel

CTX200674 How To: Review Profile Management Log Files using Microsoft Excel 

1,017 thoughts on “Citrix Profile Management 2109”

  1. We’re having the problem that the UserChoice FTA is not saved into the profile. As soon as I log off, the UserChoice is deleted. When I load the users registry hive from ntuser.dat the UserChoice is also missing.
    The “Software\Microsoft\Speech_OneCore=” is unchecked in the exclusion list. We use Windows Server 2016 with VDA Version 1912 CU2.
    Do you have an further ideas?

  2. Since upgrading to 2109 in C:\Users there are newly created empty folders like USERNAME_UPM_LOCAL. For what is it and how can we disable it?

    1. Is UPM renaming an existing local profile so it can restore a roaming profile? Make sure the profile doesn’t already exist locally on your master image.

      1. @Carl – no local profiles existing on the golden master image.

        GPO settings are:
        Delete localy cached profiles on logoff = 1
        Migration of existing profiles = NONE
        Local profile conflict handling = Delete local profile

        These Local-Folders appeared since upgrading from UPM 12.12 LTSR CU3 to 2109

  3. Hi, I just removed internet explorer with “Disable-WindowsOptionalFeature -FeatureName Internet-Explorer-Optional-amd64 -Online -norestart” from the Provisioned master image.

    We now have huge Problems with the “UserProfileManager.exe” (CtxProfile Service) using 5 Gb RAM and 50% CPU on all Servers 🙁 .

    Do this service requires Internet Explorer? Do anyone has experience with removing Internet Explorer from the Provisioning Master Image?

    1. Hi, same problem since a few day (but crucial since yesterday) with UserProfileManager.exe using 60% CPU on my Citrix suddenly. Don’t know why. I’ve not removed IE and no particular soft install this later days.

      1. I just found out this morning that the CPU rises when i (or others Users) Chrome starts and use. I am now investigating if a UPM Policy tries to synchronises a file that is not existing anymore. I have to say that i also actualised Chrome when i removed Internet Explorer. I ‘ll write again when i know what is going on.

          1. Good job, thank you very much for your post. Chrome 93 was indeed the killer of my Citrix servers. Reverting to Chrome 92 and disabling the Chrome update returned to normal operation.

  4. Hi Carl, Do you know why i have enabled AD GPO Folder redirection to work together with Citrix Policies, however Citrix UPM without any configuration have caused my setup to create Downloads and Desktop folder duplicate inside C:\users\USERNAME within the Citrix Session? I’m running LTSR 1912 CU3, windows Server 2019 OS VDA. Tested moving out of the OU where Citrix UPM is not applied, and Desktop, Downloads folder is not created within the C:\users\USERNAME\ folder. And have verified that these folders are created (found in UPM logging)

      1. it may cause confusion to some users that somehow love to enter the location when they enter their “full display name” folder which may show duplicate Desktop and Downloads folder, and in results in a possible data loss if they were to save it in the duplicated folder. Not sure why UPM is checking it for “SpecialFolders” in the logs

  5. Carl,

    We have been using FSLogix profile container for handling user profiles over the past 10 month and have not run into any real major issues but we have been seeing some really large user profiles. We are thinking about separating the profile and Office container or using Citrix UPM with FSLogix office container only. We are your thoughts and what do you recommend? Thanks!

    1. Either option is fine. Since you already have functional FSLogix, it’s easier to keep your existing FSLogix configs but add Office Profile Container. Note that adding a new container does not move data from the old container.

      UPM with FSLogix is also fine but you’d have to develop the config and test it.

  6. Hello Carl,

    I have done about 50 deployments using the methods you describe here as well as using Helge Klein’s method. They have been tried and true. The only change I make is to use authenticated users instead of everyone in my deployments. That said, we are having challenge trying to migrate user data from an old location to a new user data location via script to save time as we migrate about 1500 users. We have the user log in to dynamically create the user profile and user data folders (two different shares) and that sets the permissions on the user’s root share. The problem we are running into is that since the system uses creator owner to create files and folders and the user has “this folder only” rights, when we robocopy the files over and maintain the permissions of the target folder, the inherited permissions for the user will not push down – because it is set to “this folder only” at the root folder. The data is not copied over under the user context, so the user doesn’t have rights to the files or folders after the copy is complete. We have tried various other methods to push down the permissions after the fact, but are running into the same limitation since the user has “this folder only” rights and the user is not actually copying the data and creating the folders in this case.

    I’m wondering if you have run into this situation before and what you did to solve it. We are looking for a potential solution or options. I would prefer not to pre-stage the folders and break the inheritance and the model we set up. We may have another challenge there as we used “My Documents” in the UNC path for folder redirection. Windows creates a system alias called “Documents” in the target folder (special icon). If we pre-stage a folder called “Documents” via script, folder redirection will create a second documents folder and we have the same challenge. Having to re-think that practice since Windows creates the alias in this way. We have not found a way to assume the user’s context during the copy, that would solve it. I know the system can impersonate the user at times (I have seen it in the UPM logs when updating the NTUSER.dat file), but we are having trouble finding a method via script. Thanks in advance for any help or ideas.

    Steve

    1. The problem is further complicated by the fact that the old user data was under a different domain user and the target user account is under a new domain (part of a domain migration). The old user data needs to be migrated for the new account.

      1. Hi Carl, thanks for your message. Yes we are looking at that as well. We are only migrating user data, so no profile files, I was just using NTUSER.dat as an example of the system impersonating the user. That makes sense about the extra permissions. I suppose we could apply explicit permissions to each file and folder that is copied over for the user. Or push down the permissions using the SetACL tool after the files are copied. That breaks the inheritance, but may be our only way to solve it. The other option could be to run the copy script in the background to copy the data under the user’s context from inside the VDI session. Open to other ideas.

      2. Hello Carl, I was wondering if when creating the root folder for the user data if you might recommend using the permission “This folder, subfolders and files” instead for “Creator Owner” to prevent the challenge listed above when migrating data from an old user data location? The setting of Creator/Owner: full control, subfolders and files only ends up with the user having permissions of “This Folder Only” rights at the use’s root and root folders. This is fine if the files are migrated under the user’s context (i.e. copy from UNC path), but the user won’t have permissions to the subfolders and files under the root upon migrating the data using robocopy or other script. We ended up pre-staging the folders and windows did update them with the system alias icons after the user logged in (it didn’t create two folders, which was lucky). Inheritance is broken for the user permissions at the user root, but the rest of the permissions are inherited down through the structure properly. I don’t believe this will be a problem going forward since if the permissions change at the user data root they will be pushed down through the file structure.The user’s permissions themselves would need to be updated manually, but that would probably not need to happen.

        https://helgeklein.com/blog/how-to-configure-a-file-server-for-hosting-user-profiles/

  7. Hi Carl (and everybody else here),

    is there a way to define different exclusion lists for different user groups?
    We’d like to test some new directory exclusions with a test user group before we configure it for all users.
    The gpo settings “Processed groups” and “Excluded groups” just control if UPM is executed at all, but it doesn’t prevent the rest of the GPO to be applied.
    Security filtering of the GPO doesn’t work as well because it’s applied to the computers and not to the users.
    Or am I missing something?

    Thanks in advance,
    Stefan

    1. You’d probably need different Delivery Groups in different OUs and then apply different UPM GPOs to each OU.

      1. Yes, ok, we already have a separate delivery group with some test servers where we applied the new UPM GPO.
        But we wanted a bunch of users to test the new settings in real life before rolling the settings out for all users.
        Would have been good if it was possible to define these settings on user group level.
        Anyway, thanks for your quick reply and have a nice weekend 🙂

  8. Hello Carl, I am struggling with user profiles and a huge amount of files in it. Mostly IE Cookies and Chrome. Although I actually set the mentioned recommended settings. So for example AppData\Local\Microsoft\Windows\INetCookies Folder ~1700files. Maybe any hints where I could optimize. Process Cookies at logoff is enabled.

    Well Chrome is another headache for me. We use the profile.pb file in the roaming path. And as far as I know we excluded the complete AppData\Local\Google\Chrome Folder but as suddendly the Google EULA repeatetly came we changed and since then the horror started. We are coping with very slow logoff times and the scheduled reboots configured in the delivery group does not work reliable as the Server then stays in off state.

    AppData\Local\Google\Chrome\User Data\Default\JumpListIcons
    AppData\Local\Google\Chrome\User Data\Default\JumpListIconsOld
    Appdata\Local\Google\Chrome\User Data\Default\JumpListIconsMostVisited
    Appdata\Local\Google\Chrome\User Data\Default\JumpListIconsRecentClosed
    AppData\Local\Google\Chrome\User Data\Default\Cached Theme Images
    AppData\Local\Google\Chrome\User Data\Default\Cache
    AppData\Local\Google\Chrome\User Data\Default\Media Cache
    AppData\Local\Google\Chrome\User Data\Default\Application Cache
    AppData\Local\Google\Chrome\User Data\Default\Code Cache
    AppData\Local\Google\Chrome\User Data\Default\Crashpad
    AppData\Local\Google\Chrome\User Data\Default\GPU Cache
    AppData\Local\Google\Chrome\User Data\Default\Media Cache
    AppData\Local\Google\Chrome\User Data\Default\Sync Data
    AppData\Local\Google\Chrome\User Data\Default\Sync Data Backup
    AppData\Local\Google\Chrome\User Data\Default\Service Worker
    AppData\Local\Google\Software Reporter Tool
    AppData\Local\Google\Chrome\User Data\PepperFlash

    Hope you have some ideas for me how to optimize.
    Regards

  9. Edge exclusions in case you need to copy-paste:

    AppData\Local\Microsoft\Edge\User Data\Ad Blocking
    AppData\Local\Microsoft\Edge\User Data\BrowserMetrics
    AppData\Local\Microsoft\Edge\User Data\Crashpad
    AppData\Local\Microsoft\Edge\User Data\PepperFlash
    AppData\Local\Microsoft\Edge\User Data\Safe Browsing
    AppData\Local\Microsoft\Edge\User Data\ShaderCache
    AppData\Local\Microsoft\Edge\User Data\SmartScreen
    AppData\Local\Microsoft\Edge\User Data\Subresource Filter
    AppData\Local\Microsoft\Edge\User Data\Trust Protection Lists
    AppData\Local\Microsoft\Edge\User Data\WidevineCdm
    AppData\Local\Microsoft\Edge\User Data\Default\blob_storage
    AppData\Local\Microsoft\Edge\User Data\Default\BudgetDatabase
    AppData\Local\Microsoft\Edge\User Data\Default\Cache
    AppData\Local\Microsoft\Edge\User Data\Default\Code Cache
    AppData\Local\Microsoft\Edge\User Data\Default\File System
    AppData\Local\Microsoft\Edge\User Data\Default\GPUCache
    AppData\Local\Microsoft\Edge\User Data\Default\IndexedDB
    AppData\Local\Microsoft\Edge\User Data\Default\JumpListIconsRecentClosed
    AppData\Local\Microsoft\Edge\User Data\Default\JumpListIconsTopSites
    AppData\Local\Microsoft\Edge\User Data\Default\Local Storage
    AppData\Local\Microsoft\Edge\User Data\Default\Storage
    AppData\Local\Microsoft\Edge\User Data\Default\Service Worker
    AppData\Local\Microsoft\Edge\User Data\Default\Web Applications

    1. Great! Thanks, Sergio! So simple yet so helpful.
      I was looking for this in Carl’s post. @Carl…? 😉

  10. Hello Carl, I’m having the same problem stated above, just started a few weeks ago after working for months. Our profiles appear to be frozen in time. No new changes are saved between sessions, but existing changes before the issue occurred are persistent. New users that just came on the platform are having no changes being saved. We are using WEM and UPM with VDA 7.15 LTSR CU6 on WIn10 VDI via MCS. The logs below show that it finds the profile in the users store and loads it up. However upon logoff, it appears to then not be able to locate the user’s NTUSER.DAT file and the settings are not saved back. It is quite bizarre. I’ll post the log snippets below (usernames and domain names removed – placesholders). One article I read said that perhaps the machines are rebooting (refresh on logoff) before the profile can save back, but that has not been changed and it clearly tries to read the NTUSER.DAT file and can’t for some reason. Perhaps some sort of file locking issue. Just strange that it worked for months and then all of the sudden stopped working with no changes to UPM or WEM. Windows updates to the image and standard stuff during that time.

    Logon:

    2021-03-31;07:03:34.367;INFORMATION;;;1;8828;DispatchLogonLogoff: ———- Starting logon processing…

    2021-03-31;07:03:34.367;INFORMATION;;;1;8828;IsRunningInTerminalServerSession: Workstation found. Console session.

    2021-03-31;07:03:34.367;INFORMATION;;;1;8828;DispatchLogonLogoff: UserSID = S-1-5-21-1177238915-1767777339-725345543-22930673

    2021-03-31;07:03:35.195;INFORMATION;;;1;8828;DispatchLogonLogoff: Triggered policy evaluation for

    2021-03-31;07:03:35.195;INFORMATION;;;1;8828;DispatchLogonLogoff: Updated Group Policy Extension history for

    2021-03-31;07:03:35.195;INFORMATION;;;1;8828;CheckUserExistsInGroup: No Entries Found In ExcludedGroups

    2021-03-31;07:03:35.195;INFORMATION;;;1;8828;CheckUserExistsInGroup: Checking if user is a member of one of the ProcessedGroups

    2021-03-31;07:03:35.195;INFORMATION;;;1;8828;UserIsMemberOfGroup: User is a member of group .

    2021-03-31;07:03:35.195;INFORMATION;;;1;8828;CheckUserExistsInGroup: User is member of a ProcessedGroups

    2021-03-31;07:03:35.195;INFORMATION;;;1;8828;CheckIfUserNeedsToBeProcessed: Logon/logoff will be processed.

    2021-03-31;07:03:35.195;INFORMATION;;;1;8828;GetUserStorePath: User Store: Path In: \\share.domain.com\CTXPROFILES\#SAMAccountName#\!CTX_OSNAME!!CTX_PROFILEVER!

    2021-03-31;07:03:35.195;INFORMATION;;;1;8828;CADUser::Init: Determined user and DNS domain name:

    2021-03-31;07:03:37.179;INFORMATION;;;1;8828;CADUser::Init: Determined the ADsPath of user:

    2021-03-31;07:03:37.179;INFORMATION;;;1;8828;GetUserStorePath: User Store: Path Out: \\share.domain.com\ctxprofiles\username\Win10RS5v6

    2021-03-31;07:03:37.179;INFORMATION;;;1;8828;SessionCount:RealTimeCount – Detected a Client OS, not using WTS calls

    2021-03-31;07:03:37.538;INFORMATION;;;1;8828;ProcessLogon: Found a profile in the user store:

    2021-03-31;07:03:37.538;INFORMATION;;;1;8828;QueryLocalProfile: No profile directory found.

    2021-03-31;07:03:37.538;INFORMATION;;;1;8828;QueryLocalProfile: Determined the name of a new profile directory: .

    2021-03-31;07:03:37.538;INFORMATION;;;1;8828;CreateLocalProfile: Profile directory initialized:

    2021-03-31;07:03:37.601;INFORMATION;;;1;8828;ProcessLogon: Starting to restore directories and files.

    2021-03-31;07:03:50.835;INFORMATION;;;1;8828;StartJitSupport: Starting streamed profile support thread.

    2021-03-31;07:03:50.835;INFORMATION;;;1;8828;ProcessLogon: User logging on with Streamed Profile support enabled.

    2021-03-31;07:03:50.835;INFORMATION;;;1;8828;ProcessLogon: Restore finished.

    2021-03-31;07:03:51.085;INFORMATION;;;1;8828;CreateV2ProfileJunctions: Starting to create NTFS junctions…

    2021-03-31;07:03:51.085;INFORMATION;;;1;8828;ReadFolderRedirectionSettings: S-1-5-21-1177238915-1767777339-725345543-22930673\Software\Citrix\UserProfileManager\FolderRedirection\Settings

    2021-03-31;07:03:51.117;INFORMATION;;;1;8828;CreateV2ProfileJunctions: Finished creating NTFS junctions.

    2021-03-31;07:03:51.132;INFORMATION;;;1;8828;ProcessLogon: Performing Cross Platform logon processing

    2021-03-31;07:03:51.132;INFORMATION;;;1;8828;CpsUserData::Init: Cross Platform is not enabled

    2021-03-31;07:03:51.335;INFORMATION;;;1;8828;CRegistryHive::Unload: Unloaded registry hive .

    2021-03-31;07:03:51.335;INFORMATION;;;1;8828;DispatchLogonLogoff: Updated Group Policy Extension history for

    2021-03-31;07:03:51.335;INFORMATION;;;1;8828;DispatchLogonLogoff: ———- Finished logon processing successfully in [s]: .

    Logoff:

    2021-03-31;06:59:38.106;INFORMATION;;;1;17048;DispatchLogonLogoff: ———- Starting logoff processing…

    2021-03-31;06:59:38.106;INFORMATION;;;1;17048;DispatchLogonLogoff: Session is a console session.

    2021-03-31;06:59:38.106;INFORMATION;;;1;17048;DispatchLogonLogoff: UserSID = S-1-5-21-1177238915-1767777339-725345543-22899194

    2021-03-31;06:59:38.106;INFORMATION;;;1;17048;SessionCount:RealTimeCount – Detected a Client OS, not using WTS calls

    2021-03-31;06:59:38.106;INFORMATION;;;1;17048;ProcessLogoff: Profile directory read from registry: C:\Users\e671950

    2021-03-31;06:59:38.137;INFORMATION;;;1;17048;CRegistryHive::Load: RegLoadKey of succeeded.

    2021-03-31;06:59:38.137;INFORMATION;;;1;17048;ProcessLogoff: Successfully open registry file NTUSER.DAT for cross-platform processing during logoff.

    2021-03-31;06:59:38.137;INFORMATION;;;1;17048;ProcessLogoff: Performing Cross Platform logoff processing

    2021-03-31;06:59:38.137;INFORMATION;;;1;17048;CpsUserData::ProcessChangedFiles: Cross Platform processing will not be performed for user

    2021-03-31;06:59:42.387;INFORMATION;;;1;17048;ProcessLogoff: Found registry hive file in: .

    2021-03-31;06:59:42.481;INFORMATION;;;1;17048;CRegistryHive::Unload: Unloaded registry hive .

    2021-03-31;06:59:42.481;INFORMATION;;;1;17048;RegistryWriteBack: Copying user registry file.

    2021-03-31;06:59:42.528;INFORMATION;;;1;17048;RegistryWriteBack: Copying user registry file succeeded.

    2021-03-31;06:59:42.528;INFORMATION;;;1;17048;RegistryWriteBack: Locking user registry file.

    2021-03-31;06:59:43.356;INFORMATION;;;1;17048;CRegistryHive::Unload: Unloaded registry hive .

    2021-03-31;06:59:43.356;INFORMATION;;;1;17048;ApplyRegChanges: Finished applying registry changes.

    2021-03-31;06:59:43.356;INFORMATION;;;1;17048;CRegistryHive::Unload: Unloaded registry hive .

    2021-03-31;06:59:43.356;INFORMATION;;;1;17048;Saving Registry changes back to user store…

    …..

    2021-03-31;10:08:43.494;INFORMATION;;;1;17788;RegistryWriteBack: Copying user registry file.

    2021-03-31;10:08:43.496;INFORMATION;;;1;17788;NTUSER.DAT not found in userstore, try to load NTUSER.DAT.LASTGOODLOAD.

    2021-03-31;10:08:43.496;ERROR;;;1;17788;UpmUserStore::UpdateNtuserDatWithLastGoodLoad: There is no NTUSER.DAT.LASTGOODLOAD in the path:\\share.domain.com\ctxprofiles\username\Win10RS5v6\Pending\UPM_Profile\NTUSER.DAT.LASTGOODLOAD 0x2. The system cannot find the file specified.

    2021-03-31;10:08:43.590;INFORMATION;;;1;17788;RegistryWriteBack: Copying user registry file succeeded.

    2021-03-31;10:08:43.590;INFORMATION;;;1;17788;RegistryWriteBack: Locking user registry file.

    2021-03-31;10:08:43.784;INFORMATION;;;1;17788;CRegistryHive::Unload: Unloaded registry hive .

    2021-03-31;10:08:43.784;INFORMATION;;;1;17788;ApplyRegChanges: Finished applying registry changes.

    2021-03-31;10:08:43.785;INFORMATION;;;1;17788;Saving Registry changes back to user store…

    1. It looks like the error message was coming from Active Write Back. I disabled the setting and the errors have gone away in the logs, but the new profile settings are still not saving back to the user store. I am now looking at AV to see if it might be a culprit.

      1. Hello Carl and All, I believe I have found the problem using the UPM Parsing tool. The NTUSER.DAT file appears to be locked by another process at logoff. There is one CTX article that addresses this, but we are already on VDA 7.15 LTSR CU6. I have opened a case with Ctirix and will send an update when we find a solution:

        CRegistryHive::Load: RegLoadKey of to failed with: The process cannot access the file because it is being used by another process.

        https://support.citrix.com/article/CTX226731

        1. Hello Carl and all,

          It turns out that the problem was caused by enabling the “Enable Registry Inclusions” check box in WEM under the Registry tab. We had a setting that was reported not being saved back by development, so we added the key there. This apparently disables all the default inclusions for the HKCU hive that is set by default (you would have to add them all back in which is not feasible). There is no information or description in the WEM console to know this, but if you go to the Citrix Policies and read the description on the setting it tells you there. That said, there is no explanation why the problem caused the NTUSER.DAT file to lock and generate access denied and other errors in the logs/traces because a single setting was set, so this seems like a bug in the Citrix code to me. Citrix was completely lost on this case (including escalation – they thought it was a permissions issue) and I had to figure this out myself though process of elimination. It was a literal needle in a haystack. The problem presented itself as something very different than a setting that would just exclude the HKCU hive preventing most settings from being written back to the user store. I wanted to provide an update and hope this saves someone else the pain it caused us.

          Steve

  11. Hi Carl,

    There is a mistake in your post. In the section “Folder to mirror” you list the following paths/folders:
    AppData\Local\Google\Chrome\User Data\First Run
    AppData\Local\Google\Chrome\User Data\Local State
    AppData\Local\Google\Chrome\User Data\Default\Bookmarks
    AppData\Local\Google\Chrome\User Data\Default\Favicons
    AppData\Local\Google\Chrome\User Data\Default\History
    AppData\Local\Google\Chrome\User Data\Default\Preferences

    But these are actually FILES which you mention earlier correctly in your post.

    Just in hint 😉

    Hong

  12. Hi Carl

    In the GPO we have linked to our W2016 Citrix session servers, we have the following setting enabled to migrate users’ old profiles to Citrix Profile Management:

    Computer Configuration > Administrative Templates > Citrix Components > Profile Management > Profile handling > Migration of existing profiles

    I know this is working as we can see the users old files showing up when logging into the new Citrix session servers.

    I can’t see how it knows where the source location is for existing user profiles as we are missing the following policy setting does not appear in the GPO where you mention this can be specified in version 1909 onwards:

    Computer Configuration > Administrative Templates > Citrix Components > Profile Management > Migrate user store

    Wondering if you might know how it knows the source location to pull old user profile from in the absence of this setting?

    Also, what policy setting can I use please to omit dragging over Start Menu data from user’s old profiles (I believe this is separate to the file syncing exclusions you can specify as I’m purely referring to items to exclude in the migration of old user profile data but please correct me if I’m wrong)?

    Thank you

    1. “Migration of existing profiles” migrates profiles under C:\Users to an empty UPM profile share. Roaming vs Local is based on what you see in sysdm.cpl > Advanced > User Profiles > Settings. All roaming profiles are copied to C:\Users during logon.

      I don’t think I’ve tried “Migrate user store” before. That would point to a UPM user store.

      You could have a script that saves the settings you want at logoff to the user’s home directory. Then create new profiles for each user and during logon restore the settings from the user’s home directory.

  13. Hi Carl, Thanks for putting this all together in one place.

    Below are the Edge exclusions for the your screencap, copy paste easy 🙂

    AppData\Local\Microsoft\Edge\User Data\Ad Blocking
    AppData\Local\Microsoft\Edge\User Data\BrowserMetrics
    AppData\Local\Microsoft\Edge\User Data\Crashpad
    AppData\Local\Microsoft\Edge\User Data\Safe Browsing
    AppData\Local\Microsoft\Edge\User Data\ShaderCache
    AppData\Local\Microsoft\Edge\User Data\SmartScreen
    AppData\Local\Microsoft\Edge\User Data\Subresource Filter
    AppData\Local\Microsoft\Edge\User Data\Trust Protection Lists
    AppData\Local\Microsoft\Edge\User Data\WidevineCdm
    AppData\Local\Microsoft\Edge\User Data\Default\Cache
    AppData\Local\Microsoft\Edge\User Data\Default\Code Cache
    AppData\Local\Microsoft\Edge\User Data\Default\File System
    AppData\Local\Microsoft\Edge\User Data\Default\GPUCache
    AppData\Local\Microsoft\Edge\User Data\Default\IndexedDB
    AppData\Local\Microsoft\Edge\User Data\Default\JumpListIconsRecentClosed
    AppData\Local\Microsoft\Edge\User Data\Default\JumpListIconsTopSites
    AppData\Local\Microsoft\Edge\User Data\Default\Local Storage
    AppData\Local\Microsoft\Edge\User Data\Default\Storage
    AppData\Local\Microsoft\Edge\User Data\Default\Service Worker
    AppData\Local\Microsoft\Edge\User Data\Default\Web Applications

  14. Hello Carl, Good Evening! How are doing ?

    Big fan here.

    I running XenDesktop 7.15 LTSR CU2 over XenServer 7.1 CU1 LTSR with PVS Accelerator enabled. On my vDisk image (Win10), I have Microsoft Teams installed, and this my big challenge here , because the PVS Write Cache is filling up very quickly.

    So I testing my VDI (XenDesktop + Win10, version 2004) with Citrix UPM for Roaming profile plus Folder Redirection, and to cached all files from Microsoft Teams and OneDrive I used FSLogix with option Office365 Container.

    My Doubt the both guys Citrix UPM + FSLogix Office365 Container can work together?

    If yes, there anychange to decrease VHDX Office365 container size ? Because, on my first logon, the VHDX file already have 1,5GB.

    Thanks a lot

    Best Regards.

    1. Is Teams installed using the machine-wide installer?

      Yes, FSLogix Office Container and UPM work together. Just make sure you add exclusions to UPM for whatever you are capturing in FSLogix.

  15. Hi Carl,
    we are experiencing a strange behaviour which I can’t identify. We are using Windows GPOs for homefolder redirection (profiles are handled by FSLogix). (loopback/replace is configured)
    Now our VDAs sometimes, after daily reboot, are not able to apply the folder redirection policy (it’s pauses at the “applying folder redirection” during logon, this can take up to several minutes), then starts the user session. But homefolder data has been copied into the profile. (This is configured in the policy in case of the GPO being removed).
    Strangely this only happens to some VDAs and with the next reboot and can be fine again on these and happen on others. Once a user logged in on VDA where the policy has been applied correctly, Data is moved out of the profile again.
    But even on the VDAs where the policy does not work correctly, you can see that documents and the other folders are actually redirected to the correct DFS location…
    I’m stuck and can’t find the problem.
    May be you’ve got an idea?

    Thank you!

    Regards,

    Florian

      1. Thanks for fast reply.
        Sorry, my fault. I was investigating a bit further and it is actually not working…
        What I see is that for a server where the FDR is not applied, no User GPOs are actually applied. So it seems we have reboots where it works fine and then we have reboots where it does not apply User GPOs at all… Computer GPOs are getting applied though.

  16. Hello carl,

    I am not using the citrix profile manager for my user profiles so this one has not installed on my VDAs. On the other hand, even if I don’t use it, is it the one who feeds the information back to the Director for citrix user logon times?

      1. Hello Carl,

        to install it I can go from the DVD 1912ltrs Cu1
        D: \ x64 \ ProfileManagement \ profilemgtx64.msi is that the one? there are other elements to install?

  17. Hi Carl,

    We’ve been trying to troubleshoot some file server issues lately, and I currently feel like Citrix is not the root cause but we are exploring all options. We run a term server farm of roughly 70 term servers (Server 2016) (non-persistent) housing ~1500 users spread out fairly evenly. Towards the end of the day it seems like things start to really slow down and we will find dozens if not hundreds of folks stuck logging off. But it’s not just Citrix affected, basically anything talking to the file server cluster where the profiles (and many other things are stored), it just drags. So, a few things to point out I guess:
    – We are looking at migrating the Profiles volume/share to its own file server, try and isolate the issue at least
    -We are in the process of upgrading our environment from 7.15LTSR CU3
    -Storefronts are 3.2 CU6
    -PVS is 1912 LTSR CU1
    -Director is 1912 LTSR CU1
    -Lic server is 1912.

    Really the only thing left to upgrade is the delivery controllers and VDA (currently testing VDA 1912 LTSR on a few servers)

    Anyhow, I guess my question is, what could I look at to possibly improve our situation and prevent the profile hangups from snowballing to whatever else is going on with the file server?

    We are using WEM to configure UPM and one thing I noticed is we have Profile streaming enabled, active write back for registry enabled, but not active write back. I keep reading conflicting stories about whether I should or should not enable write back. Also, I don’t know why we have registry write back if file write back is not enabled, I thought that was bad?

    Anyways, not sure if this makes a whole lot of sense, it’s late, I’m tired, the last few nights we’ve been working late, rebooting term servers once we see all the sessions on it “idle” (really they’re just stuck logging off), in order to let other file server tasks finish, like backup jobs and stuff.

    I think separating the Citrix Profiles volume will at least help isolate things, I just don’t know what has happened within the last couple of weeks that has aggravated the situation.

    Thanks, and good night.

    1. Just an update on this, we did migrate the profiles volume to its own file server. While this has alleviated the latency on the rest of the shares, the slow logoffs still persist, so we only succeeded in isolating the problem a bit. Our environment is now on 1912 CU1, and we have once again reached out to Citrix. They are again suggesting that we try AWB. I know your blog says to turn it off due to impact on file server, which I brought up with Citrix, but they say that we should still try it though. I guess really I would like to hear if someone else has had positive results with AWB, I still tend to find mixed responses on other sites, but I think maybe the majority I’ve come across say it did not help, or had a negative impact. Some sources say the biggest potential impact would be in the mornings, when everyone is logging on. An example they gave is that if they all open up Internet Explorer soon after they log in, then it could potentially mean a burst of write back activity once they close it out, with the webcachev01.dat file and some other things.

      1. I think Active Write Back writes all changes to the file share as the changes occur throughout the day even if the same file changes multiple times throughout a day. AWB might pre-upload the changes to the file share so the logoff doesn’t have to do as much.

        1. Yes, that is one understanding that I had of it as well. It almost feel like they’re trying to mimic a profile container in a way. So in a profile container, you have a .vhd file, which is mounted to the VDA, then from there, the only “write” activity that’s happening is to the files that are actually being modified. Then at the end of the day there’s just the dismount process when they log off, not sure how much “writing” that actually produces on a file server. At least that’s how I understand it.
          Side note: We have recently started implementing FSLogix for a small group of single-session (Win10) users. While the experience has been fairly good, we are still fine tuning some things (One FSLogix profile could be anywhere from 6-10GB whereas I’ve manage to cut down UPM profiles to under 100mb for the most part). FSLogix is something I am interested in applying to all of our user base, but we have much more testing and fine tuning before we can really push for that change.

  18. Hi, Carl,

    I hope you and your family are in good health.

    I am confused about the cross-platform policy and Citrix support couldn’t help too much.

    Can you please advise me on how to configure the policy in the below context?

    – currently, we have XA 6.5 farm (Windows server 2018 R2 VMs) and we want to migrate to XD 7.1912 (new Windows Servers 2016 VMs)
    – I already created a profile management policy for XD 7 (including folder redirection), where I published the new 2016 servers
    – the current profiles corresponding to W 2008 servers are saved in the user’s store
    – the new profiles corresponding to W 2016 (XD 7) are saved in a different user’s store location
    – our goal is to migrate Office 2016 settings from W 2008 to W 2016, so the users would not have to enter the Outlook credentials again when they connect to the published desktops for the first time

    Thank you

  19. Carl
    I am reviewing VDA logs trying to learn what makes a successful logon and why some are not so successful .
    My success = 30 second or less logon time. i have some logons taking up to 50 seconds
    I am using UPM and FSlogix.

    Log results

    Starting logon processing…
    2020-10-08;08:42:11.330;INFORMATION;;;78;15356;IsRunningInTerminalServerSession: Terminal services installed.
    2020-10-08;08:42:11.330;INFORMATION;;;78;15356;IsRunningInTerminalServerSession: ICA session.
    2020-10-08;08:42:11.334;INFORMATION;Domain;user.name;78;15356;DispatchLogonLogoff: UserSID = S-1-5-21-2053067395-2001430784-1236798564-31243

    Right off the bat it shows a fail

    2020-10-08;08:42:11.339;ERROR;Domain;user.name;78;15356;DispatchLogonLogoff: Triggering policy evaluation for failed: 0x106

    it continues and looks normal gathering info

    Logon/logoff will be processed.
    GetUserStorePath: User Store: Path In: \\svr\xaprofiles\#samaccountname#\!ctx_osname!!ctx_profilever!
    User Store: Path Out: \\svr\xaprofiles\user.name\Win2016v6
    ProcessLogon: Found a profile in the user store: .
    2020-10-08;08:42:11.413;INFORMATION; Domain;user.name;78;15356;QueryLocalProfile: Profile directory read from registry: c:\users\user.name
    2020-10-08;08:42:11.413;INFORMATION; Domain;user.name;78;15356;Mark as UPM profile by force to support FSLogix

    2020-10-08;08:42:11.417;INFORMATION;Domain;user.name;78;15356;GetUserStorePath: ParentVhdFolder: Path In: \\svr\xaprofiles\

    INFORMATION;Domain;user.name;78;15356;GetUserStorePath: ParentVhdFolder: Path Out: \\svr\xaprofiles
    2020-10-08;08:42:14.843;;Domain;user.name;78;15356;Copied NTUSER.DAT from \\svr\xaprofiles\user.name\Win2016v6\UPM_Profile\NTUSER.DAT to c:\users\user.name\NTUSER.DAT The operation completed successfully.

    Not sure why it copies from svr to local vda

    INFORMATION;Domain;user.name;78;15356;ProcessLogon: Starting to restore directories and files.
    2020-10-08;08:42:14.843;INFORMATION;Domain;user.name;78;15356;Now start to copy from\\svr\xaprofiles\user.name\Win2016v6\UPM_ProfileTo c:\users\user.name
    2020-10-08;08:42:27.372;INFORMATION;Domain;user.name;78;15356;Finished copying from\\svr\xaprofiles\user.name\Win2016v6\UPM_ProfileTo c:\users\user.name

    Than there is about 100 pages of errors, this is just a sampling

    2020-10-08;08:42:27.505;ERROR;Domain;user.name;78;15356;FindFirstFileAPIWrapper: FindFirstFile for path returned: The system cannot find the file specified.
    2020-10-08;08:42:27.506;ERROR;Domain;user.name;78;15356;FindFirstFileAPIWrapper: FindFirstFile for path returned: The system cannot find the file specified.
    2020-10-08;08:42:27.506;ERROR;Domain;user.name;78;15356;FindFirstFileAPIWrapper: FindFirstFile for path returned: The system cannot find the path specified.
    2020-10-08;08:42:27.506;ERROR;Domain;user.name;78;15356;FindFirstFileAPIWrapper: FindFirstFile for path returned: The system cannot find the path specified.
    2020-10-08;08:42:27.507;ERROR;Domain;user.name;78;15356;FindFirstFileAPIWrapper: FindFirstFile for path returned: The system cannot find the file specified.

    1. Is Profile Streaming enabled? Even if it’s enabled, ntuser.dat must be copied down.

      What version of VDA?

      1. No
        Policy Setting Comment
        Profile streaming Disabled et profile streaming to disabled when FSLogixSupport is enabled as there is a conflict and will cause reparse point corruption
        Policy Setting Comment

        VDA 2006

        1. Are you doing multi-session write-back for FSLogix Profile Container? Or are you just doing FSLogix Office Container?

          1. Carl
            Ohh
            i have Computer\Policies\Admin Templates\Profile mgmt\Advanced settings\Enable multi-session “ENABLED”
            My intent is to manage office Profiles with FSLogix and all others with Citrix Profile management

    2. Hi Carl,

      For a new deployment with CVAD 2009, would you recommend using UPM with FSLogix or skip FSLogix and put the enitre profile in a profile container? What are the benefits in using FSLogix, when you can put the entire profile in a Profile Container?

  20. Hello Carl
    In a test deployment I did following:
    -Enable profile management -> Enable
    -Path to user store -> store’s path
    -no extra configurations
    But after logging in virtual desktop, user profiles are created in the VDA, not in the user store.
    What is the problem?
    Is there any other things to check?
    Thanks

    1. Check the log file (default location = C:\Windows\System32\LogFiles\User Profile Manager\pm.log). You might have to do some policy settings to enable the log.

  21. Hey Carl very nice guide! Followed it “mostly” on Version 1912. Yesterday upgraded the whole infrastructure to “2006” now UPM isnt working well. I´ve created an UPM Policy in Citrix Policies but this Policy won´t apply on every user (sometimes yes / sometimes no – same user) I´ve tried to determine the problem with UPM Config checker etc. The Logfile says that no upm policy is configured .ini is not set … so the defaults will be applied. This affect on our users to not load the upm settings. Followed yout guides to check if policy files appear in C:\ProgramData\CitrixCseCache – yes it is.

    Environemt is MCS with non persistand Maschines on Windows Server 2019 Datacenter on VmWare ESXi with updates Controllers Storefront WSA etc.. any suggestions? 🙂

      1. Hey Carl, thanks a lot this did the trick… sometimes it’s easier than expected. have a great day

        Best wishes
        Dominik

  22. Hi Carl,

    Can i upgrade my UPM to 5.8 from 5.3 on a 7.6 FP3 non LTSR environment?

    Secondly, for template profiles and its registry for user shell folders i realised that %USERNAME% variable is not supported and resolved when user grabs the template profile but I don’t see any issues so far. like e.g. a user’s shell folders cache still remains as C:\Users\%USERNAME%\AppData\…INetCache. would it pose of any problem or how do i resolve it?

    1. Is 5.8 the newest you’re entitled to? If you upgrade VDA, then you also get upgraded UPM.

      I think the registry have to be REG_EXPAND_SZ for it to expand the variable.

      1. Hi Carl, But does it have any dependency on the infra of Citrix if i upgrade the UPM? i.e 5.8 not supported on 7.6 vda only on 7.14.

        As for the template profile i configured the template path on Citrix policy instead of user inheriting the default profile on the VDA. But i have amended the profile to C:\Users\%USERNAME%\ on User Shell Folders in registry.

        But when i checked my own NTUSER.DAT registry hives, other than folder redirection entries is replaced things like Cache – C:\Users\%USERNAME%\AppData\Local\Microsoft\Windows\INetCache
        AppData – C:\Users\%USERNAME%\AppData\Roaming

        Question: would it cause any issues? If it doesn’t grab a template profile and based on default profile from VDA server the User Shell Folders would be like C:\users\\… etc

  23. Hello Carl,

    Great guide, wondering if you have ever seen on VDI Windows 2016, the Recycle Bin where the settings of all Recycle Bin Locations are set to “Don’t move files to the Recycle Bin. Remove files immediately when deleted”, I want to change this behavior for a certain Recycle Bin location – Desktop for all users and enable “Custom Size: 500 MB”, is there a policy that will do this for just the specified location ?

  24. Hey Carl,

    Followed your guide (thank you!) but wondering if you’ve seen this issue before. VDA 2006, Server 2019, MCS non-persistent desktops, folder redirection enabled. Users can sign into Chrome and while in the session, it stays connected fine, but when signing out and signing back in, the Chrome login is lost and it starts on the Welcome to Chrome tab. Oddly, if a user opens a new tab, their bookmarks bar shows up populated, but still not signed into Chrome/no logins remembered. Everything has been configured as discussed above regarding Chrome.

    Any thoughts?

    1. Sorry, forgot to add that we had this set of users on 2016 prior and it was working flawlessly, no GPO changes between the two. Also noticed that the First Run and Local State files never make it to the UPM_Profile folder on the 2019 version.

    2. Hi Joshua,

      Did you find a solution for this issue? I have the same and can’t find a solution.

    3. Have the same problem here in lab environment 🙁 Fresh install and tried a lot of exclusion/sync variations but still the same f*cking problem. Gets really annoying. Hoping Carl know’s a solution. Also trying mirroring the hole Default folder doesn’t fixes it.

  25. From the application side of this, no desktop just virtualized apps, have you seen any work arounds or solutions on how to open the MS-Settings/Immersive Control Panel/PC Settings app? We have an issue where program defaults are not sticking or cannot be set and we cannot open the settings page. If we do the desktop side we can open it but the problem still exist with default programs not sticking.

    Example: Open a link in Outlook, are asked “Stick with IE, Use Edge, Use other”, select Chrome to be the default. For that session Chrome stays. Log off, wait a few minutes, log back on (only one test server at this time so it is the same machine), open the same link as before and it has reverted back to IE. Looked at the registry values and the hash seems to be the key in breaking this.

    Any advice is greatly appreciated.

      1. Thank you for this information. I have tried to follow the steps provided but it does not seem to work. IE still sits as the default program for opening web browsers

          1. That worked perfectly!!! I saw that but wasn’t sure since the updated version of SetUserFTA, i thought, was supportive of the default browser. Thank you very much for your time and advice on this.

  26. Hello Carl,

    we have changed our Chrome Exclusion to the following and all files are delete because of Logon Exclusion check “Delete files or folders” but all the folders in the AppData\Local\Google\Chrome folder are still there – should’nt they deleted?

    Directory exclusion

    AppData\Local\Google

    Folder mirror

    AppData\Local\Google\Chrome\User Data\Default\Extensions
    AppData\Local\Google\Chrome\User Data\Default\Login Data
    AppData\Local\Google\Chrome\User Data\Default\Last Session

    File synchronisation
    AppData\Local\Google\Chrome\User Data\First Run
    AppData\Local\Google\Chrome\User Data\Local State
    AppData\Local\Google\Chrome\User Data\Default\Bookmarks
    AppData\Local\Google\Chrome\User Data\Default\Favicons
    AppData\Local\Google\Chrome\User Data\Default\History
    AppData\Local\Google\Chrome\User Data\Default\Preferences

  27. Do the newer Profile Management versions support creating the Desktop folder in the user profile on the server when opening a published application? We’re running 7.15 LTSR and with no folder redirection the Desktop folder is not created until the user does something in the app that then creates the Desktop folder. Published Desktops (server-based) work fine and turning off Profile Management allows the Desktop folder to be created regardless of whether a published application or desktop is opened.

    1. I haven’t tested this. Maybe you can configure Group Policy Preferences > Folders to create the Desktop folder? I assume this only applies to new users.

    2. It’s supposed to create a desktop folder. Along with the whole user director shell. Unless you excluded it. Just make sure your not excluding it in the upm policy.

Leave a Reply to Sakhi Cancel reply