Dart – Remote Control WinPE (The Nice Way)

Before i begin, a big thanks to reddit/user/ab0mbs for the initial script for this project!
For the longest time i have always Dart Remote Tools in my WinPE boot images. Dart is included in the Microsoft Desktop Optimization Pack  which is available if you have Software Assurance with Microsoft. Dart’s Remote Tools allows you to remote control a WinPE session, traditionally the user would supply a tech with the IP, Port, and Ticket Number for connection.

This method is fine if someone is at the other end to offer this information, but what if you want to remotely control a machine in WinPE without this hassle? Here is How:
End Goal: At the end of this guide, your boot images will automatically generate a shortcut file to allow users to easily remote control every machine that boots from your SCCM Boot wim, you will have a folder set up like this which will generate shortcut files to DART remote control.
First, you will want to integrate Dart into your boot image:
(I’m assuming you are using SCCM/MDT Integration

  1. Install DaRT 8.1 or 10 onto a workstation.
  2. Using File Explorer, navigate to the C:\Program Files\Microsoft DaRT\Version folder.a
  3. Copy the Toolsx86.cab file to C:\Program Files\Microsoft Deployment Toolkit\Templates\Distribution\Tools\x86
  4. Copy the Toolsx64.cab file to C:\Program Files\Microsoft Deployment Toolkit\Templates\Distribution\Tools\x64
  5. Create a new ConfigMgr Boot image using the MDT wizard; select the DaRT component during creation
  6. For more info see here: http://deploymentresearch.com/Research/Post/334/Adding-DaRT-8-1-from-MDOP-2013-R2-to-ConfigMgr-2012-R2
 

Take your new boot image and mount it:

DISM.exe /Mount-Wim /WimFile:”C:\Users\admin\Desktop\winpe.wim” /index:1 /MountDir:”C:\Users\admin\Desktop\offline”
 
 
Go here to download the scripts and files you will need:  Files
From the downloaded files, please the following items in each location:

Place:

WinPE_DarT.ps1 >  \offline\Windows\System32
Unattend.xml >  \offline\Windows\System32
DartConfig.dat >  \offline\Windows\System32

Usage:

WinPE_Dart.ps1 (Powershell script that does the bulk of the work)
Unattend.xml  (Instructs WinPE to load the PS script)
DatConfig.dat (Contains Dart settings, fixed to use port 3389, you can generate a new one by running the Dart create image tool)

You will need to modify Winpe_Dart.ps1 and include your credentials and share location. The script uses a password file, key file and key to secure the account password for mapping the drive.  For more information on generating secure credentials see this post.

Once you are happy that you have your files in order, go ahead and unmount your wim file.

DISM.exe /Unmount-Wim /MountDir:”C:\Users\admin\Desktop\offline” /commit

Bring this Wim file into SCCM and set it as your default PXE boot file,, add your drivers, also don’t forget to associate it to your task sequences. Oh and dont forget to add powershell component to your boot image.

For any questions please leave a comment and i will get back to you.

 

12 thoughts on “Dart – Remote Control WinPE (The Nice Way)

  1. Thanks. Works great. Anyway to hide the powershell window or change the size of it? I've tried to edit the unattend.xml but no matter the powershell is always displayed and would like to hide.

    Like

  2. I am having issues. When I go through the “Create Boot image using MDT”, I am still only getting dart8 and not dart10. I have updated my ADK to 10 and updated MDT to 2013 update 2 and have copied the Toolsx64.cab file to the “C:\Program Files\Microsoft Deployment Toolkit\Templates\Distribution\Tools\x64” directory. Any ideas?

    Like

    1. Hi Mate,

      You can put it anywhere you like, i have mine in a generic osd scripts package. Call the removal PS1 after the setup windows/Confimgr step.

      Like

    1. Hi Tony,

      This is expected. The script will not persist past the initial winpe stage.

      I have not tested this surviving a reboot back onto the boot.wim.

      Like

Leave a comment