1. The Start Menu and Taskbar customization:

This is probably the most difficult part of the whole TS because placement of where this step runs is very critical and also the .xml file is very specific.

It is important to run this just after the step Setup Windows and Configuration Manager. I added this to the Windows 10 Script Pack and create a powershell script which it runs as follows.

This is what startmenu.ps1 file had in it.

Import-StartLayout -LayoutPath $PSScriptRoot\startlayout.xml -MountPath $env:SystemDrive\

I found that when deploying Windows 10 Education the taskbar pins for some type of web browser (Edge or IE) were not there and also there was no file explorer link. Unfortunately in my environment this is pretty critical as we have a lot of users that are not very computer illiterate. This is the .xml file of the Start Menu to only have 1 column and customizations to the taskbar below.

<?xml version=”1.0” encoding=”utf-8”?>

In summary you should have a script pack which includes 2 files.

My script packs structure is as follows:

  • Win10_SOE_ScriptPack
    • StartMenu
      • startmenu.ps1
      • startlayout.xml


2. Copy CMTrace to Windows Directory

As most of you know, its important to be able to read your log files on the system your imaging on. Otherwise, you need to either map a drive to a location your main machine can access or copy the logs to a usb to analyses. Most of the time, I prefer to review the log file in place of where the machine is being imaged.

The reason behind this is because we often image a large number at a time, upwards of 100. For a single step in the TS this is such an important one.

This is the powershell script that copies cmtrace.exe to Windows folder.

#Work out the current execution directory $executingScriptDirectory = Split-Path -Path $MyInvocation.MyCommand.Definition -Parent $CMTrace = $executingScriptDirectory + “\CMTrace.exe”

copy CMTrace to local computer

Copy-Item $CMTrace -Destination “$Env:windir” -Force

This should be the file structure you have:

  • Win10_SOE_ScriptPack
    • CMTrace
      • CMTrace.exe
      • cmtrace.ps1

3. Set the version of the SOE

This TS step is so that our HP staff can tell the difference between an old image and a new image. Also when maintenance periods come there’s a clear identifier whats new and old. I use standard versioning theory. eg.

  • When I perform minor adjustments to the SOE the 3rd segment is changed. This might be MS updates or AV definitions 01.00.00 –> 01.00.01 –> 01.00.02
  • When I perform major adjustments to the SOE the 2nd segment is changed. This might be service packs, OS edition or major software changes etc. 01.01.00 –> 01.01.01 –> 01.01.02
  • Finally when there is an OS change, Windows 8.1 to Windows 10 the 1st segment is then changed. 02.00.01 –> 02.00.01 –> 02.00.02.

To achieve this versioning theres another powershell script we can use.

# Set the Environment

$setenv = New-Object -ComObject Microsoft.SMS.TSEnvironment

check and create reg container

if((Test-Path “HKLM:\SOFTWARE\Wow6432Node\SPC”) -eq $false){ New-Item -ItemType container -Path “HKLM:\SOFTWARE\Wow6432Node\SPC” }

#Set script variables to Task Sequence variables $TSVersion = $setenv.value(“SOEVersion”)

set build version

New-Itemproperty -Path “HKLM:\SOFTWARE\Wow6432Node\SPC” -Name “SOEVersion” -Value $TSVersion -PropertyType String -Force

set build date

$date = Get-Date -Format g New-Itemproperty -Path “HKLM:\SOFTWARE\Wow6432Node\SPC” -Name “BuildDate” -Value $date -PropertyType String -Force

Folder structure should look like this:

  • Win10_SOE_ScriptPack
    • setversion.ps1

4. Set File Associations

This step has been borrowed from here. Basically on a MOE you set file associations to say open a .pdf file with Adobe DC or a .html file with Internet Explorer. This was another key thing that my environment required as we use sharepoint and opening our intranet page with anything else but sharepoint would present our users with problems. Read the doco about exporting the xml file out etc etc. I have posted what I have below however.

The TS step as follows; leveraging DISM to read an exported xml file.

Dism.exe /online /Import-DefaultAppAssociations:FileAssociations\SCDAppAssoc.xml

Then the exported .xml file:

<?xml version=”1.0” encoding=”UTF-8”?>

Folder structure as follows:

  • Win10_SOE_ScriptPack
    • FileAssociations
      • SCDAppAssoc.xml

5. Explorer Tweaks

Again this contains some very important steps which change the view of File Explorer when you first open it up. Did you know that there are 2 views you can set for this.

I am alittle old school so I prefer the most original way, and so do most of our users. But here are the 2 ways you can view File Explorer.

Quick Access:

This PC:

So to set the OS to use This PC instead of Quick Access you can use the following .reg key. Note that Quick Access is set by default.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced] “LaunchTo”=dword:00000001

Folder structure as follows:

  • Win10_SOE_ScriptPack
    • ExplorerTweak
      • LaunchTo.reg

6. The Task Sequence Export (No Content just body)

SOE Windows 10 1607 (Final)