How to automatically configure your default profile in Windows 10

Ever since Windows 10 was released, COPYPROFILE has been a major issue for administrators. It causes your default profile to be extremely large and it constantly causes issues with the Start Menu and other items in the Windows 10 OS. While developing a Windows 10 image, I found that injecting OS settings into C:\Users\Default\NTUser.dat has been the best way to configure the default profile. A year after upgrading over 2000 computers to Windows 10, I can now confidently say this method works 100% of the time and I really hope others start to use it more often.

Luckily for you, I have done the dirty work and can provide you with a starting point that can automatically configure settings for you. Keep in mind that you will need to run this script before running SYSPREP and it will change the settings for any new users. Good luck and please feel free to leave any questions in the comments below.

reg load HKLM\DEFAULT c:\users\default\ntuser.dat

# Advertising ID
reg add "HKLM\DEFAULT\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo" /v Enabled /t REG_DWORD /d 0 /f

#Delivery optimization, disabled
reg add "HKLM\DEFAULT\Software\Microsoft\Windows\CurrentVersion\DeliveryOptimization" /v SystemSettingsDownloadMode /t REG_DWORD /d 3 /f

# Show titles in the taskbar
reg add "HKLM\DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v TaskbarGlomLevel /t REG_DWORD /d 1 /f

# Hide system tray icons
reg add "HKLM\DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer" /v EnableAutoTray /t REG_DWORD /d 1 /f

# Show known file extensions
reg add "HKLM\DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v HideFileExt /t REG_DWORD /d 0 /f

# Show hidden files
reg add "HKLM\DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v Hidden /t REG_DWORD /d 1 /f

# Change default explorer view to my computer
reg add "HKLM\DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v LaunchTo /t REG_DWORD /d 1 /f

# Disable most used apps from appearing in the start menu
reg add "HKLM\DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v Start_TrackProgs /t REG_DWORD /d 0 /f

# Remove search bar and only show icon
reg add "HKLM\DEFAULT\SOFTWARE\Microsoft\Windows\CurrentVersion\Search" /v SearchboxTaskbarMode /t REG_DWORD /d 1 /f

# Show Taskbar on one screen
reg add "HKLM\DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v MMTaskbarEnabled /t REG_DWORD /d 0 /f

# Disable Security and Maintenance Notifications
reg add "HKLM\DEFAULT\SOFTWARE\Microsoft\Windows\CurrentVersion\Notifications\Settings\Windows.SystemToast.SecurityAndMaintenance" /v Enabled /t REG_DWORD /d 0 /f

# Hide Windows Ink Workspace Button
reg add "HKLM\DEFAULT\SOFTWARE\Microsoft\Windows\CurrentVersion\PenWorkspace" /v PenWorkspaceButtonDesiredVisibility /t REG_DWORD /d 0 /f

# Disable Game DVR
reg add "HKLM\DEFAULT\System\GameConfigStore" /v GameDVR_Enabled /t REG_DWORD /d 0 /f
reg add "HKLM\DEFAULT\SOFTWARE\Microsoft\Windows\CurrentVersion\GameDVR" /v AppCaptureEnabled /t REG_DWORD /d 0 /f

# Show ribbon in File Explorer
reg add "HKLM\DEFAULT\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Ribbon" /v MinimizedStateTabletModeOff /t REG_DWORD /d 0 /f

# Hide Taskview button on Taskbar
reg add "HKLM\DEFAULT\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v ShowTaskViewButton /t REG_DWORD /d 0 /f

# Hide People button from Taskbar
reg add "HKLM\DEFAULT\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\People" /v PeopleBand /t REG_DWORD /d 0 /f

# Hide Edge button in IE
reg add "HKLM\DEFAULT\SOFTWARE\Microsoft\Internet Explorer\Main" /v HideNewEdgeButton /t REG_DWORD /d 1 /f

# Remove OneDrive Setup from the RUN key
reg delete "HKLM\DEFAULT\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v OneDriveSetup /F

reg unload HKLM\DEFAULT

