UE-V Hell


As of February 13th 2018, the problems with the GPO not automatically registering UEV-Templates has been resolved with the installation of KB4074588.  In short:

Addresses issue with the Auto-register Inbox templates feature for UEV where the Scheduled Task didn’t have the proper trigger.


TLDR: DO NOT FOLLOW MICROSOFT’S OFFICIAL DOCUMENTATION FOR THIS. It will save you hours of frustration. It’s messy, outdated and largely confusing. There appear to be bugs with the GPOs which means much of the instruction, although perhaps correct, still won’t get things working as they describe. The key issue is that UEV templates are not registered by the GPO as described. Instead, you will need to register them manually using Register-UEVTemplate -Path C:\ProgramData\Microsoft\UEV\InboxTemplate\ on the client.

Having spent the first few weeks of September performing the usual post-summer holiday firefighting for our own site plus the additional Primary that we “acquired”, we finally had some spare time to look into the next project on our list. Windows 10.

Our journey misery began when we first attempted to get a custom WIM image for Windows 10 (spoiler – MS documentation is also, err, not very good). Through sheer trial and error, we eventually succeeded and next turned our attention to getting Mandatory Profiles to work. However, based on our initial labs, they don’t work particularly well in Windows 10; Edge stopped working. As did the search functionality. So after a bit of researching, we started to believe that our salvation lay in User Experience Virtualisation, UE-V.

This is where it all started to unravel. The documentation for UE-V has had numerous revisions (evidently it has been around for a while, we have just never heard of it). If you are like us and using the latest release build 1709, this is the closest to helpful documentation we came across. Just don’t expect to get things working by following their instructions. The key things to note are as follows:

  • The UE-V Agent is replaced by the UE-V service and this service is installed with Windows 10, version 1607 and no longer has to be deployed separately. Don’t do what we did and spend half a day trying to find the agent to download!
  • The UE-V template generator is available from the Windows 10 ADK – you can use this to create additional templates for software settings that you wish to roam, not included in the default templates.
  • UE-V for Windows 10, version 1607 does not synchronize taskbar settings between devices running Windows 10 and devices running previous versions of Windows.
  • Support added for roaming network printers, but not any user set preferences or settings.

Now that the UE-V agent is a service, it can be enabled via PowerShell or via Group Policy. We opted for the Group Policy option. So the first thing we need to do is get the latest ADMX files for version 1709. Go ahead an import the ADMX files to your server.

Next, we needed to configure the new UEV GPOs that we imported. The important one is Computer Configuration > Administrative Templates > Windows Components > Microsoft User Experience Virtualisation. Configure the Enable UEV setting. In our testing, this is currently the only GPO related to EUV that we have enabled. Part of this GPO is a tick box option Auto-register Inbox Templates. And this is where we think the nightmare began. This option doesn’t appear to work as described and led to us pulling our hair out, trying to work out why nothing had been written back to the server. It was not until we manually registered the templates that we finally got UE-V settings saved back to the network. This is the answer to the issue:

You have to manually register UEV templates on the client, using the PowerShell Register-UEVTemplates cmdlet. At this point, we ran into our second problem – what templates!? Well, it turns out these are included in version 1709 of Windows 10 and are located at C:\ProgramData\Microsoft\UEV\InboxTemplates. There is also a convenient PowerShell script that will register all the available default templates, or you can register these selectively, for example, if you wanted to register just Notepad for roaming:

Register-UEVTemplates -Path C:\ProgramData\Microsoft\UEV\InboxTemplates\MicrosoftNotepad.xml

There are additional configurations available via Group Policy – one of particular interest is User Configuration > Administrative Templates > Windows Components > Microsoft User Experience Virtualisation, the Configure Storage Location Settings. This allows you to define a network location to store these settings. Microsoft documentation seems to imply that this is the way to do it, going as far as providing detailed instruction on how to this setup and configure appropriate permissions. However, they then later quietly say that if you don’t configure any settings in this GPO, the settings get written back to the users home area, as set by Active Directory. This is the configuration that we decided on for our labs.

So far, we have registered:

  • Notepad – self-explanatory.
  • Desktop Experience – this roams the taskbar settings, such as it’s location at the top, left, right or bottom of the screen.
  • Themes – settings such as desktop wallpapers.
  • Office 2016 – this template includes preferences set for any of the standard Office suite programs. Word, Excel, PowerPoint etc.

These UE-V settings, in conjunction with Folder Redirection and Local Profiles, are starting to look like the solution that we might run with for Windows 10 deployment. Until Microsoft fixes the problem, we will run the PowerShell command as part of an SCCM Task Sequence to enable UEV on a wide scale.

To summarise:

  • Download and import the latest AMDX files
  • Configure GPO to enable UEV Service
    •   Computer Configuration > Administrative Templates > Windows Components > Microsoft User Experience Virtualisation > Enable UEV
  • If you want the settings written to the users home areas, set this via Active Directory and leave GPO for Settings Storage Location set to blank.
  • On the client, run PowerShell as an Administrator. Run the Register-UEVTemplate cmdlet to register the required Templates
    • Register- UEVTemplate -Path C:\ProgramData\Microsoft\EUV\InboxTemplates\<templatename.xml>
    • You can run the Get-UEVTemplate to view a list of templates registered on a client.
  • Now when a roam-able setting is changed, a SettingsPackages folder (which will be hidden) will appear in the users home area, in which additional folders will be created for each template that you registered. Many of these settings are updated as soon as you exit a configured application. Others will be written to the network on a logoff.
  • (Optional) Add a step to your OSD method to run the PowerShell cmd to register your desired templates.

There doesn’t seem to be much “correct” documentation (at least, not any we could find) so we hope that this post will save you from your own UEV Hell…


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s