In this post we will describe how to customize your windows 10 image to personalize it to your company. There’s an infinite amount of customization that can be made but i’ll try to cover the more frequent one, those that are asked 95% of every Windows 10 projects I was involved in. You could also do all those modifications through group policies if you want to enforce those settings.

SCCM Windows 10 Customization Package

Before we begin any customization, we will create a Windows 10 Customization package that we will use in our task sequence. It will be empty to start but we will create the folders and scripts during this blog post.

  • Open the SCCM Console
  • Go to Software Library / Application Management / Packages
  • Create a new package
  • On the Package tab, enter a Name, Description, Manufacturer and Source folder (this is where all scripts will be stored)

SCCM Windows 10 customization

  • On the Program Type tab, select Do not create a program

SCCM Windows 10 customization

  • On the Summary tab, review your choices and complete the wizard

SCCM Windows 10 customization

File Association

The first item we will be covering is file association. By default, Windows 10 uses Microsoft Edge to open every PDF files and HTTP links. For this post, we will redirect PDF files to Adobe Reader and HTTP/HTTPS to Internet Explorer. You can redirect any extension to any software. You just need to make sure that the application that you associate is installed during your Windows 10 deployment (or in your image).

The first step is to make the association manually, we will then export the configuration to a XML file and we will use DISM in our task sequence to import the configuration.

  • Log on a Windows 10 machine
  • Open Control Panel / Programs / Default Programs / Set Associations

SCCM Windows 10 customization

  • Navigate to .PDF and click on Change Program

SCCM Windows 10 customization

  • Select Adobe Reader and click OK

SCCM Windows 10 customization

  • Your .PDF files are now associated to Adobe Reader
  • For Internet Explorer association, select HTTP Protocol, .HTM and .HTML files, change program to Internet Explorer

Now that our associations has been done, we need to export the associations to a XML file using DISM :

  • Open an elevated command prompt
  • Run the following command : Dism /Online /Export-DefaultAppAssociations:C:\Temp\SCDAppAssoc.xml
    • (Change the XML file name and path if desired but make sure that the directory exists or you’ll get an error code 3)

SCCM Windows 10 customization

The XML file can be opened using any text editor. You can see our modifications has been made. It’s possible to change manually in this file but it’s a bit tricky to find ProdId and ApplicationName.

SCCM Windows 10 customization

  • Copy the XML file to your Windows 10 customization package in the FileAssociations Folder

SCCM Windows 10 customization

  • Open the SCCM Console and browse to Packages
  • Right-click your Windows 10 Customization package and select Update Distribution Point

SCCM Windows 10 customization

  • Go to Software Library \ Operating Systems \ Task Sequences
  • Right-click and Edit your Windows 10 task sequence
  • Select Add / General / Run Command Line
    • Name : Set File Association
    • Command line : Dism.exe /online /Import-DefaultAppAssociations:FileAssociations\SCDAppAssoc.xml
    • Check the Package box and specify your Windows 10 customization package
  • Position this step after the Windows image has been deployed

SCCM Windows 10 customization

Setting the Default Windows 10 Wallpaper

We will now change the default Windows 10 wallpaper to a corporate one.

  • The default Windows 10 wallpapers are stored in the C:\Windows\Web\Wallpaper\Windows\ folder
  • Windows 10 also support 4K wallpapers which are stored in C:\Windows\Web\4K\Wallpaper\Windows

SCCM Windows 10 customization

SCCM Windows 10 customization

For our post, we will delete the 4K wallpapers and overwrite the default img0.jpg file. If you need to support 4K wallpaper, just place them in the 4K folder before updating your distribution points and the script will copy it to the right location.

By default, you can’t modify those files, we will use a PowerShell script to change the security of the folder and overwrite the wallpaper file. We will grant access to the SYSTEM account since it’s the account used during the SCCM task sequence.

  • Create a new WallPaper\DefaultRes and WallPaper\4K folder in your Windows 10 customization directory
  • Rename your wallpaper to img0.jpg copy it in the WallPaper\DefaultRes directory
  • If 4K support is needed, copy your files in the WallPaper\4K Directory

Create a new Powershell script in the root of the Wallpaper directory and copy this code into it :

Powershell Script

