Update / change start menu layout Windows 10 pro for existing users

There are plenty of articles about changing the Windows 10 start menu for all users, all have in common that they only seem to work for new users logging in. I needed a way to change it for users that already have a profile and I don’t have Windows 10 Enterprise.

The Win 10 start menu is stored in a database file, so you can’t really manipulate the menu layout. But there is a way to replace it, only keep in mind that you will replace the whole start menu including the recently opened items. Another pre-request is that the users should be logged off and you will need to have administrator permissions (but that should not be an issue ).

  1. Create the Start Menu layout, make sure you don’t use any App in the layout. Apps need to be installed under the user account, so they won’t work. Only normal applications like Adobe Reader and system application like Calculator will work.
  2. Log the user of and login in as an administrator.
  3. Copy the data from %systemdrive%\users\<username>\appdata\local\TileDataLayer to a network share.
  4. Run the following script on the client machine:
Dim FSfolder
Dim subfolder
Dim i

startFolder = "c:\users"
localAppdata = "\Appdata\Local\"
layoutFolder= "TileDataLayer"

'Network share where the new layout is stored
newLayoutFolder = "\\filesrv\netlogon\_INSTALL\Win10\TileDataLayer"

set objShell = CreateObject("Wscript.shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Profile = strSysDrive &amp; startFolder
Set FSfolder = objFSO.GetFolder(Profile) 'getting the user profile folders

For Each subfolder In FSfolder.SubFolders

If (subfolder.Name &lt;&gt; "All Users" And subfolder.Name &lt;&gt; "Default"_
and subfolder.Name &lt;&gt; "LocalService" and subfolder.Name &lt;&gt; "Public") Then

deleteFolder = Profile &amp; "\" &amp; subfolder.Name &amp; localAppdata &amp; layoutFolder
targetFolder = Profile &amp; "\" &amp; subfolder.Name &amp; localAppdata

DeleteThisFolder(deleteFolder)
CopyNewLayout(targetFolder)

end if

Next

'*******************************************************************************************************

Function DeleteThisFolder(FolderName)

If objFSO.FolderExists(FolderName) Then
objShell.Run "CMD.EXE /C RD /S /Q """ &amp; FolderName &amp; """",0,True
End If

End Function

'*******************************************************************************************************

Function CopyNewLayout(FolderName)

If objFSO.FolderExists(FolderName) Then
objFSO.CopyFolder newLayoutFolder, FolderName, True
End If

End Function

The script will go through all user’s folders looking for the folder “TileDataLayer”. If found it will remove it and copy the new layout to it.

7 thoughts on “Update / change start menu layout Windows 10 pro for existing users”

  1. Hi Ruud, i experienced a few problems in your script in Powershell ISE

    *ERRORS*
    1. Errors in the script with the “”
    The “<" operator is reserved for future use
    2. Error with IF statement
    Missing statement block after IF (condtion)
    3. Error with ampersand
    Character not allowed. Reserved for future use. Wrap in "" to pass it as string
    4. Error with For loop
    Missing opening '(' after keyword 'for'
    5. Error with subfoldernames
    Output stream for this command is already redirected

    *SOLUTIONS?*
    1. Can i replace the "” with an “=” operator? A “=” operator solves error 5.
    2. What do i do to fix the IF statement block missing? I haven’t been able to find a viable solution as yet
    3. Can i replace the “&” with “and” it seems to work, but i am not sure it if it will affect the outcome
    4. Where do i place the second “)” to close the for loop? I do not fully understand where the statement ends
    5. Am i being an idiot for not replacing the subfoldernames with relevant names? Or are they the correct names and is there an error that i don’t understand? (i.e All Users, Default, LocalService, and Public, within the if statement)

  2. Hi There,

    This is the only article I could find to help with this. We have Windows 10 Enterprise 1809, but I wanted to find out if there is anyway of just changing one or more App tiles that was set by GPO previously? We’re upgrading from Office 2013 to Office 2016, but after the upgrade the Office 2013 tiles are broken but still in place. Even iof I can just get them to be gone instead of be there and broken? Start menu was locked down. I have managed to unlock it and then by script remove the tiles, however the Microsoft Office 2013 group name is still left over.

    Any help wiil be appreciated.

    Regards

    • And the script isn’t working? Removing just one tile is not possible as far as I know. I would just replace the whole menu with the new default one.

  3. Sadly it looks like this no longer works. I’ve got a Win 10 Pro machine on v1709 and appdata/local/TileDataLayer is missing

  4. Is it possible to add an extra Tile in the existing users start menu layout?. i really do not want to change the Users pinned apps. all the solutions i found so far is only for new users and it will change the whole layout. kindly help me on this.

    • With Win10 pro unfortunately not. There are some options with the enterprise version, but even then I aint sure you can add one app to it.

Leave a Comment

0 Shares
Tweet
Pin
Share
Share