情况:
我正在使用MDT Lite-Touch对新系统进行成像。我在尝试着 自定义向导以自动命名新系统 它们包括前缀“AG-”,从中选择的部门代码 向导页面中的下拉框(例如“COMM”),最后是 正在成像的计算机的序列号,以便我的结果 案件将是“AG-COMM-1234567”
状态:
我已经暂时搁置了一段时间,但我的Google搜索却没有 出现了答案,我的反复试验没有产生有用的错误 消息,我想我错过了一些如何获得的基本原则 从向导页面变量到变量使用的变量 精简版精灵。
进度:
- 我首先创建了HTML页面,我将在下面包含该页面,并在页面中添加一个脚本以将这些片段连接到一个名为 OSDComputername,为了测试,我可以在msgbox中输出并获取 正确显示。
- 这个问题是我不知道如何触发脚本然后将其分配给整个使用的OSDComputername变量 其余的Light-Touch流程。
- 我将脚本更改为函数并将其添加到DeployWiz_Initization.vbs然后使用WDS中的Initialization字段 叫它。我将包括以下功能。
- 这个问题是我会得到OSDComputername的“Undefined Variable”,我不确定它是从HTML中提取数据 正确。
- 我尝试在“OSDComputername =”之后将脚本添加到customsettings.ini文件中
- 这导致向导只在文本中输出我的代码作为计算机名称。
- 我现在正在尝试将变量添加到customsettings.ini中的“Properties =”(例如.DepartmentName),并提取其值 从HTML表单并将该值设置为我的变量 在DeployWiz_Initization.vbs中运行并在之后调用它们 “OSDComputername =”的时尚“OSDComputername =”AG-“& customsettings.ini中的%DepartmentName%“
醇>
- 我现在正在重建,并会看到这是怎么回事
任何帮助都将不胜感激。
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
答案 0 :(得分:1)
问题已解决!
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>
功能:
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屏幕中检索值。您将在工作函数中看到我必须使用以下格式设置每个值:Document.FormName.FieldName.Value
然后我可以使用内置的环境项来收集品牌,型号和序列号。一旦我获得了所有的部分,所有用户选择和内置值,只需按照我想要的顺序连接字符串并将值分配给环境项“OSDComputerName”和“ComputerDescription”。
我还使用ButtonNext.disabled在用户能够继续下一个屏幕之前创建所需的所有字段。