Something I’ve had on my blogroll for a long time and now finally found some time to write about it.
This little ini file is very important in the process of MDT doing what it does. As some of you may know, MDT uses a standard WinPE image which will be modified on the fly during the “update deploymentshare process” where boot images are generated, drivers embedded, the wallpaper and extra files are set.
After booting the WinPE image it will automatically start a VB script and call the parameters trying to connect with the deploymentshare. This all starts with WinPEshl.ini.
After installing the MDT software on your workstation or (management) server, you will find the ini file on a special location: C\Program Files\Microsoft Deployment Toolkit\Templates.
When you open the file the contents are as following:
Now for instance let’s say you would want something to execute prior to starting the process of connecting to the deployment share, you have some options:
- Modify the WinPEshl.ini
- Modify the MDT generated boot image after deploymentshare update
- Modify the default boot image
The default boot image which MDT uses as base for the modified MDT boot image can be found in the following two locations:
- x64: C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\en-us
- x86: C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\x86\en-us
In my opinion it is best to stick with modifying the WinPEshl.ini for several reasons:
- Its traceable, easy documented by saying locating there and there is modified with x and y
- Its consistent, if you are altering a MDT generated and updated boot image, you need to do this every single time when you completely regenerate the boot images. I believe that when you are merely updating the existing images nothing changes
- It’s considerably faster to modify the ini file, then mounting a wim image with dism providing its customizations.
So what customizations are we talking about here, well I have encountered the following requests:
- Running scripts such as placing DNS suffix priority in a multiple domain environment
- Running scripts to wipe the disk entirely (for particular machines) preventing the dirty environment found error pop-up
- Running diagnostic tasks, password scripts etc.
So to end this, I think WinPEshl.ini is a need little file that has a huge responsibility in the process of MDT which can easily be altered to accomplish things that need to go outside and before the deployment process takes place.
For more info please see: Winpeshl.ini Files