takeown /f c:\windows\WEB\wallpaper\Windows\img0.jpg
takeown /f C:\Windows\Web\4K\Wallpaper\Windows\*.*
icacls c:\windows\WEB\wallpaper\Windows\img0.jpg /Grant ‘System:(F)’
icacls C:\Windows\Web\4K\Wallpaper\Windows\*.* /Grant ‘System:(F)’
Remove-Item c:\windows\WEB\wallpaper\Windows\img0.jpg
Remove-Item C:\Windows\Web\4K\Wallpaper\Windows\*.*
Copy-Item $PSScriptRoot\img0.jpg c:\windows\WEB\wallpaper\Windows\img0.jpg
Copy-Item $PSScriptRoot\4k\*.* C:\Windows\Web\4K\Wallpaper\Windows

You’ll end up with the following structure :

SCCM Windows 10 customization

  • Open the SCCM Console and browse to Packages
  • Right-click your Windows 10 Customization package and select Update Distribution Point

SCCM Windows 10 customization

  • Go to Software Library \ Operating Systems \ Task Sequences
  • Right-click and Edit your Windows 10 task sequence
  • Select Add / General / Run PowerShell Script
    • Name : Set Wallpaper
    • Script Name : Wallpaper\ChangeWallpaper.ps1
    • PowerShell execution policy : Bypass
  • Position this step after the Windows image has been deployed

SCCM Windows 10 customization

Change Lock Screen Image

The lock screen image is the image you see when the computer is locked. To change it, we must copy our image locally on the computer and then modify a registry key to read it.

  • Create a new LockScreen folder in your Windows 10 customization directory
  • Create a new LockScreen.cmd file and copy the following code
LockScreen.cmd

xcopy LockScreen\LockScreen.jpg C:\SCD\LockScreen\ /Y /S
reg import LockScreen\LockScreen.reg
reg import LockScreen\LockScreen.reg /reg:64

  • Create a new LockScreen.reg file and copy the following code (watch out of the “” when copy/pasting)
LockScreen.reg

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Personalization]
“LockScreenImage”=”C:\\SCD\\LockScreen\\LockScreen.jpg”

  • Copy the image you want to set as the lock screen. For this blog post we will call it LockScreen.jpg. If you rename this file, make sure to change the script to fit this name.

You’ll end up with the following structure :

SCCM Windows 10 customization

  • Open the SCCM Console and browse to Packages
  • Right-click your Windows 10 Customization package and select Update Distribution Point

SCCM Windows 10 customization

  • Go to Software Library \ Operating Systems \ Task Sequences
  • Right-click and Edit your Windows 10 task sequence
  • Select Add / General / Run Command Line
    • Name : Set File Association
    • Command line : cmd.exe /c LockScreen\LockScreen.cmd
    • Check the Package box and specify your Windows 10 customization package
  • Position this step after the Windows image has been deployed

SCCM Windows 10 customization

Disable Microsoft Consumer Experiences

The latest Windows 10 feature upgrade includes a new feature that automatically installs a few apps from the Windows Store. Some apps like Candy Crush and Minecraft gets installed, we don’t think that belong to a work environment so we’ll delete it.

SCCM Windows 10 customization

The good news is that it’s quite simple to disable. You need to disable a function called Microsoft Consumer Experiences. We will do this using a registry modification :

  • Create a new ConsumerExperience folder in your Windows 10 customization directory
  • Create a new DisableConsumerExperience.reg file and copy the following code :
DisableConsumerExperience.reg

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CloudContent]
“DisableWindowsConsumerFeatures”=dword:00000001

You’ll end up with the following structure :

SCCM Windows 10 customization

  • Open the SCCM Console and browse to Packages
  • Right-click your Windows 10 Customization package and select Update Distribution Point

SCCM Windows 10 customization

  • Go to Software Library \ Operating Systems \ Task Sequences
  • Right-click and Edit your Windows 10 task sequence
  • Select Add / General / Run Command Line
    • Name : Disable Consumer Experience
    • Command line : Regedit.exe /s ConsumerExperience\DisableConsumerExperience.reg
    • Check the Package box and specify your Windows 10 customization package
  • Position this step after the Windows image has been deployed

SCCM Windows 10 customization

Create Custom Start Menu

We will now create a default Windows 10 start menu that will be used on every Windows 10 machine by default. If you add shortcuts to applications, make sure that you’ve include them in your task sequence or you’ll end up with a start menu looking like swiss cheese. (empty spots)

SCCM Windows 10 customization

  • Log on a Windows 10 machine
  • Manually configure the Start Menu
  • Create a new StartMenu folder in your Windows 10 customization package
  • Start an elevated PowerShell and run the following command : Export-StartLayout -Path “C:\Temp\StartMenu.bin”
  • Copy the StartMenu.bin file to your Windows 10 customization package in the StartMenu folder

