I guess some people would say that my attempt is rather silly but I was just curious in finding out the possibilities.
Recently I was investigating the possibility to use MDT to provide some sort of automation for deploying certain server workloads. My main focus is System Center so I decided to attempt to have an LTI of ConfigMgr 2012 SP1.
I am aware of Powershell Deployment Toolkit (PDT) which is developed by Microsoft.
More info about PDT is available at the following website:
http://gallery.technet.microsoft.com/PowerShell-Deployment-822d44c7
However, Microsoft claims that PDT can only be used for lab and test purposes so I decided to try to use MDT instead.
For the sake of my investigation, my deployment scenario has the following properties:
- OS: Windows Server 2012
- SQL: A local installation of SQL 2012 SP1 using a default instance
- ConfigMgr: one primary site using a single Primary Site Server
When using manual deployments, I take the following steps to install the site server:
- I use a Powershell cmdlet to install the required Roles & Features (available at my blog)
- I install SQL 2012 SP1
- I install Windows ADK 8
- I download the ConfigMgr updates
- I configure SQL for memory requirements
- I configure WSUS
- I install ConfigMgr 2012 SP1 site server
Investigating the LTI deployment gave me quite some challenges. I needed to investigate if each step could run using an unattended command.
Installing the Roles & Features was pretty easy, I added a sources path because .NET Framework 3.5 is included (something .NET Framework 3.5 needs).
For SQL 2012 SP1, I created a ConfigurationFile.ini file using a standard setup procedure, modified it and added it to my setup using the following command: setup.exe /ConfigurationFile=ConfigurationFile.INI /IACCEPTSQLSERVERLICENSETERMS /Q
For ADK, I used a previously downloaded setup which allows me to run the installation unattended: adksetup.exe /q /features OptionId.DeploymentTools OptionId.WindowsPreinstallationEnvironment OptionId.UserStateMigrationTool
ConfigMgr, however, requires an .ini file which must be created and added to the installation binaries. I used the instructions to create the .ini file available at TechNet:
http://technet.microsoft.com/en-us/library/gg712320.aspx#BKMK_UnattendedSetup
My SQL skills are too limited to generate a command which will set the SQL memory requirements for ConfigMgr (feel free to inform me how to do this). I ignored the WSUS config for the LTI. The .ini for ConfigMgr is very static and contains a lot of hard-coded input. It would take a lot of time to investigate how to generate an .ini file during deployment which would dynamically populate the lines in the file.
Result is a successful, but rather ‘crude’ ConfigMgr 2012 SP1 deployment.
I have to admit that I wasn’t really satisfied accomplishing my goals, it was pretty time consuming as well. I might have an attempt to investigate if I can achieve something similar with the other System Center products but for now I consider it pretty time wasting.
However, I learned much from doing unattended installations of ADK and SQL 2012 SP1. This is something I can use in the future…
I’d rather prepare some VM templates with a sysprepped SQL install and a sysprepped OS and work from there…
For now, I suppose I should investigate more deeply into PDT…