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 requires PowerShell 2. UPMConfigCheck is designed to run on XenApp servers and on XenDesktop virtual desktops with Profile management installed. Supported operating systems are the same as for Profile management.

These include:

• Windows XP

• Windows Vista

• Windows 7

• Windows Server 2003

• Windows Server 2008 / Windows Server 2008 R2

32-bit and 64-bit operating system versions, where available, are supported.

Installing UPMConfigCheck

The UPMConfigCheck tool is supplied in a zipped archive. Extract the contents of the file to a temporary folder on the machine under test.

Use Cases for UPMConfigCheck

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
  • Verify Personal vDisk enabled / disabled – Whether the Personal vDisk feature of XenDesktop is enabled
  • Other factors that it is able to determine through registry or WMI queries, such as whether the computer running Profile management is a laptop

Updates (Aug 2012)

• Improved Hypervisor Detection – recognition for newer versions of Hyper-V and reporting details of manufacturer for ‘unknown’ Hypervisors.

• 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 Administrative rights, or an error may be returned.

• Personal vDisk test – Reports the percentage of the Personal vDisk is reserved for Applications, the details of which are in the Personal vDisk configuration.

• Verifies Path to User Store – Tests to determine that the expanded Path to User Store exists.

For an explanation of how all of these factors influence the Profile mangement configuration, see the eDocs topic“> “Deciding on a Configuration”.

UPMConfigCheck is intended to be used to help identify or solve problems and optimize configurations:

  • In a pilot deployment, to help set up the initial configuration for testing
  • In a production environment, to ensure that the pilot configuration has been correctly replicated
  • In either pilot or production environments, to detect a number of common known issues and misconfigurations


This tool is being released to customers on an “AS IS” basis. No support is implied, and customers are referred to the documentation“> “Deciding on a Configuration” to inform themselves on the suggestions made by the tool, and to decide for themselves whether the tool’s suggestions are appropriate for their own environment.

Support for Profile management remains a part of your normal support contract. Nevertheless, your support representative may ask you to run this tool as part of the normal diagnostics gathering procedure.

Using UPMConfigCheck

Note 1: UPMConfigCheck does not require any special permissions to run.

Note 2: UPMConfigCheck does not make any changes to the file system or the registry.

Unless otherwise directed, run UPMConfigCheck when logged on as a normal user to a physical or virtual machine in the target OU.

  • Start a PowerShell command window and ensure that PowerShell is set up to allow scripts to run.

PS > Get-ExecutionPolicy


Choose and set an appropriate execution policy according to your in-house guidelines. See “>about_Execution_Policies for help on understanding execution policies.

  • Run the script from the temporary folder into which it was unzipped.
    PS > .UpmConfigCheck.ps1

    The script does not have any parameters.

    The script analyses the environment for any factors that influence the optimum Profile management configuration. It reports the environment and any non-optimal settings in the configuration, defined either with .ini files or Group Policy. UPMConfigCheck does not make any changes to the configuration, and Citrix recommends that you read and understand the appropriate section of the eDocs topic“> “Deciding on a Configuration” before making any changes.

Understanding and Processing UPMConfigCheck Output

Non-optimal settings are generally indicated by lines beginning with three asterisks, such as:

– Checking Pilot or production? –
/ Checking PathToUserStore /
GetPolicyGeneralSetting: Check HKLM:\SOFTWAREPoliciesCitrixUserProfileManager : PathToUserStore
PathToUserStore = \FTLEPROF01.eng.citrite.netUPM-XDIbizaPvD-Win7x86#CN#
Expanding using current environment, policy expands to ‘\Servername.domain.comUPM-XDIbizaPvD-Win7x86Bill Powell’ for current user
(from event log, expands to ‘\ftleprof01.eng.citrite.netupm-xdibizapvd-win7x86bill powellUPM_Profile’ for current user)
*** Path to user store contains #CN# – #SAMAccountName# or %USERNAME%.%USERDOMAIN% is recommended to avoid spaces in name
Path to user store appears to be a fileshare or DFS namespace, assuming Production

In this case, the script warns that the use of #CN# is not recommended, and suggests the use of either #SAMAccountName# or %USERNAME%.%USERDOMAIN% instead.

If you have been asked by Citrix Technical Support to run the tool and collect diagnostics from it, you should pipe the output to a file.

PS > .UpmConfigCheck.ps1 > diagnostics.txt

Then send the resultant file (diagnostics.txt) as directed by your Citrix contact.

Download the tool here.

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.