Using the MDT 2012 Update 1 database to configure your deployment

I like to use the MDT 2012 database to store data to configure my servers, a lot of data can be hold in this database to customize and automate your deployment with MDT 2012 and with each release Microsoft adds more possible features and functions to this database. With the transition from MDT 2010 to 2012 Microsoft added a couple of things:

  • MDT 2012 Update 1
    • Removed obsolete properties for SMS 2003: OSDINSTALLSILENT, OSDINSTALLPACKAGE, OSDINSTALLPROGRAM, OSDNEWMACHINENAME, OSDMP, OSDSITECODE.
    • Removed obsolete properties for Lite Touch: BuildID, SkipDeploymentType, SkipBuild, SkipBitLockerDetails, SkipDestinationDisk.

If you have an existing database, no properties will be removed; the properties marked as “removed” above just don’t get created in new databases.

If you have an existing database, the properties marked as “added” above will automatically be added to your existing database.

Any customizations that you might have made to your database should be preserved.

source: http://blogs.technet.com/b/mniehaus/archive/2012/09/09/database-changes-in-mdt-2012-and-mdt-2012-update-1.aspx
 

Maik Koster keeps track of MDT database changes that are made on the MDT Web Front End  Codeplex page and when looking at the options that are available  I’m using the following attributes:

 

Machine specific:

  • OSDComputerName
  • OSDAdapter0MacAddress
  • OSDAdapter0IPAddressList
  • OSDAdapter0DNSServerList
  • OSDAdapter0SubnetMask
  • OSDAdapter0Gateways

General settings:

  • OSDDiskIndex=’0′
  • OSDPartitions=’1′
  • DoNotCreateExtraPartition=’False’
  • OSDPartitions0TYPE=’Primary’
  • OSDPartitions0FILESYSTEM=’NTFS’
  • OSDPartitions0BOOTABLE=’True’
  • OSDPartitions0QUICKFORMAT=’True’
  • OSDPartitions0VOLUMENAME=’Windows’
  • OSDPartitions0SIZE=’100′
  • OSDPartitions0SIZEUNITS=’%’
  • OSDPartitions0VOLUMELETTERVARIABLE=’C’

This is stored in the MDT Database:

mdt020

Example db configuration

 

During the task sequence I install the RES Automation Manager and with RES AM I do the rest of the configuration (domain join, diskpart etc etc) but I need to configure MDT to use this data from the database during the deployment. So there are a couple of things I need to configure, first of all the customsettings.ini:

 

[Settings]
Priority=CApps, CRoles, RSettings, RApps, CSettings, TaskSequenceID, Default

[CSettings]
SQLServer=SERVERNAME
Database=DBNAME
Netlib=DBNMPNTW
SQLShare=Deploymentshare$
Table=ComputerSettings
Parameters=UUID, AssetTag, SerialNumber, MacAddress
ParameterCondition=OR

[CApps]
SQLServer=SERVERNAME
Database=DBNAME
Netlib=DBNMPNTW
SQLShare=Deploymentshare$
Table=ComputerApplications
Parameters=UUID, AssetTag, SerialNumber, MacAddress
ParameterCondition=OR
Order=Sequence

[CRoles]

SQLServer=SERVERNAME
Database=DBNAME
Netlib=DBNMPNTW
SQLShare=Deploymentshare$
Table=ComputerRoles
Parameters=UUID, AssetTag, SerialNumber, MacAddress
ParameterCondition=OR

[RSettings]

SQLServer=SERVERNAME
Database=DBNAME
Netlib=DBNMPNTW
SQLShare=Deploymentshare$
Table=RoleSettings
Parameters=Role

[RApps]

SQLServer=SERVERNAME
Database=DBNAME
Netlib=DBNMPNTW
SQLShare=Deploymentshare$
Table=RoleApplications
Parameters=Role
Order=Sequence

So if you’re using Named pipes you can use this but when you’re using TCP/IP for SQL you can add the following details to each new section to validate the credentials for the connection string:

DBID=SERVICEACCOUNT
DBPWD=DBPASSWORDVALUE

I ran in to this problem a couple of days ago so I wrote Using the MDT database: “ZTI error opening SQL Connection. SQL server does not exist or access denied”.  I’m defining just one network adapter so I added the following task in my task sequence:

 

mdt022

 

Now the only thing left to do is to add a task in the task sequence that processes the customsettings.ini so that the values from the database attributes are applied to the local deployment:

mdt021

 

So when MDT is finished deploying I’ve got a server with a formatted C:\, which has the proper name and IP configuration and a RES Automation Manager agent. I’ve got RES Automation Manager configured with teams based on rules on which I do my advanced deployment with but that’s stuff for another blogpost.

 

The following two tabs change content below.

Kees Baggerman

Kees Baggerman is a Staff Solutions Architect for End User Computing at Nutanix. Kees has driven numerous Microsoft and Citrix, and RES infrastructures functional/technical designs, migrations, implementations engagements over the years.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.