SCCM Windows 10 customization

  • Open the SCCM Console and browse to Packages
  • Right-click your Windows 10 Customization package and select Update Distribution Point

SCCM Windows 10 customization

  • Go to Software Library \ Operating Systems \ Task Sequences
  • Right-click and Edit your Windows 10 task sequence
  • Select Add / General / Run Command Line
    • Name : Set Start Menu Layout
    • Command line : Powershell.exe Import-StartLayout -LayoutPath StartMenu\StartMenu.bin -MountPath C:\
    • Check the Package box and specify your Windows 10 customization package
  • Position this step after the Windows image has been deployed

SCCM Windows 10 customization

Set Windows 10 Pinned Taskbar items

Windows 10 permits to “pin” program on the task bar for easy access. Here’s how to create a standard task-bar for your Windows 10 users.

14361 (35)

  • Create a new PinTaskBar folder in your Windows 10 customization directory
  • Log on a Windows 10 computer
  • Manually pin all the desired program using the Pin to taskbar option

14361 (39)

  • Copy the links from %AppData%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar to your Windows 10 customization package in the PinTaskBar directory. This directory is hidden, so be sure to show Hidden Items

14361 (38)

14361 (30)

  • Open Registry Editor
  • Export the HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Taskband key to Win10Taskbar.reg

14361 (31)

  • Copy the Win10Taskbar.reg file to your Windows 10 customization package in the PinTaskBar directory
  • Edit the Win10Taskbar.reg file using a text editor and replace the beginning of the first line
    • Replace HKEY_Current_User to HKEY_LOCAL_MACHINE\defuser

14361 (43)

  • The final string will be : HKEY_LOCAL_MACHINE\defuser\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Taskband
  • Create a new Win10Taskbar.cmd file in your Windows 10 customization package in the PinTaskBar directory and copy the following code :
Win10Taskbar.cmd

Reg.exe load HKEY_LOCAL_MACHINE\defuser C:\users\default\ntuser.dat
Reg.exe import “PinTaskBar\Win10Taskbar.reg”
Reg.exe unload HKEY_LOCAL_MACHINE\defuser

Xcopy PinTaskBar\*.lnk “C:\Users\Default\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar” /Q /Y /I

14361 (41)

You’ll end up with the following structure :

14361(44)

  • Open the SCCM Console and browse to Packages
  • Right-click your Windows 10 Customization package and select Update Distribution Point

SCCM Windows 10 customization

  • Go to Software Library \ Operating Systems \ Task Sequences
  • Right-click and Edit your Windows 10 task sequence
  • Select Add / General / Run Command Line
    • Name : Set Taskbar Pins
    • Command line : cmd.exe /c PinTaskBar\Win10Taskbar.cmd
    • Check the Package box and specify your Windows 10 customization package
  • Position this step after the Windows image has been deployed

14361 (36)

Conclusion

If you correctly follow this post, you’ll end up with this structure in your Windows 10 Customization package :

14361 (37)

And you’ll have 6 new steps in your Windows 10 task sequence :

14361 (42)

You can now deploy your Windows 10 task sequence to a test machine and all customization should be there. See our post on how to monitor your task sequence if something goes wrong or simply if you want to track the progress.

We hope this post will help you out for your Windows 10 customization. Feel free to post your customization using the comment section. We will update this post on a regular basis when we have more to share.

[ratings]

Comments (63)

rhosysadmin

08.03.2020 AT 11:58 AM
I've been using the reg.exe load and unload of the default user registry steps in Win10Taskbar.cmd for months to make a couple of simple changes to File Explorer in the default registry hive for Win 10 LTSB 1607, and more recently LTSC 1809. And sometime last week, it stopped working. Nothing has changed with the task sequence steps themselves. I refreshed the wim file, but only with more current Microsoft updates. Below are the relevant entries from my smts.log file. Even though it does NOT show an error for the registry merge, I can tell you those registry keys are NOT there. reg.exe load HKEY_LOCAL_MACHINE\defuser c:\users\default\ntuser.dat ]LOG]!> reg.exe import "FileExplorer\Win10FileExplorer.reg" ]LOG]!> reg.exe unload HKEY_LOCAL_MACHINE\defuser ]LOG]!>

mfielding

