MDT 2010: Sample customsettings.ini for Fully Automated LTI Deployments

I get a lot of requests for articles on various deployment techniques. One reader yesterday asked for an example of a customsettings.ini file.

samburattoSam said:

Hey, Thanks for the Blog. Alot of helpfull stuff.
Can you show us an example of a completed\demo customsettings.ini? Cheers

I certainly can,  Sam!

I was going through my backups when I remembered that there were a few samples already in the built-in help file. The samples are designed for each of the various deployment scenarios REFRESH, REPLACE and NEW COMPUTER respectively.

The samples given are fully automated and I’ve highlighted in bold the wizard skip commands. In the upgrade customsettings.ini example the SkipWizard property is used eliminating the need for all the other panes. I’ve posted all 3 customsettings.ini samples below.

Fully Automated LTI Deployment for a Refresh Computer Scenario

[Settings]
Priority=Default
Properties=MyCustomProperty

[Default]
OSInstall=Y
ScanStateArgs=/v:5 /o /c
LoadStateArgs=/v:5 /c /lac /lae

SkipAppsOnUpgrade=YES
SkipCapture=YES
SkipAdminPassword=YES
SkipProductKey=YES

SkipDeploymentType=YES 
DeploymentType=REFRESH

SkipDomainMembership=YES
JoinDomain=DomainName
DomainAdmin=Administrator
DomainAdminDomain=DomainName
DomainAdminPassword=a_secure_password

SkipUserData=YES
UserDataLocation=AUTO
UDShare=\\Servername\Sharename\Directory
UDDir=%ComputerName%

SkipComputerBackup=YES
ComputerBackuplocation=AUTO
BackupShare=\\Servername\Backupsharename
BackupDir=%ComputerName%

SkipTaskSequence=YES
TaskSequenceID=Enterprise

SkipComputerName=YES
OSDComputerName=%ComputerName%

SkipPackageDisplay=YES
LanguagePacks001={3af4e3ce-8122-41a2-9cf9-892145521660}
LanguagePacks002={84fc70d4-db4b-40dc-a660-d546a50bf226}

SkipLocaleSelection=YES
UILanguage=en-GB
UserLocale=en-GB
KeyboardLocale=0809:00000809

SkipTimeZone=YES
TimeZoneName=GMT Standard Time

SkipApplications=YES
Applications001={a26c6358-8db9-4615-90ff-d4511dc2feff}
Applications002={7e9d10a0-42ef-4a0a-9ee2-90eb2f4e4b98}

UserID=Administrator
UserDomain=DomainName
UserPassword=Passw0rd

SkipBitLocker=YES
SkipSummary=YES
Powerusers001=DomainName\ScriptimusPrime

Fully Automated LTI Deployment for an Upgrade Computer Scenario

[Settings]
Priority=Default
Properties=MyCustomProperty

[Default]
OSInstall=Y
ScanStateArgs=/v:5 /o /c
LoadStateArgs=/v:5 /c /lac /lae

SkipWizard=YES
DeploymentType=UPGRADE
TaskSequenceID=Enterprise
OSDComputerName=%ComputerName%

LanguagePacks001={3af4e3ce-8122-41a2-9cf9-892145521660}
LanguagePacks002={84fc70d4-db4b-40dc-a660-d546a50bf226}

UILanguage=en-GB
UserLocale=en-GB
KeyboardLocale=0809:00000809
TimeZoneName=GMT Standard Time

Applications001={a26c6358-8db9-4615-90ff-d4511dc2feff}
Applications002={7e9d10a0-42ef-4a0a-9ee2-90eb2f4e4b98}

UserID=Administrator
UserDomain=DomainName
UserPassword=a_secure_password

Powerusers001=DomainName\ScriptimusPrime

Fully Automated LTI Deployment for a New Computer Scenario

[Settings]
Priority=Default
Properties=MyCustomProperty

[Default]
OSInstall=Y
ScanStateArgs=/v:5 /o /c
LoadStateArgs=/v:5 /c /lac /lae

SkipAppsOnUpgrade=YES

SkipCapture=YES
ComputerBackupLocation=\\ServerName\Backup$\
BackupFile=MyCustomImage.wim

SkipAdminPassword=YES
SkipProductKey=YES
SkipDeploymentType=YES

SkipDomainMembership=YES
JoinDomain=DomainName
DomainAdmin=Administrator
DomainAdminDomain=DomainName
DomainAdminPassword=a_secure_password

SkipUserData=YES
UserDataLocation=\\ServerName\Sharename\Directory\usmtdata

SkipTaskSequence=YES
TaskSequenceID=Enterprise