If you would like to customize the Start Menu Tiles, please refer to my earlier post:
http://www.joseespitia.com/2016/06/27/customized-a-windows-10-start-layout/

56 Comments

  1. Hello Jose
    does this procedure clone the same start menu tiles position for all users?

  2. Hello Jose and thank you for sharing your knowledge.

    How do you apply this?
    Is it a script you launch or use with cmd or powershell?
    It reminds me a way to change the default wallpaper under windows 7 but I was loading the .default user registry by charging the default user registry with this powershell command :
    REG LOAD HKU\PROFIL_DEFAULT C:\Users\Default\ntuser.dat

    But you use this one:
    reg load HKLM\DEFAULT c:\users\default\ntuser.dat

    I don’t know which one is the better nor the differences or if the result is the same.
    What’s your opinion?

    Thank you for your work.

    Sylvain

    • Jose Espitia

      Hi Sylvain,

      I run this script automatically with my MDT capture task sequence but you can technically run this script anyway to configure the default profile.

      As for your other question, it doesn’t really matter where you load C:\Users\Default\ntuser.dat. If you manually run reg load HKLM\DEFAULT c:\users\default\ntuser.dat, you will see HKLM\DEFAULT when you open regedit. Inside of HKLM\DEFAULT is the default profile’s HKCU.
      Example:
      HKLM\DEFAULT\SOFTWARE is actually the default profile’s HKCU\SOFTWARE.

      I hope this helps clear up a few things and let me know if you have any other questions.

  3. Hi Jose,

    Thanks for sharing your wisdom. I’m pretty new at this but I’ve been using copy profile and made my customization in the Audit mode and it worked well till version 1709 came along. In the past version, I would remove all the provisioned apps, setup desktop, start up menu sysprep. My question is, do I still follow the same procedure, in audit mode, customize it, set the start up menu, run script and sysprep? Little confused on the procedure. Any guidence for the “new” guy will be much appreciate it! :)

    • Jose Espitia

      I would suggest dropping COPYPROFILE and running the script that I posted to configure your default profile.

  4. Thank you for sharing.
    Please could you be more specific.
    When do you inject these enties?

    Before Sysprep?
    In audit Mode?
    or
    During deployment as part of the unattend.xml
    or
    after deployment, as a onetime script?

    • Jose Espitia

      You can run the batch script before running Sysprep to configure the default profile.

    • Jose Espitia

      Tim,
      You will want to run this before SYSPREP and you cannot use COPYPROFILE because it will overwrite your configuration.

  5. Jose,

    I am in the process of building out an MDT server, I would like to customize the start menu/tiles/taskbar to create a basic vanilla image. Can I go ahead and run through your process to make the customization then run sysprep the grab an image of the final product? Would this work in terms of general settings sticking while loading the .iso of this image to MDT? Or would it be easier to use MDT to do any customization using an an .iso of windows 10 build 1709? Any help here would be greatly, appreciated, thanks!

    • Jose Espitia

      You can definitely run through my process to customize your default profile. I normally import the start layout and run this batch script before my MDT capture task sequence runs sysprep.

  6. I saved it as .bat file and ran as an administrator but did not change anything on Win 10 Ent 1709. You mentioned that you are using MDT which is not the case for everyone. How we will edit this file and use it correctly. If you can elaborate and put into steps that would be very helpful for many of us. Your method very exciting and I can’t wait to make it work. Thanks

    • Jose Espitia

      Hi Attila,

      You will need to run the script before running SYSPREP or run it after you have completed reimaging a computer. The script will modify the Default profile so it will only affect new accounts.

  7. Hi Jose,

    Thanks for the effort.

    Can I run this PowerShell in audit mode before I run the Sysprep process?

    • Jose Espitia

      Yes you can run the script before Audit Mode but do not use COPYPROFILE because it will overwrite any changes that you made with the script.

  8. Thanks for you guide man! We deploy to Surface Pro tablets every year for students and have been using the Copyprofile feature. Kind of a bummer that it is breaking things. Can you elaborate on how I can set desktop shortcuts on new users like, Word 2016, Custom URLS with custom icons, applications installed like Artweaver? CopyProfile used to do this for us by literally just copying the administrators desktop shortcuts to the default users.

    • Jose Espitia

      Hi Justin,

      I’m glad that you enjoyed the guide! To setup desktop icons, all you have to do is copy the shortcuts to C:\Users\Default\Desktop.

      • Wow! How have i never thought of that? One more thing while i got you, What about setting the desktop background? I know you can do this though GPO, but we like to have it load our custom background when the student logins for the first time, whether on campus or not.
        Thanks again!

        • Jose Espitia

          I use Jörgen Nilsson’s method which can be found here:
          http://ccmexec.com/2015/08/replacing-default-wallpaper-in-windows-10-using-scriptmdtsccm/

          Essentially, you will be replacing the wallpapers in “C:\windows\web\4k\Wallpaper\Windows” and “C:\windows\web\Wallpaper\Windows” with your own custom wallpaper. I already have a script that can automate this but you will need to tweak it if you are not using MDT.(I’ll be more than happy to help you set it up if you need any assistance)
          The script can be found in my latest post “How to capture a Windows 10 image like a boss with MDT!” which can be found here:
          http://www.joseespitia.com/2018/02/08/how-to-capture-a-windows-10-image-like-a-boss-with-mdt/

          • Thanks! One more question and I promise this will be the last. I am a little old fashioned and I basically run a windows iso in HyperV, install all my software, then sysprep from within the the running VM. I then basically just create a capture only type Task Sequence. After I have my image captured, I have another Task Sequence that I use for deployment. I know this is super weird, but it’s the way I was taught to do it. Anyway, can I use all of your custom tasks for the deployment process, such as default profile, windows background, taskbar changes, or do i need to run these in the capture sequence?

          • Jose Espitia

            I have had success with running these custom tasks before running SYSPREP in my Capture Task Sequence.

  9. Hi!

    Does the following settings work for you with 1709:

    -) LaunchTo
    -) Hidden
    -) HideFileExt

    On my test client these settings are ignored …

    • Jose Espitia

      March 20, 2018 at 5:29 pm

      If it doesn’t work, I would suggest setting the registry keys as a run once user preference in your GPO.

  10. Hi Jose, Thanks for the great script! I am newbie to MDT and i wasbjust wondering how this could be added to MDT. Will it be saved as a .bat file or a .reg file? Please kindly let me know.

    Thank you in advance.
    AlbFre

  11. Would it work if I moved the NTuser.dat file from my pre-configured administrator account to the default profile?

    Thanks.

    • Jose Espitia

      March 20, 2018 at 5:26 pm

      It should work since this is what COPYPROFILE does but I would recommend not doing it because it does copy over some unnecessary keys and it keeps references to the administrator account.

  12. Hi Jose,
    we have an image W10 and i use copy profile to keep my setting profile like: office 2k16, favoryte IE, Edge, Firefox, and some other software like VLC…

    we use mandatory profile but with Windows 10 we can’t modify mandatory profile like we do with Windows 7 because that corrupt our profile… your script look good but any idea to keep our software setting and apply to default profile easily?

    thanks

    Sylvain

  13. Hey Good stuff Jose,

    This is our first year using WIN10 getting ready to make an image with WDS. Do you have any info of creating a good basic image with default profile? Thanks

    Mike

  14. I am trying to inject some registry edits to the default ntuser.dat as described. The command I usually run is:
    reg add “HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\People” /V PeopleBand /T REG_DWORD /D 0 /F
    However I can see that this only applies for the “current user” how can I inject this reg to the default user?

  15. I have a registry setting that I would like to add to the default user registry.
    I usually use this command to turn off “animate windows when minimizing and maximizing”
    reg add “HKCU\Control Panel\Desktop\WindowMetrics” /v “MinAnimate” /t REG_SZ /d “0” /f
    So I tried to edit it to:
    reg add “HKLM\DEFAULT\Control Panel\Desktop\WindowMetrics” /v “MinAnimate” /t REG_SZ /d “0” /f
    But it does not work for some reason. Am I doing something wrong here?

    • Jose Espitia

      April 18, 2018 at 6:17 pm

      You need to load and unload the default profile’s NTuser.dat. So it would look like this:
      reg load HKLM\DEFAULT c:\users\default\ntuser.dat
      reg add “HKLM\DEFAULT\Control Panel\Desktop\WindowMetrics” /v “MinAnimate” /t REG_SZ /d “0” /f
      reg unload HKLM\DEFAULT

      • Thanks for taking time to reply. I did load and unload it actually, just forgot to say. Still doesn’t work :( I know the registry works on the current user though, which makes this strange… If I do the trick first, then check the default profile’s NTuser.dat I can confirm that the change has been applied to the default NTuser.dat. Then I make a new user account and check “WindowMetrics” in regedit to see if the change has been applied. Unfortunately it has not. So it seems something is keeping Windows from applying the change in NTuser.dat to the new profile.

        • Jose Espitia

          May 1, 2018 at 6:58 pm

          scribbleG, I have run into some settings that will do this. In order to get around this, I add the registry key as a user preference that applies once in my GPO. This way all new users will get the setting.

          • Oh snap! How do you do that? I have searched for this for hours without finding any useful info.

          • Jose Espitia

            June 26, 2018 at 1:42 pm

            ScribbleG,

          • Open Group Policy Management Console (gpmc.msc)
          • Create a new (or edit an existing) GPO and assign it to the appropriate Active Directory Organizational Unit. After that switch it to edit mode
          • Expand GPO Computer (or User) Configuration -> Preferences ->Windows Settings -> Registry in the context menu. Select New -> Registry Item
  • First of all, thanks for your sharing.

    After we modify HKCU(load/unload) and HKLM(only via reg add) value of WIN2K16 in audit mode,

    1. Sysprep with CopyProfile=True
    HKCU vlaue won’t work, and HKLM value is working fine.

    2. Sysprep with CopyProfile=False
    Both of HKCU and HKLM value are working fine as expected .

    Although the second result is what I want, I’m still wondering to know that “CopyProfile=True” is applied to Default Users, isn’t it ?

    Can we make neither HKCU nor HKLM which modify in audit mode will apply to Default User and are working fine after sysprep ?

  • Thanks for this as with 1803 I am finally at my wits end with copyprofile.

    But one thing, how would I get ride of that annoying Edge desktop icon that appears for every new user? I did see a reg edit that I thought would work but not totally sure how to go about adding it to your script above.

    This is what I found;

    reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer /v “DisableEdgeDesktopShortcutCreation” /t REG_DWORD /d “1” /f

    I think that is actually from a comment you made. Do I add that in just as is or what? Thanks in advance.

    • Jose Espitia

      June 11, 2018 at 3:19 pm

      ToDash, you can add it to your existing default profile clean up script or add reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer /v “DisableEdgeDesktopShortcutCreation” /t REG_DWORD /d “1” /f as a separate command line in your TS (If you are using MDT or SCCM).

      • Works great as long as you remove the quotes.

        reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer /v DisableEdgeDesktopShortcutCreation /t REG_DWORD /d 1 /f

        Putting that right before the mounting of the ntuser.dat in this script has worked for me. Thanks for the help, it is very much appreciated.

        • Jose Espitia

          June 12, 2018 at 5:40 pm

          Sorry ToDash! Sometimes copying and pasting the quotes do not actually copy over correctly. If you look at it closely the quotes when copied “” “” are different.

  • Hi – Thanks for this site! FWIW, there are reg settings for the desktop icons:
    # Add Desktop Icons – This PC
    reg add “HKLM\DEFAULT\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel” /v {20D04FE0-3AEA-1069-A2D8-08002B30309D} /t REG_DWORD /d 0 /f
    # Control Panel
    reg add “HKLM\DEFAULT\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel” /v {5399E694-6CE5-4D6C-8FCE-1D8870FDCBA0} /t REG_DWORD /d 0 /f
    # Recycle Bin
    reg add “HKLM\DEFAULT\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel” /v {645FF040-5081-101B-9F08-00AA002F954E} /t REG_DWORD /d 0 /f
    # Network
    reg add “HKLM\DEFAULT\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel” /v {F02C1A0D-BE21-4350-88B0-7367FC96EF3C} /t REG_DWORD /d 0 /f

    It’s a bit better than shortcuts because when you right-click the desktop icons, like ‘This PC’, for example, you can go to the PC Properties rather than the shortcut properties.

  • Hi Jose,

    Using MDT, but I only deploy the vanilla Win 10 wim (v1803). I do not sysprep or capture – hence I would not be able to take advantage of this, correct?

    If so, you mentioned to another user about setting a registry key as a user preference in GP :

    “….I add the registry key as a user preference that applies once in my GPO. This way all new users will get the setting.”

    Can I apply all the above as a user preference in Group Policy Management Editor?
    – User Configuration > Preferences > Windows Settings > Registry ?

    Lastly, is there a reason to do this as part of sysprep and capture VERSUS using GPOs?

    • Jose Espitia

      June 26, 2018 at 1:50 pm

      Patrick, you can still use this method to make customizations to your default profile. Also the only advantage of applying the settings directly to your default profile is that you will have the settings already baked into the OS and you will not be dependent on GPO to apply the settings.

  • Hi Jose,

    Previous post did not show up, so hoping this will.

    Can all of this be achieved using group policy?
    (Group Policy Management Editor > User Configuration > Preferences > Windows Settings > Registry)

    You stated : “…I add the registry key as a user preference that applies once in my GPO. This way all new users will get the setting….”

    Is there an advantage of doing this outside of group policy?

    • Jose Espitia

      June 26, 2018 at 1:48 pm

      Yes, I was referring to using GPO to deploy registry keys (Group Policy Management Editor > User Configuration > Preferences > Windows Settings > Registry). I mainly do this for MS Office settings that I can’t add via C:\Users\NTUser.dat.

  • Thanks again for the great site. One thing I noticed is that the Delivery optimization doesn’t seem to stick, at least in my builds. Nothing huge (GPO generally takes care of it) but still not sure why it isn’t. This is of course on 1803.

    Also do you know of any ways to set the “Show suggestions occasionally in Start” – Under Start menu settings to off. Since it is not activated during audit mode I would suspect maybe a reg entry?

    I was also trying to find a way to include file explorer in the folders that appear in start (the little links on the left side). I even did a reg compare between having it off and on and couldn’t find anything that seemed to relate. Any thoughts?

    Oh and one more thing (was about to say last but you never know), the general lock screen settings, like making sure windows spotlight is on and more importantly having no apps show quick status on the lock screen.

    Thanks for any help and insight

    • Jose Espitia

      June 26, 2018 at 7:39 pm

      Ian,
      – 1. There are some settings that get overwritten at logon. For those settings, I would suggest using GPO to deploy the registry key.
      – 2. Try adding this to the script in my blog:
      reg add “HKLM\DEFAULT\SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager” /v SystemPaneSuggestionsEnabled /t REG_DWORD /d 0 /f
      – 3. This setting is stored in a binary registry key that most likely controls multiple settings. (HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\CloudStore\Store\Cache\DefaultAccount\$$windows.data.unifiedtile.startglobalproperties\Current\Data)
      – 4. I believe Spotlight is turned on by default so you shouldn’t need to do anything. As for disabling app notifications in the lockscreen, add the following command to the script that I posted:
      reg add “HKLM\DEFAULT\SOFTWARE\Microsoft\Windows\CurrentVersion\Notifications\Settings” /v NOC_GLOBAL_SETTING_ALLOW_TOASTS_ABOVE_LOCK /t REG_DWORD /d 0 /f

      • Awesome thanks for the tips. I will give them a try tomorrow. Time to leave the office for the day.

      • Brilliant Jose! Thank you so much for posting this! I have been pulling my hair out trying to get copyprofile to work. Your script works great, I cannot thank you enough. Now I can go on vacation and not think about work the whole time!

  • Leave a Reply