MDT 2013 - Capture WIM vs. Domain Join in rules.ini
Hi,
Pre MDT2013 it was possible to have domain join settings in the rules.ini and run capture tasks.
rules.ini ->
JoinDomain=<my domain>
DomainAdmin=<domain join account>
DomainAdminDomain=<domain>
DomainAdminPassword=<password>
MachineObjectOU=OU=Computers Germany,OU=_Computers,OU=EU Offices,DC=bar,DC=foo,DC=com
On MDT2013, whenever I enable my domain join settings capture task will cancel shortly upon start.
Is this a desired behaviour?
How are you working aroun that?
Regards,
Albert
Albert,
My recommendation would be to create a second Deployment Share and use that only for Build & Capture Task Sequences.
I blogged about this a while ago, and I think it would work well for you (Build and Capture Task Sequence)
I recommend re-building your image you want to capture each time. This way you have a clean build with less patches on it (as the superseded patches will not be applied).
If you don't (or can't) do this, then you should try the following:
Assumptions
* Task sequence is named SYSPREPCAP
* I think from reading your previous posts that you don't want to join this to the domain, but you want all other TS's to join.
You'll want to try this in your CustomSettings.ini file.
[Settings]
Priority=TaskSequenceID, Default
[SYSPREPCAP]
JoinWorkgroup=WORKGROUP
[DEFAULT]
JoinDomain=<my domain>
DomainAdmin=<domain join account>
DomainAdminDomain=<domain>
DomainAdminPassword=<password>
MachineObjectOU=OU=Computers Germany,OU=_Computers,OU=EU Offices,DC=bar,DC=foo,DC=com
Similar Messages
-
MDT 2013, D: Wim not applying after update from MDT 2010 to 2013
Updated MDT from MDT 2010 Update 1 to MDT 2012 Update 1, uninstalled WAIK, Installed MDT 2013, and then ADK, Upgraded all Deployment shares along the way, and now the extra drive (D:) Wim will not apply to Drive, i have tried two different ways to handle
the said action, the first was using the Unattend.xml, adding the DataImage Action, the other was using an Imagex command from the MDT task sequence. neither is applying the Wim, before the upgrade this worked. has any one else had this issue?
Thank you,
Dane Zittritsch
Thinix Support ManagerI moved from MDT 2010 to MDT 2013 and its just not working, i have tried a few different methods, the old way we used the
Unattend.xml and placed a install order and that always worked, but now i am trying to use Imagex and its not applying the wim, when i get in the image the D:\ (Second Drive) is missing files. Now here is the weird part, if i re-run the task sequence
the D WIM is applied, but that's counter productive. i will apply my TS.xml information.
Ts.xml
<?xml version="1.0"?>
-<sequence description="A complete task sequence for deploying a client operating system" name="Standard Client Task Sequence" version="3.00"> -<globalVarList> <variable name="OSGUID" property="OSGUID">{52bb4035-96e5-46f3-9d17-3d2a363895c3}</variable>
<variable name="DestinationDisk" property="DestinationDisk">0</variable>
<variable name="DestinationPartition" property="DestinationPartition">2</variable>
<variable name="DestinationOSVariable" property="DestinationOSVariable">OSDisk</variable>
<variable name="DestinationOSRefresh" property="DestinationOSRefresh"/>
<variable name="DestinationOSDriveLetter" property="DestinationOSDriveLetter"/>
<variable name="DestinationOSInstallType" property="DestinationOSInstallType">ByDiskPartition</variable>
</globalVarList>
-<group description="Initialize the TS environment" name="Initialization" expand="true" continueOnError="false" disable="false">
- <step description="" name="Gather local only" continueOnError="false" disable="false" startIn="" successCodeList="0 3010" type="BDD_Gather"> -<defaultVarList> <variable name="GatherLocalOnly"
property="GatherLocalOnly">true</variable> <variable name="RulesFile" property="RulesFile"/> </defaultVarList> <action>cscript.exe "%SCRIPTROOT%\ZTIGather.wsf"</action> </step> </group> -<group description="Test"
name="Validation" expand="true" continueOnError="false" disable="false"> -<condition> -<operator type="or"> -<expression type="SMS_TaskSequence_VariableConditionExpression"> <variable name="Variable">PHASE</variable> <variable
name="Operator">equals</variable> <variable name="Value">VALIDATION</variable> </expression> </operator> </condition> -<step description="" name="Validate" continueOnError="false" disable="false" startIn="" successCodeList="0
3010" type="BDD_Validate"> -<defaultVarList> <variable name="ImageSize" property="ImageSize">0</variable> <variable name="ImageProcessorSpeed" property="ImageProcessorSpeed">800</variable> <variable name="ImageMemory" property="ImageMemory">768</variable>
<variable name="VerifyOS" property="VerifyOS">CLIENT</variable> </defaultVarList> <action>cscript.exe "%SCRIPTROOT%\ZTIValidate.wsf"</action> </step> -<step description="" name="Check BIOS" continueOnError="false" disable="false"
startIn="" successCodeList="0 3010"> <action>cscript.exe "%SCRIPTROOT%\ZTIBIOSCheck.wsf"</action> -<defaultVarList> <variable name="RunAsUser" property="RunAsUser">false</variable> <variable name="SMSTSRunCommandLineUserName"
property="SMSTSRunCommandLineUserName"/> <variable name="SMSTSRunCommandLineUserPassword" property="SMSTSRunCommandLineUserPassword"/> <variable name="LoadProfile" property="LoadProfile">false</variable> </defaultVarList> </step>
-<step description="" name="Next Phase" continueOnError="false" disable="false" startIn="" successCodeList="0 3010"> <action>cscript.exe "%SCRIPTROOT%\ZTINextPhase.wsf"</action> -<defaultVarList> <variable name="RunAsUser" property="RunAsUser">false</variable>
<variable name="SMSTSRunCommandLineUserName" property="SMSTSRunCommandLineUserName"/> <variable name="SMSTSRunCommandLineUserPassword" property="SMSTSRunCommandLineUserPassword"/> <variable name="LoadProfile" property="LoadProfile">false</variable>
</defaultVarList> </step> </group> -<group description="" name="State Capture" expand="true" continueOnError="false" disable="false"> -<condition> -<expression type="SMS_TaskSequence_VariableConditionExpression"> <variable
name="Variable">PHASE</variable> <variable name="Operator">equals</variable> <variable name="Value">STATECAPTURE</variable> </expression> </condition> -<step description="" name="Next Phase" continueOnError="false"
disable="false" startIn="" successCodeList="0 3010"> <action>cscript.exe "%SCRIPTROOT%\ZTINextPhase.wsf"</action> -<defaultVarList> <variable name="RunAsUser" property="RunAsUser">false</variable> <variable name="SMSTSRunCommandLineUserName"
property="SMSTSRunCommandLineUserName"/> <variable name="SMSTSRunCommandLineUserPassword" property="SMSTSRunCommandLineUserPassword"/> <variable name="LoadProfile" property="LoadProfile">false</variable> </defaultVarList> </step>
</group> -<group description="" name="Preinstall" expand="true" continueOnError="false" disable="false"> -<condition> -<expression type="SMS_TaskSequence_VariableConditionExpression"> <variable name="Variable">PHASE</variable>
<variable name="Operator">equals</variable> <variable name="Value">PREINSTALL</variable> </expression> </condition> -<step description="" name="Gather local only" continueOnError="false" disable="false" startIn="" successCodeList="0
3010" type="BDD_Gather"> -<defaultVarList> <variable name="GatherLocalOnly" property="GatherLocalOnly">true</variable> <variable name="RulesFile" property="RulesFile"/> </defaultVarList> <action>cscript.exe "%SCRIPTROOT%\ZTIGather.wsf"</action>
</step> -<group description="" name="New Computer only" expand="true" continueOnError="false" disable="false"> -<condition> -<expression type="SMS_TaskSequence_VariableConditionExpression"> <variable name="Variable">DeploymentType</variable>
<variable name="Operator">equals</variable> <variable name="Value">NEWCOMPUTER</variable> </expression> </condition> -<step description="" name="Validate" continueOnError="false" disable="false" startIn="" successCodeList="0
3010" type="BDD_Validate"> -<defaultVarList> <variable name="ImageSize" property="ImageSize">0</variable> <variable name="ImageProcessorSpeed" property="ImageProcessorSpeed">800</variable> <variable name="ImageMemory" property="ImageMemory">768</variable>
<variable name="VerifyOS" property="VerifyOS">CLIENT</variable> </defaultVarList> <action>cscript.exe "%SCRIPTROOT%\ZTIValidate.wsf"</action> </step> -<step description="" name="Format and Partition Disk" continueOnError="false"
disable="true" successCodeList="0 3010" type="SMS_TaskSequence_PartitionDiskAction" runIn="WinPEandFullOS"> -<defaultVarList> <variable name="OSDDiskIndex" property="DiskIndex">0</variable> <variable name="DONotCreateExtraPartition"
property="DONotCreateExtraPartition"/> <variable name="OSDPartitions0Type" property="Partitions0Type">Primary</variable> <variable name="OSDPartitions0FileSystem" property="Partitions0FileSystem">NTFS</variable> <variable name="OSDPartitions0Bootable"
property="Partitions0Bootable">True</variable> <variable name="OSDPartitions0QuickFormat" property="Partitions0QuickFormat">True</variable> <variable name="OSDPartitions0VolumeName" property="Partitions0VolumeName">OSDisk</variable>
<variable name="OSDPartitions0Size" property="Partitions0Size">100</variable> <variable name="OSDPartitions0SizeUnits" property="Partitions0SizeUnits">%</variable> <variable name="OSDPartitions0VolumeLetterVariable" property="Partitions0VolumeLetterVariable">OSDisk</variable>
<variable name="OSDPartitions" property="Partitions">1</variable> <variable name="OSDPartitionStyle" property="PartitionStyle">MBR</variable> </defaultVarList> <action>cscript.exe "%SCRIPTROOT%\ZTIDiskpart.wsf"</action>
</step> -<step description="You can change the size of the partition(s) in the \Scripts\WinRE\DiskConfig.txt file. Make sure your partition is large enough to hold the recovery image if you install alot of software. Current configuration is 160GB
for recovery, 60 for OS, 10 for scratch" name="Format and Partition Disk [Custom]" continueOnError="false" disable="false" startIn="" successCodeList="0 3010" type="SMS_TaskSequence_RunCommandLineAction" runIn="WinPEandFullOS"> -<defaultVarList> <variable
name="PackageID" property="PackageID"/> <variable name="RunAsUser" property="RunAsUser">false</variable> <variable name="SMSTSRunCommandLineUserName" property="SMSTSRunCommandLineUserName"/> <variable name="SMSTSRunCommandLineUserPassword"
property="SMSTSRunCommandLineUserPassword"/> <variable name="LoadProfile" property="LoadProfile">false</variable> </defaultVarList> <action>"%SCRIPTROOT%\Dell_Optiplex_7010 BETA\Configure-HDD.cmd"</action> </step> -<step
description="" name="Copy scripts" continueOnError="false" disable="false" startIn="" successCodeList="0 3010"> <action>cscript.exe "%SCRIPTROOT%\LTICopyScripts.wsf"</action> -<defaultVarList> <variable name="RunAsUser" property="RunAsUser">false</variable>
<variable name="SMSTSRunCommandLineUserName" property="SMSTSRunCommandLineUserName"/> <variable name="SMSTSRunCommandLineUserPassword" property="SMSTSRunCommandLineUserPassword"/> <variable name="LoadProfile" property="LoadProfile">false</variable>
</defaultVarList> </step> </group> -<step description="" name="Configure" continueOnError="false" disable="false" startIn="" successCodeList="0 3010"> <action>cscript.exe "%SCRIPTROOT%\ZTIConfigure.wsf"</action> -<defaultVarList>
<variable name="RunAsUser" property="RunAsUser">false</variable> <variable name="SMSTSRunCommandLineUserName" property="SMSTSRunCommandLineUserName"/> <variable name="SMSTSRunCommandLineUserPassword" property="SMSTSRunCommandLineUserPassword"/>
<variable name="LoadProfile" property="LoadProfile">false</variable> </defaultVarList> </step> -<step description="" name="Inject Drivers" continueOnError="false" disable="false" successCodeList="0 3010" type="BDD_InjectDrivers"
runIn="WinPEandFullOS"> -<defaultVarList> <variable name="DriverSelectionProfile" property="DriverSelectionProfile">Dell OptiPlex 790</variable> <variable name="DriverInjectionMode" property="DriverInjectionMode">ALL</variable>
</defaultVarList> <action>cscript.exe "%SCRIPTROOT%\ZTIDrivers.wsf"</action> </step> -<step description="" name="Apply Patches" continueOnError="false" disable="false" startIn="" successCodeList="0 3010" type="BDD_InstallUpdatesOffline">
<action>cscript.exe "%SCRIPTROOT%\ZTIPatches.wsf"</action> -<defaultVarList> <variable name="PackageSelectionProfile" property="PackageSelectionProfile">All Packages</variable> </defaultVarList> </step> -<step description=""
name="Next Phase" continueOnError="false" disable="false" startIn="" successCodeList="0 3010"> <action>cscript.exe "%SCRIPTROOT%\ZTINextPhase.wsf"</action> -<defaultVarList> <variable name="RunAsUser" property="RunAsUser">false</variable>
<variable name="SMSTSRunCommandLineUserName" property="SMSTSRunCommandLineUserName"/> <variable name="SMSTSRunCommandLineUserPassword" property="SMSTSRunCommandLineUserPassword"/> <variable name="LoadProfile" property="LoadProfile">false</variable>
</defaultVarList> </step> </group> -<group description="" name="Install" expand="true" continueOnError="false" disable="false"> -<condition> -<expression type="SMS_TaskSequence_VariableConditionExpression"> <variable
name="Variable">PHASE</variable> <variable name="Operator">equals</variable> <variable name="Value">INSTALL</variable> </expression> </condition> -<step description="" name="[Custom] Apply D Wim " continueOnError="false"
disable="true" startIn="" successCodeList="0 3010" type="SMS_TaskSequence_RunCommandLineAction" runIn="WinPEandFullOS"> -<defaultVarList> <variable name="PackageID" property="PackageID"/> <variable name="RunAsUser" property="RunAsUser">false</variable>
<variable name="SMSTSRunCommandLineUserName" property="SMSTSRunCommandLineUserName"/> <variable name="SMSTSRunCommandLineUserPassword" property="SMSTSRunCommandLineUserPassword"/> <variable name="LoadProfile" property="LoadProfile">false</variable>
</defaultVarList> <action>"%SCRIPTROOT%\Dell_Optiplex_7010\DWim.exe"</action> </step> -<step description="" name="Install Operating System" continueOnError="false" disable="false" successCodeList="0 3010" type="BDD_InstallOS" runIn="WinPEandFullOS">
-<defaultVarList> <variable name="OSGUID" property="OSGUID">{52bb4035-96e5-46f3-9d17-3d2a363895c3}</variable> <variable name="DestinationDisk" property="DestinationDisk">0</variable> <variable name="DestinationPartition" property="DestinationPartition">2</variable>
<variable name="DestinationOSDriveLetter" property="DestinationOSDriveLetter"/> <variable name="DestinationOSVariable" property="DestinationOSVariable">OSDisk</variable> <variable name="DestinationOSRefresh" property="DestinationOSRefresh"/>
<variable name="DestinationOSInstallType" property="DestinationOSInstallType">ByDiskPartition</variable> </defaultVarList> <action>cscript.exe "%SCRIPTROOT%\LTIApply.wsf"</action> </step> -<step description="" name="Restart
computer" continueOnError="false" disable="false" successCodeList="0 3010" type="SMS_TaskSequence_RebootAction" runIn="WinPEandFullOS"> -<defaultVarList> <variable name="SMSRebootMessage" property="Message"/> <variable name="SMSRebootTimeout"
property="MessageTimeout">60</variable> <variable name="SMSRebootTarget" property="Target"/> </defaultVarList> <action>smsboot.exe /target:WinPE</action> </step> -<step description="" name="Next Phase" continueOnError="false"
disable="false" startIn="" successCodeList="0 3010"> <action>cscript.exe "%SCRIPTROOT%\ZTINextPhase.wsf"</action> -<defaultVarList> <variable name="RunAsUser" property="RunAsUser">false</variable> <variable name="SMSTSRunCommandLineUserName"
property="SMSTSRunCommandLineUserName"/> <variable name="SMSTSRunCommandLineUserPassword" property="SMSTSRunCommandLineUserPassword"/> <variable name="LoadProfile" property="LoadProfile">false</variable> </defaultVarList> </step>
</group> -<group description="" name="Postinstall" expand="true" continueOnError="false" disable="false"> -<condition> -<expression type="SMS_TaskSequence_VariableConditionExpression"> <variable name="Variable">PHASE</variable>
<variable name="Operator">equals</variable> <variable name="Value">POSTINSTALL</variable> </expression> </condition> -<step description="" name="Copy Scripts" continueOnError="false" disable="true" startIn="" successCodeList="0
3010"> <action>cscript.exe "%SCRIPTROOT%\LTICopyScripts.wsf"</action> -<defaultVarList> <variable name="RunAsUser" property="RunAsUser">false</variable> <variable name="SMSTSRunCommandLineUserName" property="SMSTSRunCommandLineUserName"/>
<variable name="SMSTSRunCommandLineUserPassword" property="SMSTSRunCommandLineUserPassword"/> <variable name="LoadProfile" property="LoadProfile">false</variable> </defaultVarList> </step> -<step description="" name="Configure"
continueOnError="false" disable="false" startIn="" successCodeList="0 3010"> <action>cscript.exe "%SCRIPTROOT%\ZTIConfigure.wsf"</action> -<defaultVarList> <variable name="RunAsUser" property="RunAsUser">false</variable> <variable
name="SMSTSRunCommandLineUserName" property="SMSTSRunCommandLineUserName"/> <variable name="SMSTSRunCommandLineUserPassword" property="SMSTSRunCommandLineUserPassword"/> <variable name="LoadProfile" property="LoadProfile">false</variable>
</defaultVarList> </step> -<step description="Applies the D: wim to System " name="Apply Scratch Drive" continueOnError="false" disable="false" startIn="" successCodeList="0 3010" type="SMS_TaskSequence_RunCommandLineAction" runIn="WinPEandFullOS">
-<defaultVarList> <variable name="PackageID" property="PackageID"/> <variable name="RunAsUser" property="RunAsUser">false</variable> <variable name="SMSTSRunCommandLineUserName" property="SMSTSRunCommandLineUserName"/> <variable
name="SMSTSRunCommandLineUserPassword" property="SMSTSRunCommandLineUserPassword"/> <variable name="LoadProfile" property="LoadProfile">false</variable> </defaultVarList> <action>"\\thinix-dev1\navyImage$\Tools\x86\imagex.exe" /apply
"\\thinix-dev1\navyImage$\Operating Systems\navycnic-gen_20131226100000\navycnic-gen_20131226100000_ddrive.wim" 1 D:\</action> </step> -<step description="" name="Inject Drivers" continueOnError="false" disable="false" startIn="" successCodeList="0
3010"> <action>cscript.exe "%SCRIPTROOT%\ZTIdrivers.wsf"</action> -<defaultVarList> <variable name="RunAsUser" property="RunAsUser">false</variable> <variable name="SMSTSRunCommandLineUserName" property="SMSTSRunCommandLineUserName"/>
<variable name="SMSTSRunCommandLineUserPassword" property="SMSTSRunCommandLineUserPassword"/> <variable name="LoadProfile" property="LoadProfile">false</variable> </defaultVarList> </step> -<group description="" name="Custom
Tasks" expand="true" continueOnError="false" disable="false"> -<step description="Makes sure there is no Boot Config files on C drive and changes them to R drive:" name="Recovery Partition" continueOnError="false" disable="false" startIn="" successCodeList="0
3010" type="SMS_TaskSequence_RunCommandLineAction" runIn="WinPEandFullOS"> -<defaultVarList> <variable name="PackageID" property="PackageID"/> <variable name="RunAsUser" property="RunAsUser">false</variable> <variable name="SMSTSRunCommandLineUserName"
property="SMSTSRunCommandLineUserName"/> <variable name="SMSTSRunCommandLineUserPassword" property="SMSTSRunCommandLineUserPassword"/> <variable name="LoadProfile" property="LoadProfile">false</variable> </defaultVarList> <action>"%SCRIPTROOT%\Dell_Optiplex_7010\Re-assign
DriveLetter.cmd"</action> </step> -<step description="" name="[Custom] Apply D Wim " continueOnError="false" disable="true" startIn="" successCodeList="0 3010" type="SMS_TaskSequence_RunCommandLineAction" runIn="WinPEandFullOS"> -<defaultVarList>
<variable name="PackageID" property="PackageID"/> <variable name="RunAsUser" property="RunAsUser">false</variable> <variable name="SMSTSRunCommandLineUserName" property="SMSTSRunCommandLineUserName"/> <variable name="SMSTSRunCommandLineUserPassword"
property="SMSTSRunCommandLineUserPassword"/> <variable name="LoadProfile" property="LoadProfile">false</variable> </defaultVarList> <action>"%SCRIPTROOT%\Dell_Optiplex_7010\DWim.exe"</action> </step> -<step description=""
name="[Custom] TDRBCD" continueOnError="false" disable="false" startIn="" successCodeList="0 3010" type="SMS_TaskSequence_RunCommandLineAction" runIn="WinPEandFullOS"> -<defaultVarList> <variable name="PackageID" property="PackageID"/> <variable
name="RunAsUser" property="RunAsUser">false</variable> <variable name="SMSTSRunCommandLineUserName" property="SMSTSRunCommandLineUserName"/> <variable name="SMSTSRunCommandLineUserPassword" property="SMSTSRunCommandLineUserPassword"/>
<variable name="LoadProfile" property="LoadProfile">false</variable> </defaultVarList> <action>"%SCRIPTROOT%\Dell_Optiplex_7010\TDRBCD.exe"</action> </step> -<step description="" name="[Custom] Apply D Wim " continueOnError="false"
disable="true" startIn="" successCodeList="0 3010" type="SMS_TaskSequence_RunCommandLineAction" runIn="WinPEandFullOS"> -<defaultVarList> <variable name="PackageID" property="PackageID"/> <variable name="RunAsUser" property="RunAsUser">false</variable>
<variable name="SMSTSRunCommandLineUserName" property="SMSTSRunCommandLineUserName"/> <variable name="SMSTSRunCommandLineUserPassword" property="SMSTSRunCommandLineUserPassword"/> <variable name="LoadProfile" property="LoadProfile">false</variable>
</defaultVarList> <action>"%SCRIPTROOT%\Dell_Optiplex_7010\DWim.exe"</action> </step> </group> -<step description="" name="Next Phase" continueOnError="false" disable="false" startIn="" successCodeList="0 3010"> <action>cscript.exe
"%SCRIPTROOT%\ZTINextPhase.wsf"</action> -<defaultVarList> <variable name="RunAsUser" property="RunAsUser">false</variable> <variable name="SMSTSRunCommandLineUserName" property="SMSTSRunCommandLineUserName"/> <variable name="SMSTSRunCommandLineUserPassword"
property="SMSTSRunCommandLineUserPassword"/> <variable name="LoadProfile" property="LoadProfile">false</variable> </defaultVarList> </step> -<step description="" name="Set Phase" continueOnError="false" disable="false" successCodeList="0
3010" type="SMS_TaskSequence_SetVariableAction"> -<defaultVarList> <variable name="VariableName" property="VariableName">PHASE</variable> <variable name="VariableValue" property="VariableValue">STATERESTORE</variable> </defaultVarList>
<action>cscript.exe "%SCRIPTROOT%\ZTISetVariable.wsf"</action> </step> </group> -<group description="" name="State Restore" expand="false" continueOnError="false" disable="true"> -<condition> -<expression type="SMS_TaskSequence_VariableConditionExpression">
<variable name="Variable">PHASE</variable> <variable name="Operator">equals</variable> <variable name="Value">STATERESTORE</variable> </expression> </condition> -<step description="" name="Gather local only"
continueOnError="false" disable="false" startIn="" successCodeList="0 3010" type="BDD_Gather"> -<defaultVarList> <variable name="GatherLocalOnly" property="GatherLocalOnly">true</variable> <variable name="RulesFile" property="RulesFile"/>
</defaultVarList> <action>cscript.exe "%SCRIPTROOT%\ZTIGather.wsf"</action> </step> -<step description="" name="Post-Apply Cleanup" continueOnError="false" disable="false" startIn="" successCodeList="0 3010"> <action>cscript.exe
"%SCRIPTROOT%\LTIApply.wsf" /post</action> -<defaultVarList> <variable name="RunAsUser" property="RunAsUser">false</variable> <variable name="SMSTSRunCommandLineUserName" property="SMSTSRunCommandLineUserName"/> <variable name="SMSTSRunCommandLineUserPassword"
property="SMSTSRunCommandLineUserPassword"/> <variable name="LoadProfile" property="LoadProfile">false</variable> </defaultVarList> </step> -<step description="" name="Recover From Domain " continueOnError="false" disable="false"
successCodeList="0 3010" type="BDD_RecoverDomainJoin" runIn="WinPEandFullOS"> -<defaultVarList> <variable name="DomainErrorRecovery" property="DomainErrorRecovery">Auto</variable> </defaultVarList> <action>cscript.exe "%SCRIPTROOT%\ZTIDomainJoin.wsf"
</action> </step> -<step description="" name="Tattoo" continueOnError="true" disable="false" startIn="" successCodeList="0 3010"> <action>cscript.exe "%SCRIPTROOT%\ZTITatoo.wsf"</action> -<defaultVarList> <variable name="RunAsUser"
property="RunAsUser">false</variable> <variable name="SMSTSRunCommandLineUserName" property="SMSTSRunCommandLineUserName"/> <variable name="SMSTSRunCommandLineUserPassword" property="SMSTSRunCommandLineUserPassword"/> <variable name="LoadProfile"
property="LoadProfile">false</variable> </defaultVarList> </step> -<step description="" name="Opt In to CEIP and WER" continueOnError="true" disable="true" startIn="" successCodeList="0 3010"> <action>cscript.exe "%SCRIPTROOT%\ZTIOptIn.wsf"
/CEIP:YES /WER:YES</action> -<defaultVarList> <variable name="RunAsUser" property="RunAsUser">false</variable> <variable name="SMSTSRunCommandLineUserName" property="SMSTSRunCommandLineUserName"/> <variable name="SMSTSRunCommandLineUserPassword"
property="SMSTSRunCommandLineUserPassword"/> <variable name="LoadProfile" property="LoadProfile">false</variable> </defaultVarList> </step> -<step description="" name="Windows Update (Pre-Application Installation)" continueOnError="true"
disable="true" startIn="" successCodeList="0 3010"> <action>cscript.exe "%SCRIPTROOT%\ZTIWindowsUpdate.wsf"</action> -<defaultVarList> <variable name="RunAsUser" property="RunAsUser">false</variable> <variable name="SMSTSRunCommandLineUserName"
property="SMSTSRunCommandLineUserName"/> <variable name="SMSTSRunCommandLineUserPassword" property="SMSTSRunCommandLineUserPassword"/> <variable name="LoadProfile" property="LoadProfile">false</variable> </defaultVarList> </step>
-<step description="" name="Install Applications" continueOnError="false" disable="false" startIn="" successCodeList="0 3010" type="BDD_InstallApplication"> <action>cscript.exe "%SCRIPTROOT%\ZTIApplications.wsf"</action> -<defaultVarList>
<variable name="ApplicationGUID" property="ApplicationGUID"/> <variable name="ApplicationSuccessCodes" property="ApplicationSuccessCodes">0 3010</variable> </defaultVarList> </step> -<step description="" name="Windows Update
(Post-Application Installation)" continueOnError="true" disable="true" startIn="" successCodeList="0 3010"> <action>cscript.exe "%SCRIPTROOT%\ZTIWindowsUpdate.wsf"</action> -<defaultVarList> <variable name="RunAsUser" property="RunAsUser">false</variable>
<variable name="SMSTSRunCommandLineUserName" property="SMSTSRunCommandLineUserName"/> <variable name="SMSTSRunCommandLineUserPassword" property="SMSTSRunCommandLineUserPassword"/> <variable name="LoadProfile" property="LoadProfile">false</variable>
</defaultVarList> </step> <group description="" name="Custom Tasks" expand="true" continueOnError="false" disable="false"/> -<step description="" name="Enable BitLocker" continueOnError="true" startIn="" successCodeList="0 3010" type="SMS_TaskSequence_EnableBitLockerAction">
<action>cscript.exe "%SCRIPTROOT%\ZTIBde.wsf"</action> -<condition> -<expression type="SMS_TaskSequence_VariableConditionExpression"> <variable name="Variable">BdeInstallSuppress</variable> <variable name="Operator">notEquals</variable>
<variable name="Value">YES</variable> </expression> </condition> -<defaultVarList> <variable name="OSDBitLockerTargetDrive" property="BdeTargetDriveLetter"/> <variable name="OSDBitLockerMode" property="BdeInstall">TPM</variable>
<variable name="OSDBitLockerStartupKeyDrive" property="BdeKeyLocation"/> <variable name="OSDBitLockerCreateRecoveryPassword" property="BdeRecoveryPassword">AD</variable> <variable name="OSDBitLockerWaitForEncryption" property="WaitForEncryption">false</variable>
</defaultVarList> </step> -<step description="" name="Restore User State" continueOnError="false" disable="false" startIn="" successCodeList="0 3010"> <action>cscript.exe "%SCRIPTROOT%\ZTIUserState.wsf" /restore</action> -<defaultVarList>
<variable name="RunAsUser" property="RunAsUser">false</variable> <variable name="SMSTSRunCommandLineUserName" property="SMSTSRunCommandLineUserName"/> <variable name="SMSTSRunCommandLineUserPassword" property="SMSTSRunCommandLineUserPassword"/>
<variable name="LoadProfile" property="LoadProfile">false</variable> </defaultVarList> </step> -<step description="" name="Restore Groups" continueOnError="false" disable="false" startIn="" successCodeList="0 3010"> <action>cscript.exe
"%SCRIPTROOT%\ZTIGroups.wsf" /restore</action> -<defaultVarList> <variable name="RunAsUser" property="RunAsUser">false</variable> <variable name="SMSTSRunCommandLineUserName" property="SMSTSRunCommandLineUserName"/> <variable
name="SMSTSRunCommandLineUserPassword" property="SMSTSRunCommandLineUserPassword"/> <variable name="LoadProfile" property="LoadProfile">false</variable> </defaultVarList> </step> -<step description="" name="Apply Local GPO Package"
continueOnError="false" disable="false" startIn="" successCodeList="0 3010"> <action>cscript.exe "%SCRIPTROOT%\ZTIApplyGPOPack.wsf"</action> -<condition> -<expression type="SMS_TaskSequence_VariableConditionExpression"> <variable
name="Variable">ApplyGPOPack</variable> <variable name="Operator">notEquals</variable> <variable name="Value">NO</variable> </expression> </condition> -<defaultVarList> <variable name="RunAsUser" property="RunAsUser">false</variable>
<variable name="SMSTSRunCommandLineUserName" property="SMSTSRunCommandLineUserName"/> <variable name="SMSTSRunCommandLineUserPassword" property="SMSTSRunCommandLineUserPassword"/> <variable name="LoadProfile" property="LoadProfile">false</variable>
</defaultVarList> </step> -<group description="" name="Imaging" expand="false" continueOnError="false" disable="false"> <action/> -<group description="" name="Prepare Only" expand="false" continueOnError="false" disable="false">
-<condition> -<expression type="SMS_TaskSequence_VariableConditionExpression"> <variable name="Variable">DoCapture</variable> <variable name="Operator">equals</variable> <variable name="Value">PREPARE</variable>
</expression> </condition> -<step description="" name="Copy Sysprep files" continueOnError="false" disable="false" startIn="" successCodeList="0 3010"> <action>cscript.exe "%SCRIPTROOT%\LTISysprep.wsf"</action> -<defaultVarList>
<variable name="RunAsUser" property="RunAsUser">false</variable> <variable name="SMSTSRunCommandLineUserName" property="SMSTSRunCommandLineUserName"/> <variable name="SMSTSRunCommandLineUserPassword" property="SMSTSRunCommandLineUserPassword"/>
<variable name="LoadProfile" property="LoadProfile">false</variable> </defaultVarList> </step> </group> -<group description="" name="Sysprep Only" expand="false" continueOnError="false" disable="false"> -<condition>
-<expression type="SMS_TaskSequence_VariableConditionExpression"> <variable name="Variable">DoCapture</variable> <variable name="Operator">equals</variable> <variable name="Value">SYSPREP</variable> </expression>
</condition> -<step description="" name="Add mass storage drivers to sysprep.inf for XP and 2003" continueOnError="false" disable="false" startIn="" successCodeList="0 3010"> <action>cscript.exe "%SCRIPTROOT%\ZTIDrivers.wsf"</action>
-<defaultVarList> <variable name="RunAsUser" property="RunAsUser">false</variable> <variable name="SMSTSRunCommandLineUserName" property="SMSTSRunCommandLineUserName"/> <variable name="SMSTSRunCommandLineUserPassword" property="SMSTSRunCommandLineUserPassword"/>
<variable name="LoadProfile" property="LoadProfile">false</variable> </defaultVarList> </step> -<step description="" name="Execute Sysprep" continueOnError="false" disable="false" startIn="" successCodeList="0 3010"> <action>cscript.exe
"%SCRIPTROOT%\LTISysprep.wsf"</action> -<defaultVarList> <variable name="RunAsUser" property="RunAsUser">false</variable> <variable name="SMSTSRunCommandLineUserName" property="SMSTSRunCommandLineUserName"/> <variable name="SMSTSRunCommandLineUserPassword"
property="SMSTSRunCommandLineUserPassword"/> <variable name="LoadProfile" property="LoadProfile">false</variable> </defaultVarList> </step> </group> -<group description="" name="Capture Image" expand="false" continueOnError="false"
disable="false"> -<condition> -<expression type="SMS_TaskSequence_VariableConditionExpression"> <variable name="Variable">DoCapture</variable> <variable name="Operator">equals</variable> <variable name="Value">YES</variable>
</expression> </condition> -<step description="" name="Apply Windows PE" continueOnError="false" disable="false" startIn="" successCodeList="0 3010"> <action>cscript.exe "%SCRIPTROOT%\LTIApply.wsf" /PE /STAGE</action> -<defaultVarList>
<variable name="RunAsUser" property="RunAsUser">false</variable> <variable name="SMSTSRunCommandLineUserName" property="SMSTSRunCommandLineUserName"/> <variable name="SMSTSRunCommandLineUserPassword" property="SMSTSRunCommandLineUserPassword"/>
<variable name="LoadProfile" property="LoadProfile">false</variable> </defaultVarList> </step> -<step description="" name="Add mass storage drivers to sysprep.inf for XP and 2003" continueOnError="false" disable="false" startIn=""
successCodeList="0 3010"> <action>cscript.exe "%SCRIPTROOT%\ZTIDrivers.wsf"</action> -<defaultVarList> <variable name="RunAsUser" property="RunAsUser">false</variable> <variable name="SMSTSRunCommandLineUserName" property="SMSTSRunCommandLineUserName"/>
<variable name="SMSTSRunCommandLineUserPassword" property="SMSTSRunCommandLineUserPassword"/> <variable name="LoadProfile" property="LoadProfile">false</variable> </defaultVarList> </step> -<step description="" name="Execute
Sysprep" continueOnError="false" disable="false" startIn="" successCodeList="0 3010"> <action>cscript.exe "%SCRIPTROOT%\LTISysprep.wsf"</action> -<defaultVarList> <variable name="RunAsUser" property="RunAsUser">false</variable>
<variable name="SMSTSRunCommandLineUserName" property="SMSTSRunCommandLineUserName"/> <variable name="SMSTSRunCommandLineUserPassword" property="SMSTSRunCommandLineUserPassword"/> <variable name="LoadProfile" property="LoadProfile">false</variable>
</defaultVarList> </step> -<step description="" name="Apply Windows PE (BCD)" continueOnError="false" disable="false" startIn="" successCodeList="0 3010"> <action>cscript.exe "%_SMSTSMDataPath%\Scripts\LTIApply.wsf" /PE /BCD</action>
-<condition> -<expression type="SMS_TaskSequence_VariableConditionExpression"> <variable name="Variable">ImageBuild</variable> <variable name="Operator">greaterEqual</variable> <variable name="Value">6</variable>
</expression> </condition> -<defaultVarList> <variable name="RunAsUser" property="RunAsUser">false</variable> <variable name="SMSTSRunCommandLineUserName" property="SMSTSRunCommandLineUserName"/> <variable name="SMSTSRunCommandLineUserPassword"
property="SMSTSRunCommandLineUserPassword"/> <variable name="LoadProfile" property="LoadProfile">false</variable> </defaultVarList> </step> -<step description="" name="Restart computer" continueOnError="false" disable="false"
successCodeList="0 3010" type="SMS_TaskSequence_RebootAction" runIn="WinPEandFullOS"> -<defaultVarList> <variable name="Message" property="Message"/> <variable name="MessageTimeout" property="MessageTimeout">60</variable> <variable
name="Target" property="Target"/> </defaultVarList> <action>smsboot.exe /target:WinPE</action> </step> -<step description="" name="Gather local only" continueOnError="false" disable="false" startIn="" successCodeList="0 3010"
type="BDD_Gather"> -<defaultVarList> <variable name="GatherLocalOnly" property="GatherLocalOnly">true</variable> <variable name="RulesFile" property="RulesFile"/> </defaultVarList> <action>cscript.exe "%SCRIPTROOT%\ZTIGather.wsf"</action>
</step> -<step description="" name="Create WIM" continueOnError="false" disable="false" startIn="" successCodeList="0 3010"> <action>cscript.exe "%SCRIPTROOT%\ZTIBackup.wsf"</action> -<defaultVarList> <variable name="RunAsUser"
property="RunAsUser">false</variable> <variable name="SMSTSRunCommandLineUserName" property="SMSTSRunCommandLineUserName"/> <variable name="SMSTSRunCommandLineUserPassword" property="SMSTSRunCommandLineUserPassword"/> <variable name="LoadProfile"
property="LoadProfile">false</variable> </defaultVarList> </step> </group> </group> </group> </sequence> -
Hi,
is it possible to first capture the user state in an UDI Tasksequence to USB or Network drive and afterwards, after re-installation restore the user state via restore user state step?
Customer wants this steps in refresh Scenario:
UDI Tasksequence starts within Windows
User configures Network drive to capture User State
Windows is reinstalled during Tasksequence
User State is restored in restore user state step (same TS)
Possible?
I can't find reliable Information?
Thanks for answers!
Regards,
ckueverHi,
Here is video for your reference.
Configuring MDT 2012 UDI Replace Computer Scenario
http://technet.microsoft.com/en-us/video/configuring-mdt-2012-udi-replace-computer-scenario
We
are trying to better understand customer views on social support experience, so your participation in this
interview project would be greatly appreciated if you have time.
Thanks for helping make community forums a great place. -
Litetouch.wsf runs but after the sysprep reboot get error that can't connect to deploymentshare$ - but I have ip address and can map to share. Hope someone has seen this error before.
Could you post the exact error, please?
In the meantime;2 common things, check your credentials. Check your DNS.
Blog: http://scriptimus.wordpress.com -
Creating Windows 8.1 master image with MDT 2013,cannot capture .WIM
I am having an issue with creating a master image with Windows 8.1 and MDT 2013.
I have followed extensive tutorials on how to create a master image using Microsoft Deployment Toolkit. my goal is to have a fully configured windows 8.1 image which I can deploy through Windows Deployment Services. I have been relatively successful thus far,
except for one issue I have run into, which is successfully capturing this image as a .WIM.
I have successfully created a task sequence and the task sequence is able to run all the way through until the final step. Essentially the task sequence is supposed to install Windows and Office, then suspend the task sequence to allow me to make customisations
to the start screen and desktop background, and I simply click resume task sequence, and the task sequence should sysprep reboot and capture the machine image as a .WIM file.
the task sequence is able to sysprep the machine, but upon rebooting it boots into out of box experience, and does not create a wim file. I receive an error saying: "cannot find script file C:\ltibootstrap.Vbs" after the machine completes OOBE
I am using Windows Server 2012 r2, creating my Master machine image using hyper-v, and my master image is running Windows 8.1.
Any help would be greatly appreciated.I'm not sure about the sequence of steps here. Try taking your captured.wim file and deploying it using MDT again, or at least to another machine. MDT sometimes leaves extra files around on the captured machine, so simply rebooting it may not get a accurate
test results.
IF you are getting the ltibootstrap.vbs it is most likely because there is a stray unattend.xml file somewhere in your image that is looking for this file. Crack open your Wim file and search for any unattend.xml files.
Keith Garner - Principal Consultant [owner] -
http://DeploymentLive.com -
Domain Join to a specific OU based on Computer Name - ConfigMgr 2012 R2 / MDT 2013
Hi all
i need to build an OS deployment task sequence with ConfigMgr 2012 R2 and MDT 2013. my requirement is to be able to join a computer based on its computer name. there are three types of computers. Sales / Marketing and Technical. based on the prefix of the
computer name i need to place them on 3 different OUs. Computer Names would be SAL1100, MKT1100 or TEC1100, i would like to refer first three characters of the computer name and the decided on which OU they need to be allocated to.
i would appreciate if someone could tell me how i can do this within my task sequenceI don't think you can accomplish this by using conditions. Instead I'd use the script that Jörgen provided. Here's an edit of that so that it would suit your environment requirements of the first 3 characters of the OSDComputerName:
set env = CreateObject("Microsoft.SMS.TSEnvironment")
sComputerName = env("OSDComputerName")
threeChars = UCase(Left(sComputerName,3))
sBuiltOU = "NOT_set!"
If threeChars = "ABC" Then
sBuiltOU = "LDAP://OU=ABC,OU=Computers,DC=DOMAIN,DC=COM"
If threeChars = "DEF" Then
sBuiltOU = "LDAP://OU=DEF,OU=Computers,DC=DOMAIN,DC=COM"
If threeChars = "GHI" Then
sBuiltOU = "LDAP://OU=GHI,OU=Computers,DC=DOMAIN,DC=COM"
env("OSDDomainOUName") = sBuiltOU
Wscript.quit
Save this as 'SetOU.vbs' and create a package in ConfigMgr where you specify the source content to the location where you placed the script file. As Jason described, put a Run Command Line step right before Apply Windows Settings, use 'cscript.exe SetOU.vbs'
as the command line and point to the package you created. This script assumes that the OSDComputerName variable is already properly populated with the correct computer name.
Regards,
Nickolaj Andersen | www.scconfigmgr.com | @Nickolaja -
MDT 2013 won't capture 8.1 image, does not boot to PE to capture
I am doing this with Server 2012 R2 and MDT 2013, and the reference machines are VMs
I initially created a deployment share for creating windows 7 and windows 8.1 reference images and capturing and deployment worked ok. After getting into some more details i customized the deployment share customsettings to make things easier and created
a separate capture share for capturing new reference images. I updated permissions on the share so my service account has access to it.
In this share i imported the windows 8.1 os files and copied the sysprep and capture task sequence i used to capture my first reference image [from the original deployment share], but when running the task sequence it reboots and just goes back into windows,
instead of windows PE to capture the image.
I copied a windows 7 capture sequence to the capture share, imported the windows 7 files and updated the task, and it rebooted into PE without a problem and copied an image. so I don't believe I have any permissions/customsettings problems with the new share.
Im not seeing any errors jump out at me in the bdd.log but I'm new-ish to going over the logs and using MDT to start with so I may be missing the obvious. I am using SMS trace and dont see any red/yellow highlites either.
In windows 7 i did have the vm in audit mode when i mapped the share as an admin and started the task sequence. In windows 8.1 i am not in audit mode [after doing some research and learning more about using MDT it did not seem necessary]
After comparing a run of the windows 7 task to windows 8 i see the boot.wim copied to the win 7 vm, but i dont see it on the win 8 vm. There is a partition created, i cant see data in it when i show hidden files.
rules for the capture share
[Settings]
Priority=Default
Properties=MyCustomProperty
[Default]
OSInstall=Y
SkipAppsOnUpgrade=YES
SkipCapture=NO
SkipAdminPassword=YES
SkipProductKey=YES
Heres the last part of bdd.log. New here so I can't post a link yet, didnt know if i should post the whole thing here or not to start with.
<![LOG[LTI initiating task sequence-requested reboot.]LOG]!><time="08:29:38.000+000" date="03-19-2014" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">
<![LOG[Property PHASE is now = CUSTOM]LOG]!><time="08:29:38.000+000" date="03-19-2014" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">
<![LOG[Microsoft Deployment Toolkit version: 6.2.5019.0]LOG]!><time="08:29:43.000+000" date="03-19-2014" component="LTICopyScripts" context="" type="1" thread="" file="LTICopyScripts">
<![LOG[--------- Script Start ---------]LOG]!><time="08:29:43.000+000" date="03-19-2014" component="LTICopyScripts" context="" type="1" thread="" file="LTICopyScripts">
<![LOG[LTICopyScripts processing completed successfully.]LOG]!><time="08:29:43.000+000" date="03-19-2014" component="LTICopyScripts" context="" type="1" thread="" file="LTICopyScripts">
<![LOG[Creating startup folder item to run LiteTouch.wsf once the shell is loaded.]LOG]!><time="08:29:43.000+000" date="03-19-2014" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">
<![LOG[Shortcut "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\LiteTouch.lnk" created.]LOG]!><time="08:29:43.000+000" date="03-19-2014" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">
<![LOG[Property BootPE is now = ]LOG]!><time="08:29:43.000+000" date="03-19-2014" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">
<![LOG[Microsoft Deployment Toolkit version: 6.2.5019.0]LOG]!><time="08:32:24.000+000" date="03-19-2014" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">
<![LOG[ZTIUtility!GetAllFixedDrives (False)]LOG]!><time="08:32:25.000+000" date="03-19-2014" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">
<![LOG[New ZTIDiskPartition : \\WIN81-REF\root\cimv2:Win32_DiskPartition.DeviceID="Disk #0, Partition #0" \\WIN81-REF\root\cimv2:Win32_LogicalDisk.DeviceID="E:"]LOG]!><time="08:32:25.000+000" date="03-19-2014" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">
<![LOG[New ZTIDisk : \\WIN81-REF\root\cimv2:Win32_DiskDrive.DeviceID="\\\\.\\PHYSICALDRIVE0"]LOG]!><time="08:32:25.000+000" date="03-19-2014" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">
<![LOG[New ZTIDiskPartition : \\WIN81-REF\root\cimv2:Win32_DiskPartition.DeviceID="Disk #0, Partition #1" \\WIN81-REF\root\cimv2:Win32_LogicalDisk.DeviceID="C:"]LOG]!><time="08:32:25.000+000" date="03-19-2014" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">
<![LOG[New ZTIDisk : \\WIN81-REF\root\cimv2:Win32_DiskDrive.DeviceID="\\\\.\\PHYSICALDRIVE0"]LOG]!><time="08:32:25.000+000" date="03-19-2014" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">
<![LOG[ZTIUtility!GetAllFixedDrives = E: C:]LOG]!><time="08:32:25.000+000" date="03-19-2014" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">
<![LOG[No task sequence is in progress.]LOG]!><time="08:32:25.000+000" date="03-19-2014" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">
<![LOG[Not running within WinPE.]LOG]!><time="08:32:25.000+000" date="03-19-2014" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">
<![LOG[DeploymentMethod = UNC]LOG]!><time="08:32:26.000+000" date="03-19-2014" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">
<![LOG[Validating connection to \\2012R2_TEST\CaptureShare$]LOG]!><time="08:32:26.000+000" date="03-19-2014" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">
<![LOG[Mapping server share: \\2012R2_TEST\CaptureShare$]LOG]!><time="08:32:26.000+000" date="03-19-2014" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">
<![LOG[Mapped Network UNC Path Z: = \\2012R2_TEST\CaptureShare$]LOG]!><time="08:32:26.000+000" date="03-19-2014" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">
<![LOG[Found Existing UNC Path Z: = \\2012R2_TEST\CaptureShare$]LOG]!><time="08:32:26.000+000" date="03-19-2014" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">
<![LOG[Successfully established connection using supplied credentials.]LOG]!><time="08:32:26.000+000" date="03-19-2014" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">
<![LOG[DeployRoot = \\2012R2_TEST\CaptureShare$]LOG]!><time="08:32:26.000+000" date="03-19-2014" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">
<![LOG[Property DeployDrive is now = Z:]LOG]!><time="08:32:26.000+000" date="03-19-2014" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">
<![LOG[DeployDrive = Z:]LOG]!><time="08:32:26.000+000" date="03-19-2014" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">
<![LOG[Phase = CUSTOM]LOG]!><time="08:32:26.000+000" date="03-19-2014" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">
<![LOG[Validating connection to \\2012R2_TEST\CaptureShare$]LOG]!><time="08:32:26.000+000" date="03-19-2014" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">
<![LOG[Mapping server share: \\2012R2_TEST\CaptureShare$]LOG]!><time="08:32:26.000+000" date="03-19-2014" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">
<![LOG[Found Existing UNC Path Z: = \\2012R2_TEST\CaptureShare$]LOG]!><time="08:32:26.000+000" date="03-19-2014" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">
<![LOG[Found Existing UNC Path Z: = \\2012R2_TEST\CaptureShare$]LOG]!><time="08:32:26.000+000" date="03-19-2014" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">
<![LOG[Successfully established connection using supplied credentials.]LOG]!><time="08:32:26.000+000" date="03-19-2014" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">
<![LOG[Property DeployDrive is now = Z:]LOG]!><time="08:32:26.000+000" date="03-19-2014" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">
<![LOG[DeployDrive = Z:]LOG]!><time="08:32:26.000+000" date="03-19-2014" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">
<![LOG[Validating connection to \\2012R2_TEST\CaptureShare$]LOG]!><time="08:32:26.000+000" date="03-19-2014" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">
<![LOG[Mapping server share: \\2012R2_TEST\CaptureShare$]LOG]!><time="08:32:26.000+000" date="03-19-2014" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">
<![LOG[Found Existing UNC Path Z: = \\2012R2_TEST\CaptureShare$]LOG]!><time="08:32:27.000+000" date="03-19-2014" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">
<![LOG[Found Existing UNC Path Z: = \\2012R2_TEST\CaptureShare$]LOG]!><time="08:32:27.000+000" date="03-19-2014" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">
<![LOG[Successfully established connection using supplied credentials.]LOG]!><time="08:32:27.000+000" date="03-19-2014" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">
<![LOG[DeploymentType = CUSTOM]LOG]!><time="08:32:27.000+000" date="03-19-2014" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">
<![LOG[ResourceRoot = \\2012R2_TEST\CaptureShare$]LOG]!><time="08:32:27.000+000" date="03-19-2014" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">
<![LOG[Property ResourceDrive is now = Z:]LOG]!><time="08:32:27.000+000" date="03-19-2014" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">
<![LOG[ResourceDrive = Z:]LOG]!><time="08:32:27.000+000" date="03-19-2014" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">
<![LOG[SMS Task Sequencer already found on C:\MININT\Tools\X64]LOG]!><time="08:32:27.000+000" date="03-19-2014" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">Thanks for your reply.
The pc is not in the domain when i run litetouch. It was joined after install, then i run some local gpos/scripts against it, install all of the shared printers from servers, then i put it back in a workgroup, login as the local administrator, delete the
domain profiles and guids in the registry, briefly connected back to a domain server [not with a mapped drive] to copy a couple of files, rebooted into the local admin account an ran litetouch.
After running litetouch.wsf the first time in the windows 8.1 pro vm [no changes, but manual connection] it rebooted without sysprepping or taking an image
I deleted the task sequence and created another one with "sysprep and capture" as the sequence. i made no changes to the task sequence. did all of the above, ran litetouch, and it just reboots. sysprep does not run and windows pe does not load.
if i run sysprep and boot into audit mode [as a test, since my windows 7 vm snapshot was in audit mode when it runs litetouch.wsf], then run litetouch, sysprep works, then it DID capture an image, but after that image was capture and the VM rebooted, i got
this error when loading windows 8
"windows could not complete the installation. To install windows on this computer, restart the installation" and if i hit ok it will reboot and error out again.
Haven't had any issues with that VM until now.
I reverted to my snapshot and just ran sysprep oobe w/ generalize to see how it would react
it failed, setuperr.log shows SYSPRP failed to remove apps for the current user. some searching gives me information on that and makes me think its related to adding/deleting user profiles? i dont actually use or update the apps at all, i have a deploy task
that removed most of them and customizes the start screen and those seem to work without issue.
found this as my reference: http://support.microsoft.com/kb/2769827/en-nz
Sysprep has an additional provider that is added in Windows 8 to clean appx packages and generalize the image. The provider will only work if the Appx package is a per-user package or an all-user provisioned package.
and
Resolution
The correct way of removing the package is to remove the package for the user running sysprep and also remove the provisioning. This can be done using the following Powershell cmdlets:
Import-Module Appx
Import-Module Dism
Get-AppxPackage -AllUser | Where PublisherId -eq 8wekyb3d8bbwe | Format-List -Property PackageFullName,PackageUserInformation
if i run that i get a lot of
[unknown user]: installed
Do I just need to revise my process and start from scratch? or at least just never actually join the domain and user other profiles? thats a convenience thing so its not a big deal, really.
I have an image made in a similar way that works, but doesnt have quite all the updates/changes i wanted. It captured [at the time] fine and installs without issue
Heres an overview of what I do [i am open to some revisions on this]
-deploy windows 8 base install from MDT
-join domain, login with service account [just makes getting to some things easier]
-install office 2010 pro plus w/ sp2 [i do understand that these can be set as an MDT app but the install takes a while and i dont like waiting on it if i dont have to]
-install windows updates [no WSUs server currently, on my future to-do list, not my decision right now and i do understand the benefits of having one]
-connect to servers and install all network printers [we have so many that i dont want to wait on the drivers when we do a big roll out soon]
-install oracle software [i can get it to automate in windows 7, not 8, so i dont want to manually deal with it post-install]
-install adobe reader/java [i do understand that these can be set as an MDT app]
-leave domain, reboot, login as local admin
-clean domain profiles/registry guids
-make some local gpoedits [we dont have 8.1 enterprise and just want the start screen locked down]
-install our AV network agent
-lite touch.
any advice is appreciated -
Issue with Capture Task Option showing correctly in MDT 2013
I am aware that having the variable of DomainJoin will prevent the capture dialog from appearing when running the task. The problem is, even when the options are greyed out due to the domain settings not being applied from a different setting in the workflow
it still breaks the task.
E.G.
I am using the database, and have my workflow as such:
[Settings]
Priority=Model, TaskSequenceID, LSettings, CRoles, RApps, LApps, MMApps, MMSettings, Default
Properties=MyCustomProperty
DataBase:
Location Settings: Overall settings for Domain join, wizard skips, etc info per gateway
Role Apps: Apps per role
Make/Model Apps: Apps specific to a piece of hardware
CustomSettings INI:
Model/Task Sequence/Default: I have tried to null out the DomainJoin settings with these variables by adding workgroup join by task ID, Model, etc and nothing seems to work. I've verified in other tasks
that these settings take place of what's in the DB, but the DB settings are still there, greyed out and causing an issue.
[X86SYSANDCAP]
JoinDomain=
JoinWorkgroup=WORKGROUP
[VMware Virtual Platform]
JoinDomain=
JoinWorkgroup=WORKGROUP
As shown below the model/TS specify the workgroup (1st pic is normal deploy, 2nd is cap) but the greyed out settings are still having an effect. Skip Capture is set to NO at each level, and when I remove the Domain from the DB it shows up correctly.
Not sure what to do besides removing the domain everytime I want to do a capture, which seems a bit unreasonable and I don;t want my T1s in the DB.I highly recommend to always use the standard Client task sequence for a build and capture. Much more reliable.
Check out these Resources, the info is also valid for Windows 7:
TechNet Docs - Create a Windows 8.1 Reference Image
http://technet.microsoft.com/en-us/library/dn744290.aspx
Virtual Hands-On-Labs - Creating a Windows 8.1 reference image
http://go.microsoft.com/?linkid=9845755
How to deploy Windows 8.1 (and Windows 7) with MDT 2013 - The Resources
http://www.deploymentresearch.com/Research/tabid/62/EntryId/186/How-to-deploy-Windows-8-1-and-Windows-7-with-MDT-2013-The-Resources.aspx
/ Johan
Regards / Johan Arwidmark Twitter: @jarwidmark Blog: http://www.deploymentresearch.com FB: www.facebook.com/deploymentresearch -
Unable to capture images since upgrade to MDT 2013
I recently updated MDT 2012 to MDT 2013 to enable support for Windows 8.1. Under MDT 2012 I was able to both capture and deploy images without an issue. Since upgrading to MDT 2013 I've had nothing but grief. When I launch my Sysprep and Capture task I am
returned with the following error:
Error creating an image of drive D:, rc=2ZTI ERROR -Non-zero return code by ZTIBackup, rc=2Litetouch deployment failed, Return Code = -2147467259 0x80004005
Failed to run the action: Create WIM.
The system cannot find the file specified. (Error: 00000002; Source: Windows)
The execution of the group (Capture Image) has failed and the execution has been aborted.
An action failed.
Operation aborted (Error: 80004004; Source Windows)
Failed to run the last action Create WIM. Execution of task sequence failed.
The system cannot find the file specified. (Error 00000002; Source: Windows)
Task Sequence Engine Failed! Code: enExecutionFail
Task sequence execution failed with error code 80004005
Error TAsk Sequence Manager failed to execute task sequence. Code 0x80004005
Once the machine boots up again I check the BDD log located in C:\Windows\Temp\DeploymentLogs and notice the following error:
<![LOG[ Console > Error opening file [\\rmh-vm-mdt2012\DeploymentShare$\Captures\WINDOWS.8.1.REF.wim].]LOG]!><time="10:23:55.000+000" date="02-06-2014" component="ZTIBackup" context="" type="1"
thread="" file="ZTIBackup">
<![LOG[ Console > Access is denied. ]LOG]!><time="10:23:55.000+000" date="02-06-2014" component="ZTIBackup" context="" type="1" thread="" file="ZTIBackup">
My issue appears to be a permissions problem. For troubleshooting purposes I've given Everyone full access to \DeploymentShare$ however the problem continues to persist.
I'm not sure where to go from here. Hoping someone can help.
Thanks.Additionally, ensure that the share itself is marked R/W access.
As a test, boot to WinPE and try to create a file, any file on the share.
However, Lordy86 may have the correct solution :^).
Keith Garner - keithga.wordpress.com -
Windows 7 MDT Offline Domain Join
In a scenario where a user does not have access to the corporate network, a mostly automated media-based refresh is implemented.
- Refresh laptops from Windows XP/Vista to Windows 7
- MDT task sequence, OS, drivers, apps, contained on a supplied DVD
- User needs only to select the task sequence from the Wizard menu, all else is automated
- Hardlink user state capture and migration
The problem exists with joining the offline computer to the corporate domain. If the domain join fails, the user can't log on to his/her restored domain user profile.
Does anyone have any experience or tips related to using the Win7/2008 djoin.exe utility with an automated MDT task sequence? I can't find much information on it, and it's new to me.
I gather that you have to join the object at the domain first, then extract the required metadata, and somehow inject this individual computer data (aka Base64 blob) in the 'Microsoft-Windows-UnattendJoin/Identification/Provisioning' section of the unattend.xml
... but how to do that with some type of variable? I'd like to avoid creating a customized DVD for every single computer in the field.
I'll keep searching, but if anyone has done this before please let me know your experiences.Appreciate the reply, but I've already read through that. I'm looking for information specific to MDT and suggestion on how to include the process in a [semi] automated task sequence in a media-based offline scenario.
A general idea would be to compile a text file of target computer names, run a script to execute djoin.exe against the list to provision all the computers, generating a base64 blob text file for each. Then, store that repository of files in the deployment
share so it is included on the MDT media. Call the file as a Run Command step using the computer name variable during the task sequence State Restore phase to execute the offline join. eg:
cmd.exe /c djoin.exe /requestODJ /loadfile %ScriptRoot%\Blobs\%OSDComputerName%.txt /windowspath %windir% /localos
In testing, provisioning an existing computer on the DC breaks any domain relationship because the computer account is reset by the /reuse parameter. The relationship can be fixed by running the /requestODJ command on the computer - essentially 'rejoining'
the machine to the domain - but it presents a problem for the time lapse between pre-staging computers and distributing the media. Since the users are all currently running XP or Vista, it doesn't make sense to explore a theory of re-using the same blob
data multiple times, such as immediately after provisioning and then again during the reimage.
I'm opening a call with MS support, but still interested to hear if anyone has used this utility with MDT at all. -
MDT 2013 supports build and capture win 7 SP1
Hi,
Just want to have a check if MDT 2013 supports Build and capture windows 7 as image (wim)?
I know it is supporting windows 7 as supported OS for deployment.
Regards,Yes it does:
http://technet.microsoft.com/en-US/windows/dn475741.aspx
Good luck! -
Hi,
Please see titlte. When I try to apply an CM captured WIM via an MDT task sequence, it starts, applies but stops after 15 minutes.
Logfile says it "cannot find the file specified".
Full error: "Installation of image 3 in package mypackage failed to complete. . The system cannot find the file specified. (Error: 80070002, Source: Windows).
Though the image IS there, redistributed it (if it wouldn't be there the task sequence would not start).
Please advise.
J
Update: could it be the fact I'm using an old (SCCM 2012) MDT wim? If I need to recreate the WIM boot image, where do I get the SCCM 2012 R2 boot wims?
Jan HoedtSee how to manually re-create your boot images
http://myitforum.com/myitforumwp/2013/08/01/how-to-create-configmgr-2012-boot-images-from-scratch/
http://www.niallbrady.com/2013/10/09/how-can-i-manually-add-winpe-5-boot-images-to-system-center-2012-configuration-manager-sp1-cu3/
Gerry Hampson | Blog:
www.gerryhampsoncm.blogspot.ie | LinkedIn:
Gerry Hampson | Twitter:
@gerryhampson -
Since upgrade to MDT 2013, can't capture Windows 7 image.
Hi fellas,
I use Virtual Box to create a 32- and 64-bit reference Windows 7 VM, which I then capture using an MDT Sysprep & Capture TS. This worked without a hitch using MDT 2012.
I recently upgraded to MDT 2013. Since then, after the VM syspreps and reboots, I get a boot manager error saying Windows failed to start. Status: 0xc0000260.
Not sure where to look for any logs. What I've done so far:
- Upgraded to latest version of Virtual Box (4.3.18)
- Rebuilt both VMs from scratch.
- Deleted and recreated the deployment share and Sysprep & Capture task sequences.
Stumped for the time being, although I could always just boot to my Win PE disc and manually capture with imagex. But c'mon.Thanks for your input, but this is indeed a configuration issue, and it makes sense.
Vbox VMs are configured according to the guest OS installed on them. For my Windows 7 x64 VM, it's configured of course to run as Windows 7 x64. In the MDT 2012 environment, the Windows PE version
was 3.0, which is based on Windows 7, and hence the VM could boot to it since it was configured for it.
But MDT 2013 uses PE 5.0, based on 8.1. The VM crashes or throws an error when trying to boot the PE 5.0 boot image. I went into the VM's settings and changed the Guest OS to 8.1 x64, and it booted successfully to Windows PE and captured the
image according to the Sysprep & Capture sequence.
Sorry for the wild goose chase fellas. This should've been the first thing I checked. -
Autologon fails after MDT domain join.
I have a Post OS Installation Task setup that I've added the
Recover form Domain step to. I use this TS just to join the PC to our domain. When I run the TS the PC does join our domain correctly but after the reboot it tells me that the username or password is incorrect. I'm presented
with a logon prompt and the username is set to ".\Administrator". I simply type in our default local admin password (not changing the username) and the PC logs in and the TS finishes successfully. What has me confused is I've checked the unattend.xml
file and the username and password is correct, although the username is entered as just "Administrator". I'm pretty sure that the ".\" just refers to the local computer instead of a domain so I don't see what the problem is. Any suggestions
on this one?'Define Target Computer
strComputer = "."
'Set object values
Set oArguments = WScript.Arguments.Named
Set oShell = CreateObject("WScript.Shell")
Set oWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\CIMV2")
'Define ASCII Characters
chrSpace = Chr(32)
chrSingleQuote = Chr(39)
chrDoubleQuote = Chr(34)
'Show Script Usage
If (oArguments.Exists("?")) And (WScript.Arguments.Count = "1") Then
WScript.Echo(WScript.ScriptName & chrSpace & "Usage:" & _
vbCrLf & vbCrLf & _
"Script Interpreter: [cscript.exe] or [wscript.exe]" & _
vbCrLf & vbCrLf & _
"Script Location:" & chrSpace & chrDoubleQuote & Replace(oShell.CurrentDirectory & "\" & WScript.ScriptName, "\\", "\") & chrDoubleQuote & _
vbCrLf & vbCrLf & _
"Optional Arguments:" & _
vbCrLf & vbCrLf & _
"[/JoinDomain]" & chrSpace & "And" & chrSpace & "[/Domain:" & chrDoubleQuote & "MyDomain.com" & chrDoubleQuote & "]" & _
vbCrLf & vbCrLf & _
"[/JoinWorkgroup]" & chrSpace & "And" & chrSpace & "[/WorkGroup:" & chrDoubleQuote & "MyWorkGroup" & chrDoubleQuote & "]" & _
vbCrLf & vbCrLf & _
"[/Rename]" & chrSpace & "And" & chrSpace & "[/Name:" & chrDoubleQuote & "MyDeviceName" & chrDoubleQuote & "]" & _
vbCrLf & vbCrLf & _
"[/SvcAcctDmn:" & chrDoubleQuote & "MyDomain" & chrDoubleQuote & "]" & _
vbCrLf & vbCrLf & _
"[/SvcAcct:" & chrDoubleQuote & "MyDomain\MySvcAcct" & chrDoubleQuote & "]" & _
vbCrLf & vbCrLf & _
"[/SvcAcctPw:" & chrDoubleQuote & "MySvcAcctPw" & chrDoubleQuote & "]" & _
vbCrLf & vbCrLf & _
"[/UnjoinDomain]" & _
vbCrLf & vbCrLf & _
"[/Restart]")
WScript.Quit
End If
'Define Required Arguments
argDomain = Trim(UCase(oArguments.Item("Domain")))
argWorkGroup = Trim(UCase(oArguments.Item("Workgroup")))
argSvcAcct = Trim(UCase(oArguments.Item("SvcAcct")))
argSvcAcctDmn = Trim(UCase(oArguments.Item("SvcAcctDmn")))
argSvcAcctPw = oArguments.Item("SvcAcctPw")
'Define Optional Arguments
If (oArguments.Exists("Name")) Then
argName = Left(oArguments.Item("Name"), 15)
argName = Trim(UCase(argName))
End If
'Define Variables
'Amount of seconds to wait "Change the first number only as WScript.Sleep method expects the value in milliseconds."
intSeconds = Int(15 * 1000)
'Gather Information From WMI
'Query #1 - Win32_BIOS
Set oBIOS = oWMI.ExecQuery("Select * From Win32_BIOS")
If (oBIOS.Count > 0) Then
For Each oItem In oBIOS
If Not IsNull(oItem.SerialNumber) Then
strSerialNumber = Left(oItem.SerialNumber, 15)
strSerialNumber = Trim(UCase(strSerialNumber))
End If
Next
End If
'Query #2 - Win32_OperatingSystem
Function RestartDevice
Set oWMI = GetObject("winmgmts:{(Shutdown)}//" & strComputer & "/root/cimv2")
Set oOperatingSystem = oWMI.ExecQuery("Select * From Win32_OperatingSystem")
If (oOperatingSystem.Count > 0) Then
For Each oItem In oOperatingSystem
If (oItem.Primary = True) Then
RestartDevice = oItem.Reboot()
End If
Next
End If
End Function
'Query #3 - Win32_ComputerSystem
Set oComputerSystem = oWMI.ExecQuery("Select * From Win32_ComputerSystem")
'Process the collection only if the query has results
If (oComputerSystem.Count > 0) Then
'Begin a for loop on the collection
For Each oItem In oComputerSystem
'Determine the value of the "DNSHostName" property
If Not IsNull(oItem.DNSHostName) And Not IsNull(oItem.Domain) Then
strDNSHostName = Trim(UCase(oItem.DNSHostName & "." & oItem.Domain))
End If
'Determine the value of the "Domain" property
If Not IsNull(oItem.Domain) Then
strDomain = Trim(UCase(oItem.Domain))
End If
'Determine the value of the "PartOfDomain" property
If Not IsNull(oItem.PartOfDomain) Then
strPartOfDomain = Trim(UCase(oItem.PartOfDomain))
End If
'Determine the value of the "Name" property
If Not IsNull(oItem.Name) Then
strComputerName = Trim(UCase(oItem.Name))
End If
'Determine the value of the "Username" property
If Not IsNull(oItem.UserName) Then
strDomainUserName = Trim(oItem.UserName)
If InStr(oItem.UserName, "\") > 0 Then
strUserName = Mid(oItem.UserName, InStr(oItem.UserName, "\") + 1)
strUserName = Trim(strUserName)
End If
End If
'Determine the value of the "Workgroup" property
If Not IsNull(oItem.Workgroup) And (oItem.PartOfDomain = False) Then
strWorkgroup = Trim(UCase(oItem.Workgroup))
End If
'Rename the device using the name specified in ArgName (Specified name will be truncated to 15 characters for computer name limit)
If (oArguments.Exists("Rename")) And (oArguments.Exists("Name")) And Not (ArgName = "") Then
RenameDevice = oItem.Rename(argName, argSvcAcct, argSvcAcctPw)
WScript.Sleep(intSeconds)
If (RenameDevice = "0") Then
WScript.Echo(chrDoubleQuote & strComputerName & chrDoubleQuote & chrSpace & "was successfully renamed to" & chrSpace & chrDoubleQuote & argName & chrDoubleQuote & "." & vbCrLf)
Else
WScript.Echo(chrDoubleQuote & strComputerName & chrDoubleQuote & chrSpace & "was not renamed successfully." & chrSpace & "(" & RenameDevice & ")" & "." & vbCrLf)
WScript.Quit(RenameDevice)
End If
'Rename the device using its serial number truncated to 15 characters for computer name limit
ElseIf (oArguments.Exists("Rename")) And Not (oArguments.Exists("Name")) Then
RenameDevice = oItem.Rename(strSerialNumber, argSvcAcct, argSvcAcctPw)
WScript.Sleep(intSeconds)
If (RenameDevice = "0") Then
WScript.Echo(chrDoubleQuote & strComputerName & chrDoubleQuote & chrSpace & "was successfully renamed to" & chrSpace & chrDoubleQuote & strSerialNumber & chrDoubleQuote & "." & vbCrLf)
Else
WScript.Echo(chrDoubleQuote & strComputerName & chrDoubleQuote & chrSpace & "was not renamed successfully." & chrSpace & "(" & RenameDevice & ")" & "." & vbCrLf)
WScript.Quit(RenameDevice)
End If
End If
'Remove device from the Domain
If (strPartOfDomain = "TRUE") And (oArguments.Exists("UnjoinDomain")) Then
UnjoinDomain = oItem.UnjoinDomainOrWorkgroup(argSvcAcctPw, argSvcAcct)
WScript.Sleep(intSeconds)
If (UnjoinDomain = "0") Then
WScript.Echo(chrDoubleQuote & strComputerName & chrDoubleQuote & chrSpace & "was successfully removed from the" & chrSpace & chrDoubleQuote & strDomain & chrDoubleQuote & chrSpace & "domain." & vbCrLf)
Else
WScript.Echo(chrDoubleQuote & strComputerName & chrDoubleQuote & chrSpace & "was unsuccessful" & chrSpace & "(" & UnjoinDomain & ")" & chrSpace & "in being removed from the" & chrSpace & chrDoubleQuote & strDomain & chrDoubleQuote & chrSpace & "domain." & vbCrLf)
WScript.Quit(UnjoinDomain)
End If
End If
'Join the specified Domain
If (strPartOfDomain = "FALSE") And (oArguments.Exists("JoinDomain")) And (oArguments.Exists("Domain")) And Not (argDomain = "") And Not (oArguments.Exists("JoinWorkGroup")) Then
Const Join_Domain = 1
Const Acct_Create = 2
Const Win9x_Upgrade = 16
Const Domain_Join_If_Joined = 32
Const Join_Unsecure = 64
Const Machine_Password_Passed = 128
Const Deferred_Spn_Set = 256
Const Install_Invocation = 262144
fJoinOptions = Join_Domain + Acct_Create
JoinDomain = oItem.JoinDomainOrWorkgroup(argDomain, argSvcAcctPw, argSvcAcct, Null, fJoinOptions)
WScript.Sleep(intSeconds)
If (JoinDomain = "0") Then
WScript.Echo(chrDoubleQuote & strComputerName & chrDoubleQuote & chrSpace & "was successful in joining the" & chrSpace & argDomain & chrSpace & "domain." & vbCrLf)
Else
WScript.Echo(chrDoubleQuote & strComputerName & chrDoubleQuote & chrSpace & "was unsuccessful" & chrSpace & "(" & JoinDomain & ")" & chrSpace & "in joining the" & chrSpace & chrDoubleQuote & argDomain & chrDoubleQuote & chrSpace & "domain." & vbCrLf)
WScript.Quit(JoinDomain)
End If
End If
'Join the specified Workgroup
If (strPartOfDomain = "FALSE") And (oArguments.Exists("JoinWorkGroup")) And (oArguments.Exists("WorkGroup")) And Not (argWorkGroup = "") And Not (oArguments.Exists("JoinDomain")) Then
JoinWorkGroup = oItem.JoinDomainOrWorkgroup(argWorkgroup, argSvcAcctPw, argSvcAcct, Null, 0)
WScript.Sleep(intSeconds)
If (JoinWorkGroup = "0") Then
WScript.Echo(chrDoubleQuote & strComputerName & chrDoubleQuote & chrSpace & "was successful in joining the" & chrSpace & argWorkgroup & chrSpace & "workgroup." & vbCrLf)
Else
WScript.Echo(chrDoubleQuote & strComputerName & chrDoubleQuote & chrSpace & "was unsuccessful" & chrSpace & "(" & JoinWorkgroup & ")" & chrSpace & "in joining the" & chrSpace & chrDoubleQuote & argWorkgroup & chrDoubleQuote & chrSpace & "workgroup." & vbCrLf)
WScript.Quit(JoinWorkGroup)
End If
End If
Next
End If
'Provide information about the device
If (oArguments.Exists("Info")) Then
If Not (strDNSHostName = "") Then
WScript.Echo("FDQN:" & chrSpace & strDNSHostName & vbCrLf)
End If
If Not (strDomain = "") Then
WScript.Echo("Domain:" & chrSpace & strDomain & vbCrLf)
End If
If Not (strPartOfDomain = "") Then
WScript.Echo("Currently joined to a domain:" & chrSpace & strPartOfDomain & vbCrLf)
End If
If Not (strComputerName = "") Then
WScript.Echo("Computer name:" & chrSpace & strComputerName & vbCrLf)
End If
If Not (strDomainUserName = "") Then
WScript.Echo("Current Username w/ Domain:" & chrSpace & strDOmainUserName & vbCrLf)
End If
If Not (strUserName = "") Then
WScript.Echo("Current Username w/o Domain:" & chrSpace & strUserName & vbCrLf)
End If
If Not (strWorkgroup = "") And (strPartOfDomain = "FALSE") Then
WScript.Echo("Workgroup:" & chrSpace & strWorkgroup & vbCrLf)
End If
End If
'Optionally Restart Device
If (oArguments.Exists("Restart")) Then
Call RestartDevice
End If
If you use this script at the end of your task sequence, it will complete the domain join. Working and tested successfully.
1. You need to remove Domain Information from Unattend.xml files for MDT so that it cannot write the variables to these sections and join the computer to the domain too early.
2. Create a Task Sequence Group
3. Create a "Run Command Line" Task Sequence Step
3a. Name the step as the following
Join "%OSDDomainName%" Domain as "%OSDJoinAccount%"
3b. Run the following command
cscript.exe "%SCRIPTROOT%\Custom-ZTIDomainJoin.vbs" /JoinDomain /Domain:"%OSDDomainName%"
/SvcAcct:"%OSDJoinAccount%" /SvcAcctPw:"%OSDJoinPassword%"
3c. Place the following conditions on it
If All Conditions Are True
Task Sequence Variable HostName equals %SerialNumber%
Task Sequence Variable IsVM equals False
This script can rename, join workgroup, join domain, unjoin domain, and restart the device all based on arguments
@Microsoft Import this into MDT somehow because the post DomainJoin functionality does not appear to work for my environment, but of course, this could be my environment, but hopefully this helps somebody! -
MDT 2013, wim, invalid
don't know where to start really, here goes
we have ben using sccm 2012 r2 but had no end of issues most of all the 02 error when trying to image just errors out randomly with no reason nothing in solawinds monitoring etc.
So I have decided to try MDT 2013 then push the sccm client out as a application....this is where ive started to run into issues MDT side, the images I have made in sccm wim files MDT doesn't like when I go to add them into WDS I get the following error
"The file does not contain a valid install image"
I have made sure the location where the image are currently and the destination has sufficient right to allow adding images....I can confirm the images do work they have worked in sccm on deployment when this hasn't been giving me the run around bombing
out.
so fellow IT people do you have any advise for me or is it something to do with the images set to sccm?I was adding them to wds then importing them into mdt but even when I try to add them as a custom image in mdt it just copies them to the deployment share but still doesn't show up in mdt itself....
the 02 error is
http://myitforum.com/myitforumwp/2011/10/27/sccm-client-install-error-codes/
2 The system cannot find the file specified"
the issue with this is sometimes it works sometimes it doesn't......as the pc fails as its imaging I cant get a log off it to see what the message was other than the displayed on when it bombs out, ive looked in the deployment node on sccm when doing this
but doesn't show up as in progress until it get to applying the image.
I have made sure the right network account has access, but the fact that sometimes it does image shows that its not permissions.....just so frustrating hence why I wanted to go back to the simpler option of mdt
over to you guys :-)
Maybe you are looking for
-
How to change an inactive email address in icloud?
I just bought a new iphone 6 plus however during start up, I entered an old/inactive email address in icloud and during creation of apple id. I manage to restore to factory settings and get started again using new email address and apple id. However,
-
Photoshop Elements 10 option-click issue
New install of Lion Server on a Mac Mini. It appears that the option-click key stroke to select a area of a photo to clone is not working. I get the error below on Elemens 9 and 10. Could not use the clone stamp tool because the area to clone has n
-
How to secure word docs, access only via username and password?
I have created a CMS (Content Management System) where residents can access publicly made available word documents uploaded via the web by authourised members of a residents association. (no password needed) password only needed to upload I have also
-
iOS 7....when I want to use the dial pad my phone freezes up then won't allow me to go back to recent calls, I have to exit out of it four to five times before it works super slow...and same with e mail at times. Why is this?? And also with the cal
-
I am looking for guidance to be able to set up subcontract PO- Is there detailed documentation available in SAP? Do I need to set up articles with BOM to be able to set up subcontract PO? What config requirements do I need to consider? Need help. Tha