SkipComputerName=YES
OSDComputerName=%SerialNumber%

SkipPackageDisplay=YES
LanguagePacks001={3af4e3ce-8122-41a2-9cf9-892145521660}
LanguagePacks002={84fc70d4-db4b-40dc-a660-d546a50bf226}

SkipLocaleSelection=YES
UILanguage=en-GB
UserLocale=en-GB
KeyboardLocale=0809:00000809

SkipTimeZone=YES
TimeZoneName=GMT Standard Time

SkipApplications=YES
Applications001={a26c6358-8db9-4615-90ff-d4511dc2feff}
Applications002={7e9d10a0-42ef-4a0a-9ee2-90eb2f4e4b98}

SkipBitLocker=YES

SkipSummary=YES
Powerusers001=DomainName\ScriptimusPrime
CaptureGroups=YES
SLShare=\\ServerName\Sharename\Logs
Home_page=https://scriptimus.wordpress.com

About Andrew Barnes

A Scripting and Deployment Specialist.
This entry was posted in Deployment, MDT 2010 and tagged , , , , . Bookmark the permalink.

32 Responses to MDT 2010: Sample customsettings.ini for Fully Automated LTI Deployments

  1. Michael Tran says:

    Andrew,
    Thanks for sharing this!! – it has certainly helped me with automating deployment…

    Michael

    Like

  2. Chad says:

    Andrew, are the CustomSettings.ini values and properties the same for Windows 7 as they are for Windows XP? For example, if I use BackupFile=MYWIM.wim and it works for Windows XP, will that also work for Windows 7, or are there some values that don’t work the same between the two OSs?

    I had all of the CustomSettings.ini values and properties to automate a Windows XP deployment, but when using them for Windows 7, I appear to get prompted for some property values despite my CustomSettings.ini entries.

    In Windows XP I put this and it worked:

    SkipCapture=NO

    DoCapture=YES

    ComputerBackupLocation=\\SERVERNAME\SHARE\PATH\MDT2010\Captures

    BackupFile=Win7ProSP1x64.wim

    That doesn’t appear to work for a Windows 7 deployment. It prompts me with the Specify whether to capture an image wizard window asking me for:
    To capture the image or not
    the location
    The file name

    As if I didn’t have anything in the CustomSettings.ini to begin with.

    Thanks.

    Like

  3. Chad says:

    JUST after I posted above, I determined what I was doing incorrectly. I was thinking SkipCapture=YES meant don’t do the capture routine, instead of what it really means: don’t prompt me with the GUI and take my supplied values, so I had it set to NO instead of YES. Setting it to YES solved my problem.

    Thanks.

    Liked by 1 person

  4. Stone says:

    How about one for a capture? Need to do a core server capture.

    Like

  5. Zak says:

    Andrew-
    Excellent post. What I want to know is do you need to configure the MDT DB in order to use the CS.ini file and can you use the CS.ini/gather action in a non MDT-integrated TS? So to clarify a little bit, I’ve integrated MDT into SCCM already and created an MDT TS and in the process created a CS.ini package. However when I tried to use that TS to deploy the OS it failed on some models. So I went back and created a regualar TS (older version) without all the MDT scripts included. Can I still use the gather action (CS.ini) in the non-mdt TS and if so where would it go?

    Thanks,

    Zak

    Like

    • Hi Zak,

      The MDT Database is a GUI alternative for the customsettings.ini – it’s one or the other. As for the gather, I’ve never tried to split the TS scripts up, not sure that would be a good idea.

      I suggest checking through the logs and finding out why those particular models are failing. Might just be missing drivers.

      /Andrew

      Like

  6. Enrike says:

    I have a problem with MDT 2012, as I want to upgrade to Windows XP SP3 x86 x64 Windows 8, but with esenario Refresh, but to capture the user reach me the following error:

    FAILURE (9704):USMT 4 cannot be used with destination OS 6.2.9200.16384
    LiteTouch Deployment failed, Return Code = -2147467259 0×80004005
    Failed to run the action: Capture User State.
    Unknown error (Error: 000025E8; Source: Unknown)

    Like

  7. Hello Andrew, this post is awesome. Thank you.

    Is there a way to create conditional rules? For example, prompt the user imaging the machine to select either New or Upgrade Deployment. Base on the choice selected, the Image would decide weather to do a data backup.

    -David

    Like

  8. David Bloom says:

    Andrew,

    We have a couple thousand XP machines that we need to migrate to Windows 7, but we have a very diverse environment, with multiple domains, admin groups, etc… Currently, our techs are used to a highly customize able build process. Is there any way to use a unique customsettings.ini file for each migration?

    That way each machine can join a different domain, have a different computer name, etc…

    I can write the tool to generate a customsettings.ini file, but I don’t know how to tell each unique REFRESH deployment to use that file. It seems to be designed so that you use one customsettings.ini file for all deployments.

    I hope that made sense, thank you!

    Like

    • Hi David,

      Take a look at the ‘Gather local only’ task sequence step. There’s a button that says ‘Gather local data and process rules’. You can select a custom rules file that you place in your control folder. This rules file takes the same format as a customsettings.ini file. You can put in as much or as little as you want.

      For a working example of this download my Testlab Hydration Kit from codeplex. I use different settings for each server.

      /Andrew

      Like

  9. David Rutgersson says:

    Thanks for your blogging and your time helping noobs like myself understand cool stuff like this, automation is the future, and its what Im aming at Learning all i can about. I had a problem with you script that refreshes the computert though. IM not totally clear what tasksequence template im suposed to use with it. Also im not sure if this is initiated over the LAN (F12) or by clicking a script inside the operatingsystem to be refreshed. Thank you again for a great blog!

    /David

    Like

  10. DA says:

    Hey Scriptimus Prime, I’m trying to capture and restore my local user setting to my Local C-Drive. But After the MDT 2012 finishes the process. I get the following Error:

    ZTI ERROR – Non-zero return code from Loadstate, RC = 11

    Moving state store directory C:\MININT\StateStore to %WINDDIR%\StateStore so that it does not get deleted.

    ZTI ERROR – Non-zero return code by ZTIUserState, rc = 11

    Litetouch deployment failed, Return code = -2147467259 0x80004005

    Can you please help?

    Like

  11. Test says:

    I also get this

    “Hey Scriptimus Prime, I’m trying to capture and restore my local user setting to my Local C-Drive. But After the MDT 2012 finishes the process. I get the following Error:

    ZTI ERROR – Non-zero return code from Loadstate, RC = 11

    Moving state store directory C:\MININT\StateStore to %WINDDIR%\StateStore so that it does not get deleted.

    ZTI ERROR – Non-zero return code by ZTIUserState, rc = 11

    Litetouch deployment failed, Return code = -2147467259 0×80004005

    Can you please help?

    Like

  12. lelon says:

    Hi,Andrew
    Please help me,how to “Upgrade”, if i use PXE, it shows the “NewComputer”,and if i run Litetouch.vbs ,it shows the “Refresh”, So please help me how to do it within existing OS, Thank you!

    Like

    • It all depends what OS you’re moving from. PXE boot is usually a clean install.

      You can only REFRESH XP to Windows 7.

      You can only upgrade XP to Vista
      or Vista to Windows 7
      or Windows 7 to Windows 8.

      Like

      • lelon says:

        Hello Andrew,
        You are right,my company have lots of Vista os,so i want to upgrade vista to Windows7.Of course,i also want to test how to upgrade win7 to win8, TKS

        Like

  13. Mike D says:

    Three questions.
    1. Is there a way to have all these scenarios in the customsettings.ini file and have only one TS and one .wim?
    2. I have a .wsf file that I can run on win7 desktop and it created a local account just fine. If i create a application and add the .wsf file and try to install it then it fails with code 193 which means its not a valid win32 app. How can I make this install as an app on the list? I tired making a .bat with copy the wsf file to c:\users\public\desktop then run it but that did not work with mdt. same bat file works fine via windows explorer.
    3. I have a scenario that sometimes i need to perform a new install of 7 on a laptop but yet have it join WORKGROUP and not Domain. Looking for a way to automate that. Using MDT2012 with WDS for Pxe. Thanks

    Like

  14. flyte says:

    Is there a way to modify the CustomSettings.ini or any of the vbs/wsf files of an existing lite touch deployment to skip/omit the repartition task? I do not want the disk wiped (as I am storing migration data there)

    I’ve tried setting the deploymentype to Refresh in the CustomSettings.ini, but that didn’t work.
    any ideas?

    Like

  15. Lady says:

    How do I create a 200GB partition on a 500GB harddrive?
    I would like to bitlocker the 200GB partition and leave the 300 as empty space.

    What can I use in CustomSettings.ini for this to be effective?

    Thank you

    Like

  16. Renfel says:

    Hi Andrew,

    I have a question in regards to copype.cmd command using windows 8 adk. I just recently installed ADK and make sure the Windows PE components is installed.

    When I issued the command “copype.cmd amd64 “, I get the error message (see below)

    copype.cmd’ is not recognized as an internal or external command,
    perable program or batch file.

    Please advise

    Like

Leave a comment