I have in the past posted blogs on storing your Wim files at locations other then the KBox to save deployment time and allow more machines to image at the same time.  The method with 3.6 is the same, just the needed files are no longer on the kbox.  You can create these file yourself with notepad.

The only glitch I have run into doing this is the 3.6 task engine identifies mid level batch files as exe and breaks the chain.  If you do not use any mid level batch files you are fine.  If you do you can convert that batch file to run as an exe by calling the batch file via a vbs script. See my answer to this question http://www.itninja.com/question/number-of-autologins-required-has-changed-from-1-to-3-since-3-6-upgrade that starts with "Ok to make it part of the kbox."

Here is the trick to save network bandwidth and K2000 diskspace.  Store the Wim's on Windows servers, Wim files are not restricted to K2000 file system.

I had the server crew create storage space on all the sites and I store my Wims at each site.  They created a share on the main storage server at each site named images$ and I have a K2000 domain user that has rights to these shares.  I created a subdirectory called imagestore in each share (required).

I used the KBE manipulator to create custom pxe boot environements that map the T: and W: drive to each of my storage spaces.  When I capture a sysprepped image I choose the proper boot to map the server I want it to go to.

When staff deploys an image, they pxe boot to the K2000, the machine gets it deployment orders from the k2000 and starts.  I remap the W drive as my first preinstall task to the needed storage to access the WIM.

The deployment starts on the K2000 and then it switches over to the storage server to copy the wim portion then switches back to the K2000 for the remainder of it's mid level and post tasks.

All the workload of deploying the image files is placed on the storage servers instead of the K2000.  I have had 120 images deploying from a single K2000 this way and I am still able to capture an image even when they are deploying.

I have had to image over a T1 when the microwave link went down.  Still managed to use the K2000 to do full classrooms by putting the wim file on a local server.

The server crew can easily backup my wims to commvault also.

You will need to follow the process for both 32 and 64 bit and also if you are using pe 3 and 4 for both of those also.

For this blog I am using WinPE 3 32bit

First step is to create an empty WIM capture to use as the deployment master.  Boot with pxe to the kbox and capture an empty formatted C:drive as a Wim capture.

 (use diskpart to clean and create a partition and then format as ntfs)


You will need an HTA screen to capture and a VBS script to deploy with

Copy and paste below into notepad and save as capture_wim.hta:



<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

  <link rel="stylesheet" type="text/css" href="deployment_client.css" />


<title>WIM Capture</title>


     APPLICATIONNAME="ImageX Capture"





<script language="VBScript">

'Resize window

Sub Window_onLoad

        window.resizeTo 500,380

End Sub


'Verify t:\imagestore exists

Sub StartCapture


Dim imgForm

Set imgForm = Document.forms("imgForm")


   Set objFSO = CreateObject("Scripting.FileSystemObject")

   If objFSO.FolderExists ("t:\imagestore") Then


     Set objFolder = objFSO.CreateFolder("t:\imagestore")

   End if


'Verify image is not already on T:\imagestore

     Set objFSO = CreateObject("Scripting.FileSystemObject")

     If objFSO.FileExists("t:\imagestore\" & imgForm.imgName.value & ".wim") Then

           MsgBox("The WIM image already exists. Please use a different name")

     ElseIf imgForm.imgName.value = "" Then

           MsgBox("A blank name is not allowed.")


'Start Image Capture

     strCommand = "%systemdrive%\windows\system32\imagex.exe /capture /verify /compress" & " " & imgForm.comPrs.value & " " & imgForm.srcDrive.value & ":" & " " & "t:\imagestore\" & imgForm.imgName.value & ".wim" & " " & "'" & imgForm.imgName.value & "'" & " " & "/logfile" & " " & "t:\imagestore\" & imgForm.imgName.value & ".log"

     Set wshShell = CreateObject("WScript.Shell")

     WshShell.run strCommand

     'MsgBox("Process Complete. Check T:\imagestore\" &  imgForm.imgName.value & ".log for errors" )

     Set WshShell = nothing

     End If

End Sub






<h1>WIM Capture</h1>


<form id="imgForm" action="">

<div class="list">Image Name: <input type="text" name="imgName" id="imgName" size="20" maxlength="10">.wim</div>

<div class="list">Source Drive: <input type="text" name="srcDrive" id="srcDrive" size="1" maxlength="1">:</div<br/>



<table><tr><td VALIGN="baseline">

<div class="list">Compression: </div>


<td VALIGN="baseline">

<select name="comPrs" id="comPrs">---

<option value="fast">Fast</option>

<option value="maximum">Maximum</option>

<option value="none">None</option>







<div class="text"><em>Note: Images will be sent to t:\imagestore\.</em></div<br/>



<input type="button" value="Start Capture" name="StartCapture" onClick="StartCapture">


<span id = "DataArea"></span>





Copy and paste below into notepad and save as apply_wim.vbs:


'Verify t:\imagestore exists


Set objFSO = CreateObject("Scripting.FileSystemObject")

If objFSO.FolderExists ("t:\imagestore") Then



  MsgBox ("Missing t:\imagestore directory. No WIM images found.")


End If

'Deploy imageX Image


If WScript.Arguments.Count < 3 or WScript.Arguments.Count > 4 Then





imgName = WScript.Arguments.item(0)

imgNum = WScript.Arguments.item(1)

trgDrive = WScript.Arguments.item(2)


End if


Set wshShell = WScript.CreateObject ("WSCript.shell")

wshshell.run "%systemdrive%\windows\system32\imagex.exe /apply" & " " & "t:\imagestore\" & imgName & ".wim" & " " & imgNum & " " & trgDrive & ":" & " " & "/logfile t:\" & compName & ".log", 1, true

set wshshell = nothing


'  apply_wim.vbs <imagename> <imagenumber> <targetdrive> <default logfile=computername.log>


On the windows servers my shares are all \\server\images$.  I place the capture_wim.hta file on the root of all my windows image stores, under that I create a subdir named imagestore.


For deployment I used the KBE Manipulator to create a custom KBE that maps to the windows server we use the most. Then have mid level tasks to remap to the other servers.  For the capture I used the KBE manipulator to create custom capture KBE’s for each server.

Deployment KBE:

Use the KBE Man and fill in the 4 steps on screen 1


Click on “create KBE” on screen 2, and you will see this popup



Say yes and enter the following commands to remap the drives for external share access:


Say yes again to custom DOS command and enter:

Echo off

Say yes again to custom DOS command and enter:

net use t: \\server\images$  Password  /user:UserWithShareRights


Say yes again to custom DOS command and enter:

Echo on

say no this time and step thru and let the KBE build


To map to other servers simply create a mid level task that remap to the other servers. place it as the first midlevel task.



For the Capture KBEs I created one for each bit type for every storage server.

Use the KBE manipulator just like you did to create deploy KBE’s but add 2 additional lines



Say yes again to custom DOS command and enter:

Echo off

Say yes again to custom DOS command and enter:

net use t: \\server\images$  Password  /user:UserWithShareRights

Say yes again to custom DOS command and enter:


Echo on

Say yes again to custom DOS command and enter:


Say yes again to custom DOS command and enter:


say no this time and step thru and let the KBE build

If you do not want to build special capture KBE’s you can also use a deploy KBE that maps to the server and open a command window under recovery and type t:\capture_wim.hta to run the capture.


To deploy images you need to create a mid level task to disperse your WIM to the target machine, duplicate and use the shell Wim capture you created.




Ok to make it part of the kbox.