So based on some blogs I’ve read and a recent project I have worked on to realize a fully automated Operating System Build, I wanted to share my settings just to clarify which settings need to be present within the bootstrap.ini and the customsettings.ini.
Part I: Bootstrap.ini
First of all, there is the bootstrap.ini. Customizing the bootstrap.ini affects all the settings which a machine will be booted with. In my case it was necessary to provide a static IP configuration because the server back-end where I had a test virtual machine to my disposal had no active DHCP running, therefore it is necessary to specify the IP configuration for one or more machines.
If we want to do this for one machine, we need to have a unique identifier which the settings can be applied to, in this case it would be the MAC Address of the virtual machine which in our case will not change automatically (VMware HyperVisor, on Hyper-V you need to specify a static IP). Therefore we set our Priority to MAC Addres 1st, and then the Default configuration options 2nd because we want those options to be applied to all clients.
Priority = MACADDRESS, Default
Then it is time to configure our network adapter, in case of a virtual machine it is likely that we have only one network adapter present. Therefore we need to specify the MAC Address of that adapter between the “[ ]”.
Next we specify the number of available network adapters, in case there is one we set our “OSDAdapterCount” to 1.
If there is no DHCP available we set the OSDAdapter0EnableDHCP to FALSE to make sure that when the machine boots into WinPE no instruction will be executed to request an dynamic provided IP address.
By specifying the following settings we provide our adapter configuration as we would normally do in Windows also when we want to specify a static IP address:
OSDAdapter0IPAddressList=Enter the machine’s IP address here
OSDAdapter0SubnetMask=Provide the correct subnet here
OSDAdapter0Gateways=Provide the gateway address
OSDAdapter0DNSServerList=Provide multiple DNS servers by using “,”
OSDAdapter0DNSSuffix=Provide the DNS Suffix so that machines that are not domain joined can still communicate with domain joined servers and computers
*Note: working with multiple network adapters needs further explaination and luckely another MDT Exprert “Andrew Barnes a.k.a. Scriptimus Prime” has written a nice blog about that: MDT 2012: Automating Network Interface Configuration
Now we have specified our IP configuration based on MAC Address we can specify our Default settings which will be applied to al machines who will connect to the MDT deploymentshare.
Obviously we need a connection to our deploymentshare which is located on the network, with the property “DeployRoot” we specify the network location where the share is located.
By specifying “SkipBDDWelcome” we skip the screen where we can chose for running a new deployment, so that the wizard will automatically advance to the customized MDT wizard for deploying machines.
It is also possible to specify the keyboard layout allready, this is especially handy when you need to authenticate to your deployment share by password with keyboard symbols and characters.
Then off-course it is time to configure our user account which is used to connect to the deploymentshare. No additional rights other then Read, List and Execute are necessary so an specified service account with ‘Domain User’ rights will do the trick if you set your NTFS and Sharing permissions right on the deploymentshare!
So far my first part of explaining how to realize a fully automated deployment.
Please feel free to contribute in the comments
Download the script here: