# OSDBuilder: WinPE Customization

## BEFORE YOU BEGIN

{% hint style="info" %}
In this blog I will be using OSDBuilder created by David Segura, if you are not familiar with OSDBuilder here's an quick start.
{% endhint %}

{% embed url="<https://www.osdeploy.com/osdbuilder/docs/quick-start>" %}

Once OSDBuilder is installed and you have imported your first OSMedia, you then have to add some external content to OSDBuilder home path. External content can be ADK / Drivers / DaRT / Scripts or ExtraFiles and that will make it possible for you to create some awesome customized WinPE media.&#x20;

## EXTERNAL CONTENT

{% hint style="info" %}
Location of external content .\OSDBuilder\Content
{% endhint %}

![External Content - Root](https://3347085443-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-L_qpqqoWaR3gQAWE4Lk%2F-LdNndfrziIcqS_wB4uv%2F-LdNnr0EMwfJ9sIIKfJw%2F7.JPG?alt=media\&token=108f36bb-0de7-471d-beee-af96d811ab02)

### ADK

The ADK version must match the Windows build that you are installing, and it must also match the Windows build of the image that you are offline servicing.

{% hint style="warning" %}
Starting with ADK 1809, you have to download the WinPE add-on for the ADK, as it has been separate from the ADK package.
{% endhint %}

Download ADK and WinPE add-on [here](https://docs.microsoft.com/en-us/windows-hardware/get-started/adk-install)

Once installed in your environment, copy ADK OC's (Optional Components) and Language from below directories to the below OSDBuilder location.

```
C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs
C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\x86\WinPE_OCs
```

![External Content - ADK](https://3347085443-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-L_qpqqoWaR3gQAWE4Lk%2F-LdNndfrziIcqS_wB4uv%2F-LdNoBHy5W2MhcWMTBCK%2F8.JPG?alt=media\&token=6eb77a4b-cd94-4028-8c02-11821d903da9)

### DaRT

{% hint style="info" %}
DaRT is not freely available.  It's part of the Microsoft Desktop Optimization Pack (**MDOP**)
{% endhint %}

Once DaRT is installed in your environment. Then use DaRT to create a config file or copy the config file from Microsoft Deployment Toolkit (**MDT**)

1. Copy **Toolsx86.cab** and **Toolsx64.cab** from "**C:\Program Files\Microsoft DaRT\v10**" to the below OSDBuilder location.
2. Copy **DartConfig8.dat** from "**C:\Program Files\Microsoft Deployment Toolkit\Templates**"  to the below OSDBuilder location.

You can rename the configuration file to **DaRTConfig.dat** if you want, OSDBuilder handles both file names. Just make sure that you copied the **DaRTConfig8.dat**.

![External Content - DaRT](https://3347085443-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-L_qpqqoWaR3gQAWE4Lk%2F-LdNndfrziIcqS_wB4uv%2F-LdNoSVj614TrhG_uNk0%2F9.JPG?alt=media\&token=82617d62-2585-46e5-b5af-7a42fe71c281)

### Drivers

{% hint style="warning" %}
Do **NOT** add more than a few MB of drivers as it will increase the size of your WinPE media.
{% endhint %}

Download the WinPE driver package from your computer vendor website and extract the files to the below directory. If the driver packages contains large **\*.MSI** files I recommend removing them by deleting the driver folder before adding them to the WinPE media.

I've deleted these two driver folders from the WinPE driver package.

* **0XCPP\_A00-00**
* **7X8Y6\_A00-00**

![External Content - Drivers](https://3347085443-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-L_qpqqoWaR3gQAWE4Lk%2F-LdNndfrziIcqS_wB4uv%2F-LdNoY-hFWavctLy3Ic0%2F10.JPG?alt=media\&token=2d062817-3210-480c-99aa-4d2bc5efdf24)

### ExtraFiles

You can add extra files to WinPE. Create a new directory in **.\Content\ExtraFiles** and add the extra files in a relative path to the WinPE root. If you eg. want **CMTrace.exe** to be located in WinPE under **X:\Windows\System32** then the path must be something like this **.\ExtraFiles\WinPE CMTrace x64\Windows\System32**

If you add Wallpapers to ExtraFiles, it must be in the following formats.

* setup.bmp - 1024x768
* winpe.bmp - 1024x768
* winpe.jpg - 1024x768
* winre.jpg - 1024x768

Here I've added **CMTrace.exe** and custom **Wallpapers** to **X:\Windows\System32**

![External Content - ExtraFiles](https://3347085443-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-L_qpqqoWaR3gQAWE4Lk%2F-LdNndfrziIcqS_wB4uv%2F-LdNockzFK9xr8O1BiXl%2F11.JPG?alt=media\&token=b80b2c89-9fe5-4019-88d9-19e3caccb1d8)

![External Content - ExtraFiles](https://3347085443-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-L_qpqqoWaR3gQAWE4Lk%2F-LdNndfrziIcqS_wB4uv%2F-LdNoiGjMyj_vpmQO5t1%2F12.JPG?alt=media\&token=6adfca43-5447-4f75-b45a-3a7d438fb66f)

### Scripts

You can add PowerShell scripts to the **.\Content\Scripts** directory. During the creation of a new PEBuild task you will be prompted to select the scripts.

In this case I've added scripts to change the default InputLocale and TimeZone to danish.

![External Content - Scripts](https://3347085443-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-L_qpqqoWaR3gQAWE4Lk%2F-LdNuUENF06nEGdjmovM%2F-LdNwP0l-ZGN9S_wtSLc%2F13.JPG?alt=media\&token=e16d58be-e0b0-4d75-ae76-cf388ac14edd)

{% code title="Set-WinPE\_InputLocale.ps1" %}

```
#=================================
#   Set Keyboard Layout for WinPE
#=================================
if ($TaskType -eq 'PEBuild') {
    if (Test-Path $MountDirectory) {
        Dism /Image:"$MountDirectory" /Set-Inputlocale:"da-dk;en-us" /LogPath:"$Logs\$((Get-Date).ToString('yyyy-MM-dd-HHmmss'))-Dism-SetInputlocale.log"
    }
} else {
    if (Test-Path "$MountWinPE") {
        Dism /Image:"$MountWinPE" /Set-Inputlocale:"da-dk;en-us" /LogPath:"$PELogs\$((Get-Date).ToString('yyyy-MM-dd-HHmmss'))-Dism-SetInputlocale-WinPE.wim.log"
    }
    if (Test-Path "$MountWinSE") {
        Dism /Image:"$MountWinSE" /Set-Inputlocale:"da-dk;en-us" /LogPath:"$PELogs\$((Get-Date).ToString('yyyy-MM-dd-HHmmss'))-Dism-SetInputlocale-WinSE.wim.log"
    }
    if (Test-Path "$MountWinRE") {
        Dism /Image:"$MountWinRE" /Set-Inputlocale:"da-dk;en-us" /LogPath:"$PELogs\$((Get-Date).ToString('yyyy-MM-dd-HHmmss'))-Dism-SetInputlocale-WinRE.log"
    }
}
```

{% endcode %}

{% code title="Set-WinPE\_TimeZone.ps1" %}

```
#====================================================
#   Set Time Zone to Romance Standard Time for WinPE
#====================================================
if ($TaskType -eq 'PEBuild') {
    if (Test-Path $MountDirectory) {
        Dism /Image:"$MountDirectory" /Set-TimeZone:"Romance Standard Time" /LogPath:"$Logs\$((Get-Date).ToString('yyyy-MM-dd-HHmmss'))-Dism-SetTimeZone.log"
    }
} else {
    if (Test-Path "$MountWinPE") {
        Dism /Image:"$MountWinPE" /Set-TimeZone:"Romance Standard Time" /LogPath:"$PELogs\$((Get-Date).ToString('yyyy-MM-dd-HHmmss'))-Dism-SetTimeZone-WinPE.wim.log"
    }
    if (Test-Path "$MountWinSE") {
        Dism /Image:"$MountWinSE" /Set-TimeZone:"Romance Standard Time" /LogPath:"$PELogs\$((Get-Date).ToString('yyyy-MM-dd-HHmmss'))-Dism-SetTimeZone-winSE.wim.log"
    }
    if (Test-Path "$MountWinRE") {
        Dism /Image:"$MountWinRE" /Set-TimeZone:"Romance Standard Time" /LogPath:"$PELogs\$((Get-Date).ToString('yyyy-MM-dd-HHmmss'))-Dism-SetTimeZone-WinRE.log"
    }
}
```

{% endcode %}

## WINPE CUSTOMIZATION

{% hint style="warning" %}
Before customizing WinPE I recommend that you increase the size of your UEFI Recovery Partition.  Default size is between 300-500MB, but this may not be enough so I will recommend changing UEFI Recovery partition size to 980MB. (**Blog post on this topic is coming soon!**)
{% endhint %}

### PEBuild Functions

* Get-PEBuilds
  * Returns information on already created PEBuilds
* New-PEBuildTask
  * Creates a custom PEBuild task configuration
* New-PEBuild
  * Executes a custom PEBuild task configuration created with New-PEBuildTask

![PowerShell ISE GUI](https://3347085443-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-L_qpqqoWaR3gQAWE4Lk%2F-LfdRqbZR8on4V9eW0M_%2F-LfdT-QvYkNLjqYHwdxK%2F32.JPG?alt=media\&token=480aaa62-7c35-402c-ab7b-bff9f792c761)

![PowerShell ISE GUI](https://3347085443-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-L_qpqqoWaR3gQAWE4Lk%2F-LfdRqbZR8on4V9eW0M_%2F-LfdTWdpZENpIh3PDFb1%2F33.JPG?alt=media\&token=a445d71c-05cb-45f9-ac1d-c2404643114b)

### Create WinRE Task

To create a WinRE task, select **New-PEBuildTask** in OSDBuilder and select the **Recovery** tab or enter the below command line directly in to the PowerShell console window. Keep the task name simple "**Recovery**" will be added automatically as a task name prefix. If you include Arch and ReleaseID in the task name, it will automatically sort the source OSMedia.

You can include parameters like **-ContentWinPEADK**, **-ScratchSpace** and **-WinPEAutoExtraFiles** I believe the default WinPE scratch space is 32MB, if you do not select an option it will automatically be set to 128MB.

You can either use the PowerShell ISE GUI or just write the command directly with parameters.

![PowerShell ISE GUI](https://3347085443-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-L_qpqqoWaR3gQAWE4Lk%2F-LfdREWXicTCbSLt-FM_%2F-LfdRJ8s7BivRfWNaazY%2F0.JPG?alt=media\&token=f41cd44c-6515-4ce9-82db-a243e231d49c)

{% hint style="info" %}
**New-PEBuildTask -TaskName "Win10 x64 1803" -ContentWinPEADK -ContentWinPEDart -ContentWinPEDrivers -ContentWinPEExtraFiles -ContentWinPEScripts -ScratchSpace 256 -WinPEAutoExtraFiles**
{% endhint %}

Select the imported OSMedia in order to create the WinRE media.

![PowerShell Command - OSMedia](https://3347085443-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-L_qpqqoWaR3gQAWE4Lk%2F-LdNrViX0EZqOktvblzC%2F-LdNsFD82knmy3r6qlbE%2F14.JPG?alt=media\&token=0ec8a49a-2909-46d0-89cd-cdb8bac4476c)

If you've added DaRT to external content and checked / added the "**ContentWinPEDart**" parameter during **New-PEBuildTask** it will show here. Select it or click cancel to continue.

![Select External Content - DaRT](https://3347085443-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-L_qpqqoWaR3gQAWE4Lk%2F-LdrhArxeF0lZk7Sc_74%2F-Ldrij81d0p-fzt8dZtO%2F2.JPG?alt=media\&token=2081b33a-4ef7-4d12-8c16-3e297ea3a88d)

If you've added ADK OC's to external content and checked / added the "**ContentWinPEADK**" parameter during **New-PEBuildTask** it will show here. Select the ones you need or click cancel to continue.

![Select External Content - ADK](https://3347085443-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-L_qpqqoWaR3gQAWE4Lk%2F-LdrhArxeF0lZk7Sc_74%2F-Ldrj1paNSYXIvM7tp1Z%2F3.JPG?alt=media\&token=f0dbad46-411e-4dd8-ae39-ff0d9b3463f3)

If you've added WinPE drivers to external content and checked / added the "**ContentWinPEDrivers**" parameter during **New-PEBuildTask** it will show here. Select the one you need or click cancel to continue.

![Select External Content - Drivers](https://3347085443-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-L_qpqqoWaR3gQAWE4Lk%2F-LdrhArxeF0lZk7Sc_74%2F-LdrjTdi3B_f45W3EwpI%2F4.JPG?alt=media\&token=e9fbe7d2-8566-4196-be82-c9f72480bd3b)

If you've added extra files to external content and checked / added the "**ContentWinPEExtraFiles**" parameter during **New-PEBuildTask** it will show here. Select the ones you need or click cancel to continue.

![Select External Content - ExtraFiles](https://3347085443-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-L_qpqqoWaR3gQAWE4Lk%2F-LdrhArxeF0lZk7Sc_74%2F-LdrjeRxmhMo7IU8agyC%2F5.JPG?alt=media\&token=c4cc5079-6090-4256-83fb-f397ebae133c)

If you've added scripts to external content and checked / added the "**ContentWinPEScripts**" parameter during **New-PEBuildTask** it will show here. Select the ones you need or click cancel to continue.

![Select External Content - Scripts](https://3347085443-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-L_qpqqoWaR3gQAWE4Lk%2F-LdrhArxeF0lZk7Sc_74%2F-LdrjnHPXP_4pZVzhmqg%2F6.JPG?alt=media\&token=940bca70-8745-4d79-ba75-f8f8af749997)

You should end up with a similar PowerShell summary.

![PowerShell Command - WinRE Task Summary](https://3347085443-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-L_qpqqoWaR3gQAWE4Lk%2F-LfcWcNCOz_xYfOpAhPF%2F-LfcZ1CQqnx2KnDAzMSw%2F15.JPG?alt=media\&token=c4bd6bee-9007-4beb-93d3-54cad5d2ae1f)

You should also see a "**Recovery Win10 x64 1803.json**" file here **.\OSDBuilder\Tasks**

![WinRE Task - JSON File](https://3347085443-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-L_qpqqoWaR3gQAWE4Lk%2F-Lfcc3z5D8Kaw1XizEb_%2F-Lfcf7p9Q5Lzo3eZddDu%2F18.JPG?alt=media\&token=6272d308-a8af-48df-b9d9-5614b561ce0c)

### Create WinPE Task

Creating a WinPE task is very similar to WinRE task, select **New-PEBuildTask** in OSDBuilder and select the **WinPE** tab or enter the below command line directly in to the PowerShell console window. From SourceWim select WinPE and keep the task name simple "**WinPE**" will be added automatically as a task name prefix. If you include Arch and ReleaseID in the task name, it will automatically sort the source OSMedia.

You can include parameters like **-ContentWinPEADK**, **-ScratchSpace** and **-WinPEAutoExtraFiles** I believe the default WinPE scratch space is 32MB, if you do not select an option it will automatically be set to 128MB.

You can either use the PowerShell ISE GUI or just write the command directly with parameters.

![PowerShell ISE GUI](https://3347085443-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-L_qpqqoWaR3gQAWE4Lk%2F-Lfcc3z5D8Kaw1XizEb_%2F-Lfcc9SDnU_Bhx2e6_fq%2F16.JPG?alt=media\&token=5cfab91c-ba2a-470a-9cbc-afd4c2eea6ac)

{% hint style="info" %}
**New-PEBuildTask -SourceWim WinPE -TaskName "Win10 x64 1803" -ContentWinPEADK -ContentWinPEDart -ContentWinPEDrivers -ContentWinPEExtraFiles -ContentWinPEScripts -ScratchSpace 256 -WinPEAutoExtraFiles**
{% endhint %}

Select the imported OSMedia in order to create the WinPE media.

![PowerShell Command - OSMedia](https://3347085443-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-L_qpqqoWaR3gQAWE4Lk%2F-Lfc_aEwBHJO30S6krlP%2F-Lfcay1GrMxmY4olcE8a%2F17.JPG?alt=media\&token=3c442e1a-0b31-4ae2-89fb-b3b67c828899)

If you've added DaRT to external content and checked / added the "**ContentWinPEDart**" parameter during **New-PEBuildTask** it will show here. Select it or click cancel to continue.

![Select External Content - DaRT](https://3347085443-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-L_qpqqoWaR3gQAWE4Lk%2F-LdrhArxeF0lZk7Sc_74%2F-Ldrij81d0p-fzt8dZtO%2F2.JPG?alt=media\&token=2081b33a-4ef7-4d12-8c16-3e297ea3a88d)

If you've added ADK OC's to external content and checked / added the "**ContentWinPEADK**" parameter during **New-PEBuildTask** it will show here. Select the ones you need or click cancel to continue.

![Select External Content - ADK](https://3347085443-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-L_qpqqoWaR3gQAWE4Lk%2F-LdrhArxeF0lZk7Sc_74%2F-Ldrj1paNSYXIvM7tp1Z%2F3.JPG?alt=media\&token=f0dbad46-411e-4dd8-ae39-ff0d9b3463f3)

If you've added WinPE drivers to external content and checked / added the "**ContentWinPEDrivers**" parameter during **New-PEBuildTask** it will show here. Select the one you need or click cancel to continue.

![Select External Content - Drivers](https://3347085443-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-L_qpqqoWaR3gQAWE4Lk%2F-LdrhArxeF0lZk7Sc_74%2F-LdrjTdi3B_f45W3EwpI%2F4.JPG?alt=media\&token=e9fbe7d2-8566-4196-be82-c9f72480bd3b)

If you've added extra files to external content and checked / added the "**ContentWinPEExtraFiles**" parameter during **New-PEBuildTask** it will show here. Select the ones you need or click cancel to continue.

![Select External Content - ExtraFiles](https://3347085443-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-L_qpqqoWaR3gQAWE4Lk%2F-LfdIaRr7l3v1JDP8z4J%2F-LfdNtaCuCQGnv2LAbjp%2F5.JPG?alt=media\&token=fcfe2969-29b0-4ee2-aaf0-0fa093f7500d)

If you've added scripts to external content and checked / added the "**ContentWinPEScripts**" parameter during **New-PEBuildTask** it will show here. Select the ones you need or click cancel to continue.

![Select External Content - Scripts](https://3347085443-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-L_qpqqoWaR3gQAWE4Lk%2F-LdrhArxeF0lZk7Sc_74%2F-LdrjnHPXP_4pZVzhmqg%2F6.JPG?alt=media\&token=940bca70-8745-4d79-ba75-f8f8af749997)

You should end up with a similar PowerShell summary.

![PowerShell Command - WinPE Task Summary](https://3347085443-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-L_qpqqoWaR3gQAWE4Lk%2F-LfdIaRr7l3v1JDP8z4J%2F-LfdO7PXn3TGJcSa7FGg%2F19.JPG?alt=media\&token=1f42b4ac-efdb-48be-b858-535fba515b96)

You should also see a "**WinPE Win10 x64 1803.json**" file here **.\OSDBuilder\Tasks**

![WinPE Task - JSON File](https://3347085443-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-L_qpqqoWaR3gQAWE4Lk%2F-LfdIaRr7l3v1JDP8z4J%2F-LfdOFBtGRutOKOPRwy1%2F20.JPG?alt=media\&token=94b24f4f-5296-4b46-b923-363e6f3b05e6)

### Create PEBuild

To create a new PEBuild, select **New-PEBuild** in OSDBuilder and select the execute option or enter the below command line directly in the PowerShell console window.

![PowerShell ISE GUI ](https://3347085443-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-L_qpqqoWaR3gQAWE4Lk%2F-LfclwfYDrOLSd6WdJqT%2F-Lfd-1nJRMU0RCfImDyc%2F23.JPG?alt=media\&token=48f317d9-a7d4-45fa-83d2-77a4c1f48c09)

{% hint style="info" %}
**New-PEBuild -Execute**
{% endhint %}

Select your WinPE/RE task in order to create the new PEBuild.

![PowerShell Command - WinPE/RE Task](https://3347085443-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-L_qpqqoWaR3gQAWE4Lk%2F-Lfd3hJV5tuBbEDRe06p%2F-Lfd3vt_g2hx8GTR4MnV%2F25.JPG?alt=media\&token=28c7f6f4-498a-4961-b0e6-13e08153e76a)

OSDBuilder will now create your new PEBuild, it will show a lot of information during this process.

![PowerShell Command - Creating PEBuild](https://3347085443-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-L_qpqqoWaR3gQAWE4Lk%2F-Lfd8p05ZdDSOhFvx-wZ%2F-Lfd8wXayNvQCIbW4yWN%2F24.JPG?alt=media\&token=a319f8eb-7c3a-4c1e-9e4c-363b7586a8c1)

The new PEBuild will be created here **.\OSDBuilder\PEBuilds**

![PEBuild - WinRE](https://3347085443-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-L_qpqqoWaR3gQAWE4Lk%2F-Lfd9mrLjWkALEwDw0Cg%2F-LfdCsUvo2iE_RSUTvR9%2F26.JPG?alt=media\&token=cc0f8c51-1f3f-4d9e-b41b-b3cfbd14c40f)

![PEBuild - WinPE](https://3347085443-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-L_qpqqoWaR3gQAWE4Lk%2F-Lfd9mrLjWkALEwDw0Cg%2F-LfdD-wM-gnyvk-puwrR%2F27.JPG?alt=media\&token=a33148a5-f5f1-49b8-8a42-40fc82bee4a5)

**That's it guys!** Now copy the content of the WinRE folder "**OS**" to a bootable USB device or import the WinPE.wim to ConfigMgr. You will now be able to do amazing things such as:

![WinPE boot with custom wallpaper and WMI Explorer open](https://3347085443-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-L_qpqqoWaR3gQAWE4Lk%2F-LfdOMBwG23vinTxlYy6%2F-LfdORlI42awYHN0gh3L%2F28.JPG?alt=media\&token=67aad262-88b4-47fa-9ac8-b23c1f18407e)

![WinPE boot with custom wallpaper and CMTrace open](https://3347085443-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-L_qpqqoWaR3gQAWE4Lk%2F-LfdOMBwG23vinTxlYy6%2F-LfdOfNg7Y7VmQ-3Lnh6%2F30.JPG?alt=media\&token=25600a50-d028-4ac3-8a95-785b5f19a89f)

![WinRE boot with DaRT open](https://3347085443-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-L_qpqqoWaR3gQAWE4Lk%2F-LfdOMBwG23vinTxlYy6%2F-LfdOznjL3VCY_4izJZf%2F29.JPG?alt=media\&token=038ce8cb-deda-4968-be99-3112f5dd43c2)

![WinRE boot with Winver and PowerShell open](https://3347085443-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-L_qpqqoWaR3gQAWE4Lk%2F-LfdOMBwG23vinTxlYy6%2F-LfdPAWAp92eLllG867J%2F31.JPG?alt=media\&token=a307aa63-3edc-4660-9b22-633d5b72fec5)

A special thanks go to one of the best OSD specialists that I know of, [David Segura](https://twitter.com/SeguraOSD)! If you want to learn a lot about OSD please visit his blog at [https://www.osdeploy.com](https://www.osdeploy.com/). If you have any questions regarding this topic, feel free to reach out to me. I am most active on [Twitter](https://www.twitter.com/SuneThomsenDK)!

Now go out and impress your boss and colleagues!
