Edit: Sept 4, 2016 - updated text in Enhancement 2.
Just found this project the other day and it is great work. I was running a few images from my MSDN subscription and found:
- I need different images for certain editions (ie Win 10 Enterprise vs Professional)
- I need different product keys for different editions
I am more than willing to submit pull requests with these enhancements if there is a chance they will be merged into the main repository. I am creating this issue to start the conversation and work out the details before starting on changes.
A simple solution is to have a copy of the Factory.ps1 and FactoryVariables.ps1, but that breaks down quickly.
Enhancement 1
Allow optional parameter to Factory.ps1 that allows specifying which file contains the variables. If not supplied, it would default to the current file name:
param([string]$variables="FactoryVariables.ps1")
Enhancement 2
This enhancement extends to the first one. I have worked on a prototype to store all the OS specific variables in a csv file so that the number of parameters to Start-ImageFactory could be reduced. I have an example that I am currently testing:
images.csv
Factory.ps1 changes
and then the main script iterate over each of the configurations. I have consolidated Core/GUI and Generation 1 and Generation 2 to a single record. You can set each column to true and it will generate 4 image files (Core Gen 1, Core Gen 2, GUI Gen 1, GUI Gen 2). I also will build up the friendly name using the same pattern the current script do.
I am going to be busy over the next couple of weeks. I hope to be able to get back and test my changes more thoroughly. My goal is to ensure these changes to no break anyone that is using the current version. Using external csv file should be optional. I will submit a pull request and I confident everything is solid.