VMware User Environment Manager provides debug logging to help you to identify and troubleshoot issues. This topic explains how to work with log files to troubleshoot your environment.


  1. Configure FlexEngine logging settings or verify the configuration if already configured.
    Table 1. Steps to Configure FlexEngine Logging
    Option Description
    Path and name of log file

    Enter a location that is unique for each user, and include the file name FlexEngine.log. For example:


    Log level For the purpose of debugging, set the log level to Debug.
    Note: Do not use Debug or Info in production environments, because the amount of logging information might slow down the login and logout process.
    Maximum log file size in kB Set the maximum size of the log file. If you set a maximum log file size, the log file is created again after that size is reached. If you set the maximum size to 0, the log file expands indefinitely.
    Log total size of profile archive and profile archive backups folders FlexEngine logs the number of profile archives and profile archives backups, and their file sizes at the end of a path-based export.
  2. Log into your target machine and then log out to allow User Environment Manager to generate a log file with an "import" (login) and "export" (logout) section.
  3. Open a FlexEngine.log file that contains at least one import and one export action.
  4. Search for the line "Performing path-based import", and scroll up to view the line, "Starting FlexEngine...".
    1. Check the version number to determine which version of FlexEngine is installed. Check the release notes for your FlexEngine version to see if any known issues apply to your installation.
      [INFO ] Starting FlexEngine v9.2.0.701 [IFP#bf65d9d3-T5>>]
    2. Check to see how the User Environment Manager agent is started at login. User Environment Manager is configured to run as a Group Policy client-side extension, a logon script, or directly from FlexService. Use a Group Policy client-side extension or NoAD mode unless a logon script is specifically required by your environment limitations. The following example shows the login mode.
      [INFO ] Running as Group Policy client-side extension
    3. Check to see if the login occurred without incident. If the user could log on, the log files show the following line.
      [DEBUG] Performing path-based import
    4. Check the log for other information, such as user name, computer name, and Windows version.
      [DEBUG]    User: DEMO\uem5, Computer: H-W101, OS: x64-win10 (Version 1607, BuildNumber 14393.0, SuiteMask 100, ProductType 1/7d, Lang 0409, IE 11.0.14393.0, App-V, VMware VDM, UEM, ProcInfo 1/2/2/2, UTC+02:00D), PTS: 1132/4324/1CT
    5. Note the type of profile being used (local, roaming, or mandatory). Do not use roaming profiles with User Environment Manager because it causes the profile to be stored twice, causing a delay.
      [DEBUG]    Profile state: local (0x00000204)
  5. Search for the term, "Done (N ms)" where N represents the number of milliseconds. Then scroll up to view the following sections.
    1. Check to see the overview of how many User Environment Manager configuration files were processed. These files manage the personalization functionality of User Environment Manager.
      [DEBUG] Processed 58 Flex config files (30 successful, 12 skipped, 12 added to DirectFlex cache, 4 disabled)
    2. View the overview of all the user environment actions that have been processed and check whether or not they have been processed successfully.
      [DEBUG] Processed 2 UEM drive mappings (1 scheduled, 1 skipped)
      [DEBUG] Processed 1 UEM settings import (1 disabled)
      [DEBUG] Processed 3 UEM ADMX-based settings (3 successful)
      [DEBUG] Processed 21 UEM shortcuts (3 successful, 6 skipped, 12 disabled)
      [DEBUG] Processed 2 UEM folder redirection settings (1 successful, 1 disabled)
      [DEBUG] Processed 1 UEM Horizon Smart Policies setting (1 skipped)
      [DEBUG] Processed 1 UEM application blocking setting (1 disabled)
      [DEBUG] Processed 1 UEM privilege elevation setting (1 disabled)
    3. Check for indications that DirectFlex launched successfully. For example:
      [DEBUG] Started injection
      [DEBUG] Launched FlexEngine in DirectFlex mode
    4. Check to see how much time it took for the FlexEngine to process all actions at login. For example, User Environment Manager ran for 2391 milliseconds during the user login.
      [INFO ] Done (2391 ms) [<<IFP#bf65d9d3-T5]
    5. Check to see if a separate asynchronous FlexEngine has started to handle asynchronous drive mappings, printer mappings, and shortcuts. You can see this action logged as Triggering scheduled UEM actions. If a separate asynchronous FlexEngine has started, check the FlexEngine-async.log to see if asynchronous actions have correctly completed.
  6. Search for the following section of the log.
    [DEBUG] Performing path-based export
  7. Review the contents of this section of the log.
    1. Check to see if the Group Policy setting, Always wait for the network at computer startup and logon is enabled. If FlexEngine is configured to start as Group Policy client-side extension, this setting is required. For example, see the following log.
      [DEBUG]    Policy "Always wait for the network at computer startup and logon" is enabled
    2. Check to see if the GPO setting, Run logon scripts synchronously is enabled. This setting should be enabled if FlexEngine is configured to start as a logon script. For example:
      [DEBUG]    Policy "Run logon scripts synchronously" is enabled for the user
    3. Check to see which folders are redirected. Use User Environment Manager config files to manage AppData and Favorites rather than redirecting them. Redirecting these folders can cause performance issues. For example, you use the User Environment Manager config file, Internet Explorer-Personal Settings to manage your Internet Explorer settings. If you also redirect the Favorites folder, the Favorites files will be copied to and from the network multiple times, causing delays and slowing login times. Similarly, the AppData folder should never be redirected (regardless of User Environment Manager configuration settings).
      [DEBUG]    Redirected folders: AppData, Desktop, Favorites, Personal
    4. Check for Group Policy print restrictions. These restrictions can cause conflicts with User Environment Manager if you are using User Environment Manager to map printers.
      [DEBUG]    Policy "Point and Print Restrictions" is configured for the computer (1/2)
    5. Check the time it took to process the user's Group Policy settings during login. If FlexEngine is configured to start as a Group Policy client-side extension, this time includes the amount of time User Environment Manager was busy at login. For example:
      [DEBUG]    User policy last applied at 2017-10-13 11:09:52.687 (took 3.960 s)
    6. Check to see if profile archives are configured for compression. Performance can be slow if compression is disabled. For example:
      [DEBUG]    Profile archives will be compressed
    7. Check to see how User Environment Manager is configured to handle shares that are not available at login. You can configure how User Environment Manager handles unavailable Flex configuration files or user profile archives in the User Environment Manager GPO Or in the NoAD.xml file if you configured NoAD mode. See "Configure Paths Unavailable at Logon Settings" in Installing and Configuring VMware User Environment Manager for more details. For example:
      [DEBUG]    If Flex config files path is not available at logon, log off automatically
      [DEBUG]    If profile archive path is not available at logon, skip import but apply user environment settings
    8. Check the import status. If the import status is successful, the export is performed as normal. If the import encountered an issue, User Environment Manager skips the export to prevent overwriting the user profile with incorrect information. For example:
      [DEBUG] Import status flag indicates success, so performing export
  8. Review the information at the end of the log.
    1. Search for the term "triggered" to see if triggered tasks have been performed during the session. Note that triggered tasks are not logged until logout. For example:
      [DEBUG] No UEM triggered tasks have been performed
    2. You can also see if undo-at-logoff actions are performed.
      [DEBUG] Deleted application blocking and privilege elevation configuration
      [DEBUG] Processed 5 UEM shortcut undo actions (5 successful)
      [DEBUG] Processed 2 UEM export tasks (2 disabled)
      [DEBUG] Processed 8 UEM folder redirection setting undo actions (8 successful)
    3. Check for an overview of the configuration files that are processed at logout. This can help you understand what user profile information is exported. For example:
      [DEBUG] Processed 58 Flex config files (30 successful, 24 skipped, 4 disabled)
    4. Check to see an overview of the size of the user profile. If the size of the files is large, it can cause delays. For example:
      [DEBUG] Profile archive folder contains 15 files (231 kilobytes); profile archive backup folder contains no files
    5. Check to see the time it took for FlexEngine to process all actions at logout. In this example, it took 1804 milliseconds to process logout actions.
      [INFO ] Done (1804 ms) [<<IFP#05388090-24749e4]
  9. Perform a search for the terms, "WARN," "ERROR," "and "FATAL" to find warning and error messages. For example, the following note indicates that DirectFlex is not configured optimally to work with Firefox.
    [WARN ] DirectFlex executable configuration: Generic config file 'Applications\Mozilla Firefox.ini' refers to both fully-qualified path 'C:\Program Files (x86)\Mozilla Firefox\firefox.exe' and to 'firefox.exe'. Configuring just 'firefox.exe' would be sufficient.