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)

MR410

03.21.2017 AT 01:56 PM
Hi, Great post! Could you share your "ready" folder to download?

Hans Peter

01.26.2017 AT 10:09 AM
Hello i have a question. I will deploy Win10 1607. I installed the Software und now i will deploy it with SCCM 2012 R2. My Question, how can i deploy all Settings from the Auditmode-User? i use Copyprofil with Sysprep in a Task Sequence,but the TS dont deploy Desktop and the special settings like first-runs from programs

Calvin Woods

12.08.2016 AT 10:48 AM
Struggling to get the custom start menu to import. There are no visual errors when it imports but the default menu stays?? Can someone assist? Is there any logging that can be done?

Cor

11.04.2016 AT 12:30 AM
I can't get the 'Set TaskBar Pins' to complete. I've configured as above but SCCM is throwing the following error. Failed to run the last action: Set Taskbar Pins. Execution of task sequence failed. The system cannot open the file. (Error: 00000004; Source: Windows) :\_SMSTaskSequence\Packages\SYD00025>Xcopy PinTaskBar\*.lnk “C:\Users\Default\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar” /Q /Y /I ERROR: Error opening the file. There may be a disk or file system error. Invalid number of parameters Any ideas?

Benoit Lecours

11.08.2016 AT 05:07 PM
My guess is that it's an " character error. This happens when copy/pasting from Wordpress, the quote character is not correctly copied. Enter it manually and retry.

Dylan

10.13.2016 AT 09:59 AM
When I set a custom lock screen after the 1607 update and then lock my pc, the lock screen will be black. If I hit a button (for the lock screen to go away), then my custom image will show up while im typing in my password. Anyone else have this issue? Basically this issue: http://answers.microsoft.com/en-us/windows/forum/windows_10-hello/lockscreen-issue-windows-10-anniversary-update/62abf7bd-172c-464b-86f5-102c919f130a?page=1 but i need a fix for our image.

Ambar

09.26.2016 AT 09:56 PM
Hi Gents, Having issues with the Featured Apps(Candy Crush Soda, Minecraft, Twitter, Picsart and Cortana), can’t get rid of them. I am facing the same issue, even after trying the Registry modification as shown above. Is there any other way to remove/block these apps to show up, this is holding up a huge deployment ? Any suggestions, will be much appreciated. Thanks, Ambar

Bill H.

11.04.2016 AT 01:22 PM
Ambar, there is a PowerShell cmdlet that can be run against your mounted WIM that will resolve your issue. https://technet.microsoft.com/en-us/library/dn376476.aspx

Jonathan Lefebvre

09.28.2016 AT 08:53 AM
Hi Ambar, You can try to remove it from the GPO. Computer Configuration > Administrative Templates > Windows Components > Cloud Content-> Turn off Microsoft consumer experience. Note that modification to Consumer experiences is restricted to Enterprise and Education SKU of Windows 10 v1607. If you use Windows 10 v1607 Pro or Home, you will not be able to manage this at all. Jonathan

Sachin

09.26.2016 AT 09:41 PM
Hi, I have followed the Set Windows 10 Pinned Taskbar items section as per your blog. The only difference is that my folder structure is different to yours. I have a \\Sccm01\CM_OSD\Win10_TaskbarLayout_v1.0 folder that contains File Explorer.lnk, Internet Explorer.lnk the Win10Taskbar_v1.0.reg and Win10Taskbar_v1.0.cmd files. I have modified the .CMD file with the following: Reg.exe load HKEY_LOCAL_MACHINE\defuser %SystemDrive%\users\default\ntuser.dat Reg.exe import "Win10Taskbar_v1.0.reg" Reg.exe unload HKEY_LOCAL_MACHINE\defuser Xcopy *.lnk "%SystemDrive%\Users\Default\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar" /Q /Y /I The TS runs successfully but I only get the file Explorer and Outlook pinned to the task bar, IE does not get pinned. Also is there a way to remove Store and Edge icons in the same TS?

Jonathan Lefebvre

09.28.2016 AT 08:42 AM
Hi Sachin, there's an issue to automatically pin IE11 to the taskbar. I suggest you pin it in the start menu... As for Edge, it can't be removed from the taskbar automatically. Might have changed with Windows 10 1607. For the store, use the GPO Do Not allow pinning Store app to the Taskbar : https://technet.microsoft.com/en-us/itpro/windows/manage/changes-to-start-policies-in-windows-10 thanks Jonathan

Tim

09.16.2016 AT 08:51 AM
Do you by chance have instructions for doing this with just MDT 2013 Update 2? My company doesn't have SCCM and me trying to convert your steps from Packages to MDT Task Sequence steps isn't working properly.

Kevin

11.02.2016 AT 05:51 AM
I believe you just add the folder contents to a share on your MDT server and follow the instructions. However, I'm not sure where in the MDT task sequence you add the Components ... maybe in the post install section before install updates? Not sure, but Ive been working on the same issue.

