As mentioned in our previous post on the Microsoft Diagnostics and Recovery Toolset 8 (DaRT), this toolset can prove to be invaluable when it comes to repairing a PC that won’t boot, or even in helping you shift your desktop repair planning from being reactive to proactive. What you may not know is that some of DaRT’s features can be automated for even easier use.

The Remote Assistance function is a key feature when physical access to a user’s machine is not possible. For those not familiar with the feature, it allows you to take control of another user’s DaRT session without ever having to leave your desk. The user can boot into DaRT and easily enable remote assistance, where they can then read you the IP address, ticket number, and port. Enter this into the remote assistance viewer software installed on your machine and - BAM - you have full access to the user’s session while they become locked out of the keyboard and mouse control. This is especially helpful if you and the other user are across town, across the country, or even across the globe from one another. To automate the remote control feature, all it takes is a simple two-step process:

Step 1: Create DaRT Recovery Image.

Once you have the DaRT Recovery Image tool installed, walk through the wizard to create the image:

  • Enable Remote Connections – The wizard gives you the option to enable the remote assistance feature - make sure to turn this on and, if you’d like, specify a port number that can be used.

image1

  • Add files to the image – Check the box on the ‘create image’ step to edit it. This is important since you will need to add a script to the image in order to automatically start the remote assistance session.

image2

Once the image is created and mounted, edit the Winpeshl.ini, which can be located in \windows\system32. Since everything in Winpeshl.ini runs when the DaRT image starts, it is a great place to integrate all the commands necessary to automate the start of the remote assistance session. Below is an example of what the Winpeshl.ini should be modified to look like:

[LaunchApps]

"%windir%\system32\netstart.exe -network -remount"

"cmd /C start %windir%\system32\RemoteRecovery.exe -nomessage“

"Copy Ticket File Central Server"

"%windir%\system32\WaitForConnection.exe"

"%SYSTEMDRIVE%\sources\recovery\recenv.exe"

Using these commands will enable the network and start the remote assistance program and force the session to wait for someone to connect.

As I mentioned above, the IP address, port, and ticket number are needed to connect to the session. However, to minimize user interaction, you can choose to use the ‘nomessage’ switch in the winpeshI.ini, which does not show this info. We did this because you can automate getting this information. When running RemoteRecovery.exe, a file named inv32.xml will be created in windows\system32. This file contains the IP address, port, and ticket number you need to connect to the remote machine. This is why the ini file has a section that says "Copy Ticket File Central Server". You will need to write a small script that will copy inv32.xml to another location to get the info to enter it into the viewer.

Step 2: Deploy DaRT image

Once the image is built, you need to setup a way to distribute it. If you have physical access to the machine, you can use a CD/DVD or a USB stick to boot into DaRT. In a scenario where this isn’t an option, there are two other avenues you can take:

  1. Network Boot: Deploy DaRT to a WDS server on your network, and from there you can walk the user through PXE booting the machine and loading up DaRT.
  2. Local install: Create a Windows recovery partition on your machines where DaRT can be stored, so you can walk the user through entering recovery mode. This is great for when users are not connected to the corporate network.

To learn more about how to deploy DaRT over your network or as part of a local install, check out the documentation on TechNet or our DaRT deployment guide. For more information on DaRT and all the tools it contains, check out the DaRT page on Springboard!