12.12.2019 AT 12:43 PM
Ladies and Gentlemen, I am new to SCCM, so please forgive the newness. I am looking to push out a customized image with wallpapers, applications, etc. Clearly the above shows how to do much of this. Could I get some feedback on if things like standard wallpaper, power settings, start menu, and default apps should be customized on the image BEFORE putting it into SCCM or AFTER using deployment packages like shown above. If I could get some logic around this it would be fantastic. Some additional context; I will eventually be deploying custom servers, desktops, and VDI's, So I am looking for long term efficiency here even if that means more work up front. Any tips or advise are appreciated.

SCsysAdmn

11.26.2019 AT 03:01 PM
Is there a way to modify the action center on Windows 10 1903 for all users during OSD? All posts I've seen is how to disable vis PowerShell or GPO. I need to rearrange the quick access shortcuts and possible have it expanded when users click on the action center. Any help is appreciated.

kukubau

01.17.2019 AT 01:46 PM
Export file associations command line doesn't work properly in Windows 10 1809 anymore. Proper syntax is: Dism /Online /get-DefaultAppAssociations>C:\TEMP\SCDAppAssoc.xml my 2 cents.

Ransi

10.16.2018 AT 11:50 AM
Hey Benoit, Thanks for this great post! One thing I noticed however was exporting the start menu layout. When I launched powershell with elevated credentials and not the credentials that I was signed in with, I got an error. When I launched powershell without 'Running as Administrator' and used the powershell script, it worked fine.

Ben

08.03.2018 AT 01:53 PM
That's an interesting way to set the taskbar and the Start Menu tiles. I actually do it via GPO with one file only that does both, I find it easier to apply and to maintain.

svariell

06.01.2018 AT 10:21 AM
I'm using the remove default apps powershell script. It's for some reason removing "Windows Media Player". If I go in to my device and do add/remove programs, then look up installed windows features/media features, the "+" is gone. That is where you are to see "Windows Media Player". If I image a device with just Windows 10, I see it in that spot and on the device. What is removing it during the remove default apps script? I can't seem to find what it is. Thanks.

Jeremy

05.03.2018 AT 08:18 AM
The script used to change Wallpaper doesn't work as wanted for me (W10 1709). The default wallpapers are correctly removed and mine is copied. But on first boot, it's still the default one which is displayed .. Even with another reboot. Otherwise, in the personnalize menu, i only see my wallpaper, but it doesn't apply automatically. Have you already encountered this issue ? How can I resolve it ? Thanks

Andrew

04.27.2018 AT 12:17 PM
Hi, Thank for this. Small thing you may want to change. For the LockScreen part the name is wrong: Name : Set File Association Command line : cmd.exe /c LockScreen\LockScreen.cmd Check the Package box and specify your Windows 10 customization package

Ahmed

04.13.2018 AT 02:20 PM
Hello Benoit, I am following your steps but my Task sequence are not making any changes. Just like for pinned taskbar items and Lock screen. I am at the point where it is not making any sense to me that where i am making a mistake. If you want i can post an error also. Appreciate your response

Dennis

03.06.2018 AT 08:52 PM
My question is about the start menu export / import only. This is the only thing that no matter what I try, it just doesn't come out right. This guide has gotten the closest to what I want, so many many thanks SCD! So, I followe the portion here to create the startlayout bin file and put it into a task sequence. The OSD Deployment goes without incident. The start menu on the deployed machine, a VM in my test case, has the apps that I want, but the issue is the start menu becomes twice as wide as in the machine that provided the exported layout. So, the appearance is not what I am after. The icons are off to the right instead of the down the start menu instead of continuing down the start menu as I laid it out. I don't know what else to try. I am prepared to admit defeat here and just go with it as "close enough". Windows 10 Pro 1709 - 10.0(16299) - I sure am open to anyone who knows how to correct this 🙂 Thanks again for all the great how to's SCD!

Jonathan Lefebvre

05.01.2018 AT 11:18 AM
Hi Dennis, have you tried to follow a more recent post about that topic? https://systemcenterdudes.com/sccm-windows-10-taskbar-configuration/ thanks Jonathan

Matt H

05.01.2018 AT 09:33 AM
Apparently, you cannot post XML code in these boxes so here it is, sans the tags ( ): Fresh export for 1703: LayoutModificationTemplate xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout" Version="1" xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification" From our modified Start Menu export for our environment: ?xml version="1.0" encoding="utf-8"? LayoutModificationTemplate xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification" xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout" xmlns:taskbar="http://schemas.microsoft.com/Start/2014/TaskbarLayout" Version="1"

Matt H

