Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top


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.


  1. 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.
  2. 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.
  3. 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.
  4. 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
  5. 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.

Issue Resolved!

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">
        <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>                  

        <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>


        <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>

        <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>


The Function:

Function ValidateSetComputerName

    If Len(Document.SetComputerNameForm.ClientNetID.Value) < 1 OR Len(Document.SetComputerNameForm.RoomNumber.Value) < 1 THEN
        ButtonNext.disabled = true
        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
share|improve this question
I don't know the answer to your question, but AG-COMM-1234567890 is too long. The length limit for a Windows computer name is 15 characters. That could be part of your issue or could crop up once you've gotten past this hurdle. – MDMarra Oct 4 '12 at 16:03
Right. I will need to trim the serial number to the last 7 characters. (In looking at my systems, all of them already are 7 characters, but probably not a bad idea to restrict this in my script just in case) – Jeramy Oct 4 '12 at 17:18
up vote 0 down vote accepted

Issue is resolved. I have updated the code above to reflect the changes I made.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.