Alternative Multi-site Prestaged Media Solution

Sometimes a bait-and-switch is the best option available.

As mentioned at the end of the previous Multi-site Dell CFI Follow-up post, some folks who attempted to implement the solution were met errors when the boot image was pointed to a different Management Point than the one the media was created from:

image

signature verification failed

signature check failed

Failed to get client identity (80004005)

failed to request for client

At this point in the process, the script has already run from the pre-execution hook to modify the TS environment variable and point it to the desired Management Point.  When the TS engine reaches out to connect to that Management Point, it does a signature check and that’s where the process fails.

After some trial and error, Benno Rummens of Liberty Group has come up with an alternative solution that involves replacing the VARIABLES.DAT file with one created with media to point to the desired Management Point.  Essentially, this involves creating a prestaged media image for each of the primary sites in the hierarchy, mounting the .WIM and extracting the variables.dat file, then creating a prestaged media image with a custom boot menu allowing you to choose the site and corresponding variables.dat file.

Note that the variables.dat file is not plain text, so there is no way to simply modify it on the fly. You’ll need to have SCCM generate the file for you.  Also, you will need to make sure you use a file from a prestaged media build and not just a bootable media image, otherwise the OEMmedia variable will not be included (resulting on the prestaged OS image being blown away).

Here is the step-by-step provided by Benno:

1. Create a Custom MDT Boot Image

You should include the following files in the boot image (custom HTA and supported files are attached in a ZIP file at the end of this post):

TsEnv2.exe

SelectMP.hta

wizard.css

logo.png (or alternative logo file specified in SelectMP.hta)

For our purposes, we will be including these files in the \Deploy\Scripts folder.

2. Create Prestaged Media image from each SCCM Management Point

3. Mount each Prestaged Media .WIM file and extract the variables.dat file

Use the following command to mount the file:

imagex /mount “F:\ your_location\HQ1_Prestaged.wim” 1 F:\Mount

image

Copy the “variables.dat” file from the “root\SMS\DATA” folder.

image

Create one folder for each SCCM management point in a folder called “Variables”. Paste the “variables.dat” file from each mounted Prestaged Media file into the corresponding folder.

image

When all “variables.dat” files have been copied you can delete all created Prestaged Media files to save disk space.

4. Create the master Prestaged Media image

5. Modify the prestaged boot image to include the variables.dat files and custom HTA

Create an empty folder called Mount and mount the Prestaged Media file via the Deployment Tools Command Prompt with the following command.

imagex /mountrw “F:\ your_location\Prestaged_Win7_SP1_X64.wim” 1 F:\Mount

image

Directory structure of Mounted Prestaged Media image:

image

The boot.wim is stored in the sources folder. Mount this boot file to another empty folder called Mount2 with the following command:

imagex /mountrw F:\Mount\sources\boot.wim 1 F:\Mount2

image

Directory structure of mounted boot.wim:

image

Copy the variables folder created in step 4 to the mounted boot.wim folder. (Folder Mount2)

image

Open the winpeshl.ini file which is located in the F:\Mount2\Windows\system32 directory and add the following line to the LaunchApps list.

%systemroot%\system32\mshta.exe, %SYSTEMDRIVE%\Deploy\Scripts\SelectMP.hta

The “SelectMP.hta file will copy the correct “variables.dat” file to X:\SMS\Data.

Make sure this line is on top of the list because the “SelectMP.hta” script has to run prior to the Task Sequence execution (which is initiate by the TsBootshell.exe).

image

Commit the changes you made to mounted images via the following commands.

imagex /unmount /commit F:\Mount2

imagex /unmount /commit F:\Mount

At this point, when you boot from the prestaged media image, you will be presented with a wizard allowing you to choose which Management Point to connect to and swapping in the appropriate variables.dat file for that site:

image

Here is the SelectMP.hta and supporting files:

SelectMP.zip

Note – This solution involves methods not officially supported by Microsoft.  It is provided as-is and should be thoroughly tested before implementing in any production environment. 

 

email

Written by , Posted .