Damit nicht jeder seinen Rechner mit MDT neu aufsetzen kann nutzt man das Prestaging-Verfahren mit Hinterlegung der PXE GUID im AD – nur hindert das diejenigen die auf so einem prestaged Rechner sitzen MDT anzuwerfen, deswegen sollte man die MDT Task Sequenzen mit einem Kennwort schützen. Da wir sowieso den Rechnernamen über die MDT Datenbank “mitgeben” habe ich ein “freies” Feld in der Datenbank (ScanStateArgs da wir USMT nicht nutzen) zweckentfremdet und schreibe dort ein zufälliges Kennwort rein (welches ich dem berechtigten Installateur natürlich bekannt gebe) – in der MDT TS wird dann ganz weit oben der Aufruf für diese HTA eingefügt (welche halt natürlich irgendwo am MDT Deployment Share herumkugeln muss):
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Deployment password</title>
<HTA:APPLICATION ID="App Mapping" APPLICATIONNAME="App Mapping" VERSION=".01" BORDER="thin" SCROLL="no" SHOWMENU="no" SYSMENU="no" SINGLEINSTANCE="yes" WINDOWSTATE="Normal"/>
</head>
<script language="vbscript" type="text/vbscript" src="..\ZTIUtility.vbs"></script>
<script language="vbscript" type="text/vbscript">
on error resume next
sub Window_onload
on error resume next
Set oTSProgressUI = CreateObject("Microsoft.SMS.TSProgressUI")
oTSProgressUI.CloseProgressDialog
Set oTSProgressUI = Nothing
x=350
y=150
window.resizeTo x,y
window.moveTo ((screen.availWidth \ 2) - (x \ 2)), ((screen.availHeight \ 2) - (y \ 2))
MDTPassword.Focus
end sub
sub Document_onKeyDown
alt=window.event.altKey
if window.event.keyCode=13 then
CheckPassword
end if
if window.event.keyCode=116 or window.event.keyCode=27 or (alt=true and window.event.keyCode=115) then
window.event.keyCode=0
window.event.cancelBubble=true
window.event.returnValue=false
end if
end sub
Function CheckPassword
if Trim(MDTPassword.Value) = "" Then
MsgBox "Password empty/only blanks"
MDTPassword.Focus
Exit Function
end if
if IsNull(oEnvironment.Item("ScanStateArgs")) or Trim(oEnvironment.Item("ScanStateArgs")) = "" Then
MsgBox "No password in MDT database, cannot continue"
MDTPassword.Focus
Exit Function
end if
if oEnvironment.Item("ScanStateArgs") = MDTPassword.value then
self close ()
else
msgbox "Wrong password"
MDTPassword.Value=""
MDTPassword.Focus
end if
End Function
</script>
<body>
<br/>
<Font Face=Arial size=3>
<b>Deployment password: </b>
<input name="MDTPassword" type="password" value="" size="10">
</font>
<input id=runbutton class="button" type="button" value=" OK " name="ok_button" onClick="CheckPassword">
</body>
</html>