For initial testing purposes, I have simply been firing off the imaging process with a fixed command script at boot-up. Now that I have determined that the process will work, I have created the initial windows GUI interface for selecting images.

The plan is to create an easy to maintain menu system that can be updated with a custom program that uses text files as input. Currently I am trying to limit modifications to the variables at the top of the code.
Here is the code for this menu:
; BartPE Autoimaging Menu
; Author: Stephen H Emert
;R1 - December 11th. 2008
;R2 - Feruary 17th. 2009
;R3 - March 22nd. 2009
;R4 - April 3rd. 2009
AutoItSetOption ( "ExpandEnvStrings" , 1 )
#include
#include
; Any updates for future images or drive mapping revisions will be made to these global variables only.
; There will be no need to change any of the code!!!
Global $sharepath="\\Elvis.its.tntech.edu\Monet"
;Global $sharepath="\\raid\raid"
Global $shareusername="ttu\support"
Global $gx755="FinalImage.GHO"
Global $gx960="OPLX960.GHO"
Global $imagepath="z:\Images\Autodeploy\"
Global $imagelisting="Optiplex 755|Optiplex 960|Custom"
Global $ghostpath="%systemdrive%\Programs\ghost8"
Global $ghostoptionshead=" -clone,MODE=LOAD,SRC="
Global $ghostoptionstail=",DST=1 -sure -rb"
Opt("GUIOnEventMode", 1) ; Change to OnEvent mode
$mainwindow = GUICreate("Tennessee Tech Automated Imaging Disc Menu", 400, 400)
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
GUICtrlCreateLabel("Enter the password for the image directory share on Elvis:", 30, 15)
$password=GUICtrlCreateInput ( "", 30, 35, 80, 20, 32 )
GUICtrlCreateLabel("Please select the model of system you wish to image", 30, 80)
$imagefile=GUICtrlCreateCombo("Please Select An Image", 30, 105)
;GUICtrlSetData(-1, "Optiplex 755|Optiplex 960|Custom", "")
GUICtrlSetData(-1, $imagelisting, "") ; use a variable to setup the drop down list.
GUISetState() ; will display an empty dialog box with a combo control with focus on
$okbutton = GUICtrlCreateButton("Apply Image", 70, 140, 90)
$cancelbutton = GUICtrlCreateButton("Cancel", 180, 140, 90)
GUICtrlSetOnEvent($okbutton, "OKButton")
GUICtrlSetOnEvent($cancelbutton, "CLOSEClicked")
GUISetState(@SW_SHOW)
While 1
Sleep(1000) ; Idle around
WEnd
; The OKButton Function will be executed when the "Apply Image" button is clicked. This funtion verifies all window input, mapps the appropriate
; drive and starts the imaging process. There is error handling included for failed drive mappings due to password or network cable issues.
Func OKButton()
If GUICtrlRead($imagefile)="Please Select An Image" Then ; Was an image file selected?
MsgBox(16, "No Image Selected!", "You did not select an image file, please try again... dummy") ;No image file selected
Elseif DriveMapAdd("z:", $sharepath, 0, $shareusername, GUICtrlRead($password))=0 Then ;attempt to map the drive.
MsgBox(16, "Drive Mapping Failed!", "Make sure the password is correct and that the network cable is plugged in, then try again!... dummy") ; Drive map failed!
; If mapping is successful, complete commands in this else statement.
Else
Select
Case GUICtrlRead($imagefile)="Optiplex 755"
$ghosttargetfile=$gx755
Case GUICtrlRead($imagefile)="Optiplex 960"
$ghosttargetfile=$gx960
Case GUICtrlRead($imagefile)="Custom"
$ghosttargetfile="Custom"
EndSelect
;MsgBox(0, "GUI Event", GUICtrlRead($imagefile) & " " & GUICtrlRead($password) & " " & $ghosttargetfile) ;Debugging window
If $ghosttargetfile="Custom" Then
MsgBox(16, "No Image Selected!","Custom selections are not supported yet!... (Coming soon dummy)")
DriveMapDel("z:")
Else
;ShellExecute("ghost32.exe","", $ghostpath, "open")
ShellExecute("ghost32.exe", $ghostoptionshead&$imagepath&$ghosttargetfile&$ghostoptionstail, $ghostpath, "open")
;ShellExecute("ghost32.exe", $ghostoptionshead & $imagepath & $ghosttargetfile & $ghostoptionstail, $ghostpath, "open")
;MsgBox(0, "GUI Event", GUICtrlRead($imagefile) & " " & GUICtrlRead($password))
;MsgBox(0, "GUI Event", "ghost32.exe" & " " & $ghostoptionshead & " " & $ghosttargetfile & " " & $ghostoptionstail & " " & $ghostpath)
Exit
EndIf
EndIf
EndFunc
;This function handles the exiting of the program should the cancel button or red X be pressed.
Func CLOSEClicked()
Exit
EndFunc