Kevin

11.02.2016 AT 05:50 AM
I believe you just add the folder contents to a share on your MDT server and follow the instructions. However, I'm not sure where in the MDT task sequence you add the Components ... maybe in the post install section before install updates? Not sure, but Ive been woring on the same issue.

Carl

09.01.2016 AT 08:48 AM
Does any of this work with Windows 10 AE 1607 Enterprise?

Benoit Lecours

09.06.2016 AT 12:37 PM
We haven't fully tested yet on 1607. This post will be updated if we found that some features are not working on this version.

Sach

08.31.2016 AT 11:26 PM
Hi, I followed your process for Disabling Microsoft Consumer Experiences to an image deployed via SCCM 2012 with MDT integration. The Windows 10 version is 1607 but it does not work. I also tried to run the command manually to a reference machine that is not domain joined but the icons remain even after reboot. Can you help with this?

BaardH

02.06.2017 AT 09:04 AM
Use GPO in stead, not the customizations described here.

Helper

12.02.2016 AT 11:18 AM
FWIW, using GPO is working for me to disable Consumer Experiences with 1607.

Jerry

08.31.2016 AT 08:40 PM
Can this package only be used during a task sequence or can the package be deployed out to a machine after it's being image? For example, if I deploy a task sequence and then find that 25 Machines have to be customized a certain way, can I go back and deploy that 'Windows 10 Customization' package and it customize the OS?

Jared

08.06.2016 AT 03:37 PM
Hey gang, first attempts at doing some of this now that Win 10 1607 is out. Import-StartLayout doesn't seem to be working for me (SCCM 1602, Win10 1607). I tried "Online" in the task sequence as shown here, and also against a mounted WIM, as described in the help for this cmdlet. The mounted WIM attempt fails complaining that "The path did not resolve to a file." "Online" executes successfully, but has no effect. The taskbar customization is working, but I'm trying to get IE down there instead of Edge. In Win 10 1607 at least, it always appends an Edge icon on the far left, and it actually kills my IE11 shortcut, blanking out the icon and rendering it useless. What a jerk!

Matt

08.05.2016 AT 11:48 AM
This is a great post. Can these customization's be added to an upgrade task sequence going from Win7?

Vit

08.05.2016 AT 03:23 AM
Hey dudes, you probably know how to fight this issue. I need to customize Windows 10 lock screen to have 2 languages: 1 English, 2 Russian, in that order. My in-place upgrade task sequence is using Windows 10 Russian media. I tried to set registry keys in HKEY_USERS\.DEFAULT\Keyboard Layout\Preload but after restart, the machine returns to default: 1. Russian, 2. English. The same key works perfectly in Windows 8, so in Win 10 it looks like a bug 🙁

QWade

07.29.2016 AT 12:00 PM
Is it possible to set the wallpaper to Stretch? By default it's set to fill, which makes the wallpaper look to large for the screen.

Eric

06.29.2016 AT 10:21 AM
This a great post. Thanks! I have noticed that after deploying the image, IE does not stay pinned to the start menu. Just Edge, Firefox, and Chrome. Is that profile dependent? So far everything else works..

Jonathan Lefebvre

07.05.2016 AT 01:56 PM
Hi Eric, I ran into this issue. You can follow guidance from this post. It's working! http://ccmexec.com/2015/09/customizing-the-windows-10-start-menu-and-add-ie-shortcut-during-osd/ Jonathan

Eric

06.29.2016 AT 10:20 AM
This a great post. Thanks! I have noticed that after deploying the image, IE does not stay pinned to the start menu. Just Edge, Firefox, and Chrome. Is that profile dependent? So far everything else works.

John

06.22.2016 AT 07:58 AM
Hi Guys, Not sure if this still works with later versions. I am running SCCM 1602, Using a version Windows 10 64bit Win PE for the boot image and deploying a Windows 10 Education 64 Bit OS. I have only currently been able to get the Set Wallpaper task to complete successfully. It seems to be an issue with the Run Command Line items, I have tried them with the "Disable 64 Bit file system redirection" option ticked and unticked.

David

07.05.2016 AT 07:06 PM
Hi John, we are having the same/similar problem here. We're on SCCM 1603 using same WinPE and Win10 builds as you. This is highly agitating as we have young students who end up with nothing pinned and they don't know how to search for programs etc., and need things laid out for them. I don't feel Microsoft haven't done enough to help Education customers with being able to easily manage and control what should be easy customisations - even just through Group Policy would be enough.

Calvin

06.20.2016 AT 08:40 AM
Promise I have set this up right but struggling to make this work. What Windows 10 media are you using?

Benoit Lecours

06.22.2016 AT 07:20 AM
Which settings are you struggling with ? I'm using the latest Win10 media.

Dan

06.02.2016 AT 04:20 AM
For taskbar pinned items i am getting the following: http://i.imgur.com/e4jQ7Pt.png http://i.imgur.com/KXtjHtn.png any ideas?