I am imaging new systems using MDT Lite-Touch. I am trying to customize the wizard to automate the naming of new systems so that they include a prefix "AG-", a department code which is selected from a drop-down box in the wizard page (eg. "FOO"), and finally the serial number of the computer being imaged, so that my result in this case would be "AG-FOO-1234567"
I have banged away at this for a while but my Google searches have not turned up answers, my trial-and-error is not producing useful error messages and I think I am missing some fundamentals of how to get variables from the wizard page into the variables used by the lite-touch wizard.
- I first created the HTML page which I will include below and added a script to the page to concatenate the pieces into a variable called OSDComputername which, for testing, I could output in a msgbox and get to display correctly.
- The problem with this is I don't know how to trigger the script then assign it to the OSDComputername variable that is used throughout the rest of the Light-Touch process.
- I changed the script to a function and added it to DeployWiz_Initization.vbs then used the Initialization field in WDS to call it. I'll include the function below.
- The problem with this is I would get "Undefined Variable" for OSDComputername and I am not sure it is pulling the data from the HTML correctly.
- I tried adding the scripting into the customsettings.ini file after the "OSDComputername="
- This resulted in the wizard just outputting my code in text as the computer name.
- I tried adding variables to "Properties=" (eg.DepartmentName) in the customsettings.ini, pulling thier value from the HTML Form and setting that value to the variable in my function in DeployWiz_Initization.vbs and calling them after "OSDComputername=" in the fashion "OSDComputername="AG-" & %DepartmentName%" in customsettings.ini
- This resulted in errors from my script which did not correctly access the new variables
- I now have my code working. It is pulling the data from the HTML and setting the OSDComputername environment variable. I have updated the code below to match the working code. It is firing correctly and setting my computer name and description exactly as I wanted it to.
The HTML page:
<H1>Configure the computer name.</H1> <p>Please answer the following questions. Your answers will be used to formulate the computer's name and description.</p> <FORM NAME="SetComputerNameForm"> <p> <LABEL class="Larger"><u class="Larger">D</u>epartmental Prefix:</LABEL><br /> <SELECT NAME="DepartmentalPrefix_Edit" ID="DepartmentalPrefix_Edit" language=vbscript onpropertychange=ValidateSetComputerName AccessKey=D> <option value="FOO">FOO</option> <option value="DOE">DOE</option> <option value="AFK">AFK</option> <option value="BBL">BBL</option> <option value="RTFM">RTFM</option> </SELECT> </p> <p> <LABEL class="Larger"><u class="Larger">C</u>lient's ID:</LABEL> <br /> <INPUT NAME="ClientID" ID="ClientID" TYPE="text" ID="ClientID" SIZE="15" language=vbscript onpropertychange=ValidateSetComputerName AccessKey=C /> <label class=ErrMsg for=ClientID>* Required (MISSING)</label> </p> <p> <LABEL class="Larger"><u class="Larger">B</u>uilding:</LABEL><br /> <SELECT NAME="Building_Edit" ID="Building_Edit" language=vbscript onpropertychange=ValidateSetComputerName AccessKey=B> <option value="ASA">ASA</option> <option value="ASB">ASB</option> <option value="ASC">ASC</option> </SELECT> </p> <p> <LABEL class="Larger"><u class="Larger">R</u>oom Number:</span></LABEL> <br /> <INPUT NAME="RoomNumber" ID="RoomNumber" TYPE="text" ID="RoomNumber" size="15" language=vbscript onpropertychange=ValidateSetComputerName AccessKey=R> <label class=ErrMsg for=RoomNumber>* Required (MISSING)</label> </p> </FORM>
Function ValidateSetComputerName ParseAllWarningLabels If Len(Document.SetComputerNameForm.ClientNetID.Value) < 1 OR Len(Document.SetComputerNameForm.RoomNumber.Value) < 1 THEN ButtonNext.disabled = true Else Dim Department Dim SerialNumber Dim CID Dim RoomNumber Dim BuildingName Dim Make Dim Model Department = Document.SetComputerNameForm.DepartmentalPrefix_Edit.Value SerialNumber = oEnvironment.Item("SerialNumber") CID = Document.SetComputerNameForm.ClientID.Value RoomNumber = Document.SetComputerNameForm.RoomNumber.Value BuildingName = Document.SetComputerNameForm.Building_Edit.Value Make = oEnvironment.Item("Make") Model = oEnvironment.Item("Model") oEnvironment.Item("OSDComputerName") = "AG-" & Department & "-" & Right(SerialNumber,7) oEnvironment.Item("ComputerDescription") = Department & ", " & CID & ", " & RoomNumber & " " & BuildingName & ", " & Make & " " & Model ButtonNext.disabled = false End If End Function