In this article, I will show how you can edit the default user profile, as part of your Windows 10 deployment task. There are multiple methods available to edit the default user profile (GPO’s, logon scripts, copy configured profile over the default profile,…), but my preferred method for modifying the default user experience is to edit the default user profile directly using a script that is run during Windows deployment.
This script can also be run on existing machines. This approach can easily be adjusted to your likings, is easy to perform, and does not require lots of preparation.

Editing the default user profile

To make direct edits to the default user profile, we will use the REG.EXE command line utility. It will be used to load the default profile registry hive, change/add/delete registry values, and then unload the hive, thereby saving it back to the default profile.
You will need to run these scripts with administrator privileges, in an elevated context, so that you have write access to the default profile. This should not be a problem, if the script is running as part of your OSD.

A practical example: adjust File Explorer default settings (disable hiding of file extensions, …)

One thing that annoyed me immensely on a default Windows 10 deployment, is that file extensions are hidden. That’s something I definitely needed to fix in my OSD. While we are at it, we can “fix” a few more annoyances:

@echo off

REM -- Adjust File Explorer: enable showing of file extensions + hidden files, disable Sharing wizard,
REM -- force Classic Control panel, disable check box selection
reg.exe load HKEY_LOCAL_MACHINE\defuser c:\users\default\ntuser.dat
reg.exe ADD HKEY_LOCAL_MACHINE\defuser\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced /v Hidden /T REG_DWORD /d 1 /F
reg.exe ADD HKEY_LOCAL_MACHINE\defuser\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced /v HideFileExt /T REG_DWORD /d 0 /F
reg.exe ADD HKEY_LOCAL_MACHINE\defuser\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced /v SharingWizardOn /T REG_DWORD /d 0 /F
reg.exe ADD HKEY_LOCAL_MACHINE\defuser\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced /v AutoCheckSelect /T REG_DWORD /d 0 /F
reg.exe ADD HKEY_LOCAL_MACHINE\defuser\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer /v ForceClassicControlPanel /T REG_DWORD /d 1 /F
reg.exe unload HKEY_LOCAL_MACHINE\defuser

timeout /T 2

The script can be downloaded here (.txt file) : w10profile.txt.
Save it as a .bat file on your SCCM server, create a package for it, distribute it, and add a “Run Command Line” step to your OSD task sequence, somewhere in the Configure Operating System group. In this Command Line step, you will refer to the package you just created, and execute the .bat file (cmd /c w10profile.bat). This will make sure that these settings are now the default value for every new user logging into your freshly deployed Windows 10 clients.
I am using this during my deployments of Windows 10 x64 Enterprise LTSB 2016, on a SCCM 2012 server.
Enjoy 🙂