In this blog I will show how to integrate MsDaRT with SCCM Boot Image. Dart integration with Boot Image allows you to connect remotely to a system during WinPE phase when OS deployment is running. We are going to create a custom MDT boot image using SCCM and injecting Dart utility.

What is MsDart

Dart stands for Diagnostics and Recovery Toolset, latest version is DaRT 10. DaRT is part of Microsoft Desktop Optimization Pack (MDOP) 2015. Once DaRT utility is added to to boot image you can remotely connect the system during WinPE phase during OSD which makes service desk team / engineer easy to connect and troubleshoot issues related to OS deployment.

Pre-requisites for adding DaRT to Boot Image requirement

  1. To integrate DaRT into boot image you need to have DaRT10 installer (MSDaRT100.msi) which is available as part of MDOP, you can download MDOP through:

Visual Studio Subscription (Formerly known as MSDN Subscription)
Volume Licensing Service Center

Extract MSDaRT100.msi and copy files to MDT folder

Mount previously download MDOP 2015 iso which contains AGPM, App-V, DaRT, MBAM, MED-V, UE-V. Navigate to Z:\DaRT\DaRT 10\Installers\en-us\x64 and install MSDaRT100.msi. Default location used would be c:\Program files\Microsoft DaRT.

DartIntegrate 01
DartIntegrate 02

Under Setup Options, it will show all 3 tools which are going to install ie Crash Analyzer, DaRT Recovery Image and most important one DaRT Remote Connection Viewer.

DartIntegrate 04

Once installed, copy Toolsx64.cab from DaRT installation directory to MDT tools x64 installation directory.

Copy C:\Program Files\Microsoft DaRT\v10\ToolsX64.cab to D:\Program Files\Microsoft Deployment Toolkit\Templates\Distribution\Tools\x64

DartIntegrate 05

Do the same for Toolsx86.cab as well.

Copy C:\Program Files\Microsoft DaRT\v10\Toolsx86.cab to D:\Program Files\Microsoft Deployment Toolkit\Templates\Distribution\Tools\x86

DartIntegrate 06

Create Boot Image using SCCM / Configuration Manager

Login to SCCM Server, launch Configuration Manager console. Navigate to Software Library > Overview > Operating Systems > Boot Images.

Right click Boot Image and select Create Boot Image using MDT.

DartIntegrate 07

Under Package Source page, specify the package source directory that will store the new boot image, click Next.

DartIntegrate 08

Under General Settings page, provide the name of the Boot Image, click Next.

DartIntegrate 09

Under Options, specify the details for this new boot image and select platform as x64, click Next.

DartIntegrate 10

Under Components page, specify the optional Windows PE feature packs to add to the boot image. Following options is to be selected:

Microsoft Data Access Components(MDAC/ADO) support
Microsoft Diagnostics and Recovery Toolkit (DaRT)

2nd option will only be visible if Toolsx64.cab is properly copied to MDT packages tools\x64 location.

DartIntegrate 11

Under Customization page, make sure Enable command support (F8), click Next.

DartIntegrate 12

Verify the details under summary and click Next.

DartIntegrate 13

Creation of Boot Image process will start by mounting the wim, injecting and adding all the required components.

DartIntegrate 13b

Confirmation page will appear, click on Finish to exit.

DartIntegrate 14

Right click newly created boot image and select Properties. Click on tab Optional Components. We are going to install few additional components which are very useful during WinPE phase such as:

Windows PowerShell (WinPE-DismCmdlets)
Network (WinPE-Dot3Svc)
Store (WinPE-EnhancedStorage)
Windows PowerShell (WinPE-StorageWMI)
Microsoft .NET (WinPE-NetFx)
Windows PowerShell (WinPE-PowerShell)

Click on Startburst icon and add the components as mentioned, click OK to exit.

DartIntegrate 15

select tab Customization, enable prestart command with following command line:

powershell "Start-Process -WindowStyle Minimized -FilePath RemoteRecovery.exe -ArgumentList '-nomessage'"
DartIntegrate 16

As this is a prestart command, this will make sure to launch RemoveRecovery.exe tool once boot image is loaded. We can skip this prestage command and alternatively use the task sequence cmd line, but Task sequence editing approach requires to edit all existing task sequences, hence I preferred adding it as prestart command.

Select tab Data Source, check the box Deploy this boot image from the PXE-Enabled distribution point.

DartIntegrate 17

Click on OK which will initiate the Update of Boot Image process, click Next to continue without selecting the option Reload this boot image as we will loose all customization done in the boot image.

DartIntegrate 18

Verify the Summary, and click Next to generate the Boot Image.

DartIntegrate 19

Once done, distribute the boot Image on distribution point and use this latest boot image for all your task sequence deployments.

Verify DaRT utility functionality

Boot bare metal system using PXE boot / Boot Media. Once Boot image is loaded you will be seeing RemoteRecovery.exe launched but in minimsed state as we use minimize parameter.

DartIntegrate 20

Click on the tools 1st left button to launch it. You will be able to see Remote Connection tool launched with Ticket Number, IP Address and Port assigned. Ticket Number and port will be always random with every pxe boot/boot media loading.

DartIntegrate 21

On SCCM server or any client system where MSDaRT100.msi is installed, launch DaRT Remote Connection Viewer which islocated at C:\Program Files\Microsoft DaRT\v10\DartRemoteViewer.exe

DartIntegrate 22

This will open New Remote Connection window, specify the Ticket Number, IP Address & Port as captured from previously booted Bare metal system.

DartIntegrate 23

And there you go, we are connected to remote system, where we can run the task sequence, press F8 to open cmd prompt and can perform all troubleshooting activities as we like.

DartIntegrate 24

Note: Once you are connected through Remote session, the actual user sitting in front of physical machine will loose the control. Disconnect the remote session to give back the control.

Useful links:

https://docs.microsoft.com/en-us/windows/deployment/deploy-windows-cm/create-a-custom-windows-pe-boot-image-with-configuration-manager
https://docs.microsoft.com/en-us/microsoft-desktop-optimization-pack/dart-v10