Table of Contents
CustomSettings.ini (MDT 2010 Update 1)
Properties set in CustomSettings.ini that cannot be overwritten (first value wins) can be set below [Default] but will then apply to all task sequences on that deployment point.
Open Deploymentshare\Cripts\ZTIGather.xml to find out for which properties first value wins. JoinDomain/JoinWorkgroup is an example of a first value wins setting. If you define this below [Default] all task sequences will get these settings.
Restricting the available Task Sequences by user
- Within DeploymentWorkbench go to Deployment Shares\<YourDeploymentshare>\Task Sequences.
- Organize the available task sequences into folders. Task sequences that aren't in a folder can't be restricted.
- Within DeploymentWorkbench go to Deployment Shares\<YourDeploymentshare>\Advanced Configuration\Selection Profiles.
- Create a new selection profile and at “Select the folders that should be included in this selection profile” select the folders below Task Sequences that should be visible for this profile.
- Edit CustomSettings.ini, add UserID to Priority before the value Deffault under [Settings]:
[Settings] Priority=UserID, Default
- Define a section in CustomSettings.ini in the form [userid]. Example: if the User ID is johns then the section should be [johns].
- Define the selection profile to be used for this user below this section. Example: to give johns access to the Helpdesk selection profile, add the following:
[johns] WizardSelectionProfile=Helpdesk
- Create a selection profile in which no folder has been selected and place a WizardSelectionProfile=nameofemptyselectionprofile below [Default] if you want noone other than the defined user IDs to have access to the task sequences.
Now when the user logs into the wizard in the WinPE environment, he/she sees only the task sequences that are available in the selection profile.
Source:Microsoft TechNet - MDT Forum - How to hide/show task sequence for specific users/user groups?
See also:
This Is Just A Blog - MDT 2010 New Feature – Selection Profile
The Deployment Bunny - Password or PIN Code “protect” MDT 2010 LiteTouch
Microsoft TechNet - MDT Forum - Hide a Task Sequence in Windows PE...
Michael Niehaus - Selection profiles with the Lite Touch deployment wizard
Setting values in CustomSettings.ini for a Task Sequence
- Edit CustomSettings.ini, add TaskSequenceID to Priority before the value Deffault under [Settings]:
[Settings] Priority=TaskSequenceID, Default
- Now find the Task Sequence ID for which you want to define settings. (Check the value in the ID column under Task Sequences in the DeploymentWorkbench.)
- Define a section in CustomSettings.ini in the form [tasksequenceid]. Example: if the Task Sequence ID is WIN7DESKTOP then the section should be [WIN7DESKTOP].
- Define the desired settings for this task sequence below this section. Example: to add the deployed system to the workgroup TEST add JoinWorkgroup=TEST below [WIN7DESKTOP].
- Within the DeploymentWorkbench open the properties of the task sequence.
- Select the Task Sequence tab.
- Select Gather local only below Initialization.
- On the right hand side change the setting from “Gather only local data (do not process rules)” to “Gather local data and process rules” and click on OK. You can then define CustomSettings.ini in the text box, but that isn't necessary.
Some caveats:
- For this to work, no JoinDomain (and JoinWorkgroup ?) settings should be set below [Default] in CustomSettings.ini.
- For JoinWorkgroup: If you don't define SkipDomainMembership=YES below [Default] in CustomSettings.ini, you'll notice that when you get to the domain join screen in the MDT deployment wizard, the defined workgroup value for the selected task sequence isn't displayed. This is by design. The gather local step doesn't get executed until after deployment starts, just before the formatting/partitioning of the destination system. That's why CustomSettings.ini settings for a specific tasksequence don't show up in the wizard screens and setting skip options for wizard screens (e.g. SkipTimeZone=YES) for a specific tasksequence has no effect. The values you set will be used regardless. If you do want to prepopulate certain wizard screens, use the instruction below “Getting ZTIGather.wsf to run after Task Sequence selection”.
Getting ZTIGather.wsf to run after Task Sequence selection
To get ZTIGather.wsf to run after selecting a task sequence, so MDT variables from CustomSettings.ini for that task sequence can be filled in for you in the following MDT wizard screens you can do the following:
- Open Deploymentshare\Scripts\DeployWiz_Validation.vbs in a text editor.
- Scroll down to the Validate task sequence List function (ValidateTSList).
- Add the following below Dim sTemplate:
Dim sCmd
- Below the line
oLogging.CreateEntry "DeploymentType = " & oProperties("DeploymentType"), LogTypeInfo
add
sCmd = "wscript.exe """ & oUtility.ScriptDir & "\ZTIGather.wsf""" oItem = oSHell.Run(sCmd, , true)
- Save the modified DeployWiz_Validation.vbs
Now when you run the MDT deployment you'll notice a long pause after selecting a task sequence and clicking on Next. This is due to ZTIGather.wsf being run at that time.
The wizard screens after the selection of the task sequence should now be filled with the values you defined for that specific task sequence.
Source: Microsoft TechNet - MDT Forum - TaskSequenceID not being set, trying to use for customsettings.ini sub sections
See also: Microsft TechNet - MDT Forum - Problem with subsections not used in my customsettings.ini file
See also:
Mike Morawski - ‘Dynamic’ Settings per Task Sequence in MDT 2010 through Coding
myITforum.com - Microsoft Deployment Toolkit 2010 – LTI – Making Applications Mandatory describes, among other things, how to make an application mandatory based on the selected task sequence.
Starting the MDT deployment wizards
From within the booted MDT WinPE image:
winpeshl.exe
From an installed computer:
\\server\deploymentshare$\Scripts\litetouch.vbs