05.01.2018 AT 09:31 AM
Dennis, In my environment I was struggling to get this and the taskbar to work (you can modify the taskbar items in the Start Menu file but it requires modification). One thing I noticed about the export is that it lacks the appropriate schema items to work correct with all versions of Windows 10. For example, this is the header of a Windows 10, 1703 Start Menu export to XML (BIN is just XML in a different container). This has been unaltered and is taking from line 1: This is one we modified for our Windows 10 environment, modified to make it work, based on the Microsoft documentation about exporting/importing the Start Menu and taskbar in Windows 10: There's quite a bit different between the two, even if you ignore the TaskbarLayout schema. Try replacing your BIN file's0 (open in Notepad++, for instance) top lines with the ones above and see if it works for you after that. We used the following Microsoft documents and I only thought to modify our output based on this document when I noticed key XML items were missing in the export function's output. https://docs.microsoft.com/en-us/windows/configuration/customize-windows-10-start-screens-by-using-group-policy https://docs.microsoft.com/en-us/windows/configuration/windows-10-start-layout-options-and-policies https://docs.microsoft.com/en-us/windows/configuration/configure-windows-10-taskbar Hope this helps.

om joshi

02.27.2018 AT 06:50 AM
This really gr8 guide. I need one more favor if any one can add how to change default keyboard and region from US to Any Other country that would accomplish the guide.

kay

02.22.2018 AT 09:21 AM
I am trying to create lock and logon screen of win 10 clients using SCCM 2016. Task sequence showing as no Items when i try to edit my win 10 customization as indicated in the article. Pls Assist

Rich

02.05.2018 AT 05:40 AM
When we initially deployed Windows 10, we used the method of changing the wallpaper permissions and copying over our corporate wallpapers and it worked well. However, now we are deploying feature update 1709, the default Windows wallpaper are back. Is anyone else experiencing this issue or has a workaround?

Andrew

12.29.2017 AT 11:28 AM
Does the CREATE CUSTOM START MENU step work when running a Windows 10 1607 to 1709 task Sequence? Wouldn't it apply only to new users while existing user accounts will be unaffected and thus still have left over tiles that don't work after removing provisioned apps?

Dan

12.11.2017 AT 12:45 PM
This is great! I am just having one issue with the Pin Taskbar. I have already changed the quotes and even retyped the whole thing myself. I am having the issue with importing the reg file. I get C:\WINDOWS\system32>Reg.exe import "PinTaskBar\Win10Taskbar.reg" ERROR: Error opening the file. There may be a disk or file system error. and then C:\WINDOWS\system32>Xcopy PinTaskBar\*.lnk "C:\Users\Default\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar" /Q /Y /I File not found - *.lnk 0 File(s) copied Any ideas? Thanks

Jonathan Lefebvre

12.13.2017 AT 11:37 AM
Hi Dan, I presume you are using a recent build of Windows 10( v1607 and up)... This trick is no longer working, as Microsoft as an official method of doing this. We did a post about this https://systemcenterdudes.com/sccm-windows-10-taskbar-configuration/ Thanks Jonathan

william jovel

08.13.2017 AT 07:28 AM
Hello, How Can I customize the windows Installation to rellocate the profiles to Drive d: ? How Can I Move Users Folder to another Location in Windows 10 ? I installed the first machine then applied this procedure: https://www.tenforums.com/tutorials/1964-move-users-folder-location-windows-10-a.html#MethodOne It functioned well, then I Captured the image , using SCCM task secuence, then I distribuited the image with one Task Secuence, the new brand machine installed well but the change in the default profile not functioned. Could You help me? thanks

Filip Ruymen

08.02.2017 AT 04:47 AM
Can this also be in MDT?

Jonathan Lefebvre

12.13.2017 AT 11:41 AM
Sure! It should work as is. Jonathan

Girish

06.29.2017 AT 11:56 PM
I have tried multiple ways to get the start menu and taskbar lay out configured. Mind you, I am doing this via MDT Lite Touch, though I am copying the necessary data to a folder in %windir% and then running the commands. I keep getting errors as such: Failed to run the action: Set Taskbar Pins. Incorrect function few lines down... Task Sequence Engine failed! Code: enExecutionFail Task sequence engine filed with error code 80004005 SetNamedSecurityInfo()failed SetObjectOwner()failed. 0x80070005 RegQueryValueExW is unsuccessful for Software\Microsoft\SMS\Task Sequence For the life of me I can't figure out why this is happening. Any insight would be greatly appreciated. Thanks.

Girish

06.30.2017 AT 04:57 PM
Please ignore this post. User error, the path to files was incorrect in task sequence steps, none the less, I have been able to get 3 steps in this post working in MDT Lite Touch.