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:
source: http://blogs.technet.com/b/mniehaus/archive/2012/09/09/database-changes-in-mdt-2012-and-mdt-2012-update-1.aspx
- 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.
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:
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:
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:
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.
Kees Baggerman
Latest posts by Kees Baggerman (see all)
- Nutanix AHV and Citrix MCS: Adding a persistent disk via Powershell – v2 - November 19, 2019
- Recovering a Protection Domain snapshot to a VM - September 13, 2019
- Checking power settings on VMs using powershell - September 11, 2019
- Updated: VM Reporting Script for Nutanix with Powershell - July 3, 2019
- Updated (again!): VM Reporting Script for Nutanix AHV/vSphere with Powershell - June 17, 2019