



Hallo Lieber Leser.
Das Microsoft Deployment Toolkit 2010 eröffnet jedem kleinen und mittleren Unternehmen einen kostengünstigen Einstieg in automatisiertes, standardisiertes und rationelles Client Deployment. Auch wenn der Fokus dieses Programms eindeutig auf dem Deployment von Windows 7 bzw. der Migration dazu hin liegt, kann auch Windows XP installiert werden.
Neben einigen, designbedingten Einschränkungen bei der Installation von XP gibt es jedoch zumindest ein gravierendes Problem: Mit den vorhandenen Skripts lässt sich kein einfacher Hardware Austausch bewerkstelligen, wenn Windows XP auf den neuen System installiert sein soll. In diesem Fall funktioniert die Übernahme von lokalen Profilen mit Hilfe von USMT nicht. Mit wenigen Handgriffen lässt sich jedoch ein Workaround erstellen.
Update: Bitte beachten Sie auch den Hinweis von Maik in den Kommentaren!
Bei unseren Tests stellte sich rasch heraus dass die MDT Scripts zum Erstellen der User State Sicherungen USMT 4 benutzt. Beim Versuch diese Daten auf einem neu installierten XP wiederherzustellen, scheiterte dies. Die Skripte Benutzen in diesem Fall automatisch USMT3, da USMT4 unter XP nur den User State sichern, nicht aber wiederherstellen kann. Das Script endet mit der Fehlermeldung “no user state folder (USMT3)”. Zudem wären die USMT3 Dateien im AIK für Windows 7 gar nicht vorhanden.
Als Workaround kann nun USMT 3 für Erstellung der User States verwendet werden. Dazu sind folgende Schritte notwendig:
Class Header anpassen:
‘//—————————————————————————-
‘// Main Class
‘//—————————————————————————-
Class ZTIUserStateUSMT3
Im weiteren Verlauf USMT3 erzwingen, egal was vom Sctipt ermittelt wird:
‘ Deterine if we are going to run USM3 or USMT4
If Ucase(oEnvironment.Item(”USMT3″)) = “YES” and Left(oEnvironment.Item(”OSCURRENTVERSION”),3) < “6.1″ then
sUSMTVersion = “USMT3″
Else
If Left(oEnvironment.Item(”ImageBuild”),3) < “6.0″ and oENvironment.Item(”DeploymentType”) <> “REPLACE” and oEnvironment.Item(”DeploymentMethod”) <> “SCCM” Then
oLogging.CreateEntry “Windows XP is being deployed, assuming USMT 3″, LogTypeInfo
sUSMTVersion = “USMT3″
Else
sScanState=”scanstate.exe”
iRetVal = oUtility.FindFile(sScanState, sFoundScanState)
If iRetVal = Success then
If Left(oFSO.GetFileVersion(sFoundScanState),3) = “6.1″ then
oLogging.CreateEntry “Found USMT 4 executables. Using USMT 4″, LogTypeInfo
sUSMTVersion = “USMT4″
Else
oLogging.CreateEntry “USMT 4 executables were not found, using USMT 3″, LogTypeInfo
sUSMTVersion = “USMT3″
End if
Else
oLogging.CreateEntry “Executables were not found, assuming USMT 3 installer”, LogTypeInfo
sUSMTVersion = “USMT3″
End if
End If
End If
sUSMTVersion = “USMT3″
‘//—————————————————————————-
‘// See what we need to do
‘//—————————————————————————-
cscript.exe “%SCRIPTROOT%\ZTIUserStateUSMT3.wsf” /capture
Nun kann der Client Replacement Task wie gewohnt ausgeführt und beim Deployment von Windows XP der User State zurückgeschrieben werden.
Dieses Script funktioniert natürlich nicht mehr wenn zu Windows 7 hin migriert werden soll! Dann muss der Replacement unverändert ausgeführt werden.
Andy.






More Options ...
Kategorien
Tag Cloud
Blog RSS
Comments RSS


Void
Life « Default
Earth
Wind
Water
Fire
Light 
Moin Andy,
eigentlich sollte es reichen in der customsettings.ini USTM3=YES zu setzen oder alternativ ZTIUserState.wsf mit der zusätzlichen Option /USMT3:Yes aufzurufen. Damit wird das Standardverhalten überschrieben und alle Deployments benutzen nun USTM 3, es sei denn das aktuelle OS ist bereits Windows 7.
Damit erzielst Du das gewünschte Verhalten, musst aber kein MDT Standardskript ändern und bleibst flexibel wenn Du dann doch in Richtung Windows 7 gehen willst.
viele Grüße
Maik
Hallo Maik.
Danke für den Tip. Ich werde es bei nächster Gelegenheit mal ausprobieren.
Andy