Modify MDT wizard to automate computer naming

Posted by Jeramy on Server Fault See other posts from Server Fault or by Jeramy
Published on 2012-10-04T15:10:19Z Indexed on 2012/10/04 15:40 UTC
Read the original article Hit count: 409

I originally posted this question to StackOverflow, but upon further consideration it might be more appropriate here.

Situation:

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. "COMM"), and finally the serial number of the computer being imaged, so that my result in this case would be "AG-COMM-1234567890"

Status:

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.

Progress:

  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 am now trying 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
    • I am rebuilding right now and will see how this goes

Any help would be appreciated.

The HTML page:

<HTML>
<H1>Configure the computer name.</H1>
<span style="width: 95%;">
    <p>Please answer the following questions.  Your answers will be used to formulate the computer's name and description.</p>
        <FORM NAME="TestForm">
            <p>Departmental Prefix: <!-- <label class=ErrMsg id=DepartmentalPrefix_Err>* Required (MISSING)</label> -->
                <SELECT NAME="DepartmentalPrefix_Edit" class=WideEdit>
                    <option value="AADC">AADC</option>
                    <option value="AEM">AEM</option>
                    <option value="AIP">AIP</option>
                    <option value="COM">COM</option>
                    <option value="DO">DO</option>
                    <option value="DSOC">DSOC</option>
                    <option value="EDU">EDU</option>
                    <option value="EPE">EPE</option>
                    <option value="ITN">ITN</option>
                    <option value="LA">LA</option>
                    <option value="OAP">OAP</option>
                    <option value="SML">SML</option>

                </SELECT>
            </p>

            <p><span class="Larger">Client's Net<u class=larger>I</u>D:</span>
            <INPUT NAME="ClientNetID" TYPE="TEXT" ID="ClientNetID" SIZE="15"></p>

            <p>Building: <!-- <label class=ErrMsg id=Building_Err>* Required (MISSING)</label> -->
                <SELECT NAME="Building_Edit" class=WideEdit>
                    <option value="Academic Surge Facility A">Academic Surge Facility A</option>
                    <option value="Academic Surge Facility B">Academic Surge Facility B</option>
                    <option value="Caldwell">Caldwell</option>
                    <option value="Kennedy">Kennedy</option>
                    <option value="Roberts">Roberts</option>
                    <option value="Warren">Warren</option>
                </SELECT>
            </p>

            <p>
                <span class="Larger">Room <u class=larger>N</u>umber:</span>
                <input type=text id="RoomNumber" name=RoomNumber size=15 />
            </p>
        </FORM>           
</span>
</HTML>

The Function:

Function SetComputerName

OSDComputerName = "AG-" & oEnvironment.Item("DepartmentalPrefix_Edit")
ComputerDescription = oEnvironment.Item("DepartmentalPrefix_Edit") & ", " & oEnvironment.Item("ClientNetID") & ", " & oEnvironment.Item("RoomNumber") & " " & oEnvironment.Item("Building_Edit")

End Function

© Server Fault or respective owner

Related posts about windows-server-2008

Related posts about vbscript