2012-10-04 45 views
1

現狀:修改MDT嚮導自動計算機命名

我使用成像MDT精簡版觸新系統。我正在嘗試 自定義嚮導來自動命名新系統,以便 它們包含一個前綴「AG-」,部門代碼從 中選擇一個嚮導頁面中的下拉框(例如「COMM」 ),最後成像的計算機的 序列號,讓我的成績在這個 情況下將是「AG-COMM-1234567」

狀態:

我已經撞了遠在這一段時間,但我的谷歌搜索沒有 轉過來的答案,我的反覆試驗不是生產提供有用的錯誤 消息,我想我錯過了一些基本知識,如何從嚮導頁面獲取 變量,並將其轉化爲由 lite-touch嚮導使用的變量。

進展:

  1. 我第一次創建的HTML網頁,其中我將在下面包括和添加腳本到頁面件連接成一個名爲 OSDComputername變量,它用於測試,我可以在msgbox中輸出,並且可以正確顯示 。
    • 這個是我不知道如何觸發腳本然後將其分配到在整個 的輕觸式過程的其餘部分使用的OSDComputername變量的問題。
  2. 我將腳本更改爲函數並將其添加到DeployWiz_Initization.vbs,然後使用WDS中的初始化字段對 進行調用。我將包含下面的功能。
    • 這個問題是我會得到OSDComputername的「未定義的變量」,我不確定它是否正確地從HTML 中提取數據。
  3. 我嘗試了「OSDComputername =」後面添加腳本到CustomSettings.ini文件
    • 這導致在短短的輸出我的代碼在文本作爲計算機名嚮導。
  4. 我現在想添加變量「屬性=」(eg.DepartmentName)在CustomSettings.ini中,從HTML表單拉動thier值 和設置在我DeployWiz_Initization 函數值的變量。並在「OSDComputername =」後以「OSDComputername =」AG-「& %DepartmentName%」的方式在customsettings中調用它們。INI
    • 我現在重建,將看到如何去

任何幫助,將不勝感激。

的HTML頁面:

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

的功能:

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 

回答

1

解決的問題!

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 

真正的變化是我如何需要從我的自定義HTML界面檢索值的功能:

的HTML頁面:

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

的作用。您將在工作函數中看到我必須使用以下格式設置每個值:Document.FormName.FieldName.Value

然後我可以使用內置的環境項目來收集品牌,型號和序列號。一旦我擁有了所有的部分,所有的用戶選擇和內置值,只需按照我想要的順序連接字符串,然後將值分配給環境項「OSDComputerName」和「ComputerDescription」即可。

我還利用ButtonNext.disabled在用戶能夠繼續到下一個屏幕之前創建所需的所有字段。

+0

請添加一些解釋。僅有代碼的答案對未來的讀者來說不太有用,並且不能解釋錯誤或如何解決問題。 – Xufox