Customize Windows 10 Start Screen and Optimize for Higher User Density


Windows 10 Anniversary Update is now available and Windows Server 2016 will hopefully be released in the end of September together with a new Citrix XenApp / XenDesktop / PVS version.

It’s time to create a new blog post showing you how to get rid of all the crap (Build-In Apps), Optimize the Operation System and Customize Windows 10 Start Screen. Out of the box it’s not really Enterprise Ready!

Customize Windows 10 Start Screen 05

Get rid of the crap

The first thing you would want to do is remove all those crappy applications. As an Administrator you want to have full control, at least for those VDI machines controlled by Citrix XenDesktop or VMware Horizon View.

To automatically remove all those applications run the following command:

That removes most part, but there’s still some applications like Edge and Contact Support that we need to remove in another way. I’m using James Rankin’s excellent script for that, check his post Windows 10 part #9 – removing Modern Apps from your image.

Customize Windows 10 Start Screen 11

This could be part of your Automated Reference Image / Master Image or manual Master Image build for MCS or PVS. I prefer the first, learn more in the post Automated Master Image Creation and the short video below.

My Automation Framework is available for ONLY $97, learn more HERE.


The advantages of doing this in the Reference Images is that the User Experience is identical on both physical and virtual machines.

The Ultimate Windows 10 Tuning Template

LoginVSI has created an amazing Tuning Template for Windows 10 which increased VSImax with 47,5%. You can watch the recorded webinar here.

Download the VMware OS Optimization Tool and the #VDILIKAPRO Tuning Template and run it.

Customize Windows 10 Start Screen 02

However if you’re going to automate this through MDT/SCCM you need to delete the following lines below because it will force a reboot which breaks your Task Sequence.

You know it’s working when you get a blue background at logon.

Customize Windows 10 Start Screen 13

Customize Windows 10 Start Screen

The procedure is the same shown in the Customize Windows 2012 Start Screen Using Group Policy blog post. However in Windows 10 Build 1511 Microsoft introduced a great new feature that allows admins to lock down a section of the Start Menu.

This means you can organize Office 365, Accounting, Graphical Applications etc. in a nice layout, while the users are still able to pin custom application to their Start Screen. This is not the case for Windows 2012 R2.

Customize the Windows 10 Start Screen the way you like it and then run the following PowerShell command:

Edit the XML file and replace <DefaultLayourOverride> with this:

Copy the XML file to a network share and define the Group Policy setting Start Screen Layout in Computer Configuration – Policies – Administrative Templates – Start Menu and Taskbar.

If you want to use various layouts for various Active Directory Groups you can leverage Group Policy Item Level Targeting.

Customize Windows 10 Start Screen 15

Citrix User Profile Management

To be able to roam the users customization’s you’ll need to make sure that you don’t have !ctx_localappdata!\TileDataLayer in Excluded Folders.

Add the file AppData\Local\TileDataLayer\Database\vedatamodel.edb to the list in Files to syncronize in Computer Configuration – Policies – Administrative Templates – Citrix – Profile Management – File System – Synchronization.

Customize Windows 10 Start Screen 09

Disable Telemetry and Data Collection

This one is quite easy, simple create a GPO and disable the service Connected User Experiences and Telemetry short name dmwappushsvc.

Customize Windows 10 Start Screen 08

Windows 10 Logon Performance

Many people may wonder why the logon time is higher on XenDesktop (VDI) compared to XenApp (RDSH). The reason is quite simple. When the first user logon to XenApp after a restart everything is loaded into memory. So if the logon time is 15ms then it’s probably only 5ms for the following users on the same server. On XenDesktop however this doesn’t apply.

Brand new Profile without VMware OS Optimization Tool

Customize Windows 10 Start Screen 20

Brand new Profile with VMware OS Optimization Tool & #VDILIKEAPRO

Customize Windows 10 Start Screen 23

Existing Profile without VMware OS Optimization Tool

Customize Windows 10 Start Screen 21

Existing Profile with VMware OS Optimization Tool & #VDILIKEAPRO

Customize Windows 10 Start Screen 24

Please be aware that Windows 10 could use as much as 20 minutes to settle down. So the longer you wait the better Logon Performance you get. Think about that when you add some additional VMs to the Delivery Group to handle your Logon Time SLA.

Customize Windows 2016 Start Screen

The custom Start Screen works perfectly for Windows Server 2016 as well.


Special thanks to René Bigler and James Rankin for helping out with this blog post.


Automation Framework Community Edition

The fastest way to build your lab environment.

Virtual Expo

Friday 30th of September 2022

9 thoughts on “Customize Windows 10 Start Screen and Optimize for Higher User Density”

  1. Hi, great post

    If you want to keep the Modern App Calculator when killing off all the Modern Apps, use this command to remove everything except Calculator

    Get-AppxProvisionedPackage -online | where { $_.DisplayName -ne “Microsoft.WindowsCalculator” } | Remove-AppxProvisionedPackage -online

    I find Calculator is about the *only* Modern App I care about! Failing that, there is a program called OldCalc you can install which actually brings back the old Windows 7-stle calculator.

  2. Hello Eric,
    Thanks for the post.
    Just want to check from where are you coming the removecrap.cmd and psexec files to c:\windows\temp?

  3. So creating a layout on WS2016 and then exporting it doesn’t work. I get this error:

    Export-StartLayout : Error HRESULT E_FAIL has been returned from a call to a COM component.
    At line:1 char:1
    + Export-StartLayout -path c:\install\WS2016StartLayout.xml
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : NotSpecified: (:) [Export-StartLayout], COMException
    + FullyQualifiedErrorId : System.Runtime.InteropServices.COMException,Microsoft.Windows.StartLayout.Commands.Expor

    Any idea? I’m logged in as a domain admin, PS is started as administrator.

    Thanks and best


Leave a Comment