Customizes the Windows installer ISO based on a JSON configuration file containing parameters for OS, version, edition, and features. It enables automation with an Answer File, can include custom media (wallpapers, logos, etc.), and can remove undesired AppX packages.
Note: For guidance on configuration and more detail on using this script, please see GUIDE.md.
- PowerShell version 5.1 or newer.
- The latest Microsoft Assessment and Deployment Kit ("ADK"). Select the Deployment Tools option during installation. This provides the Windows System Image Manager tool, the DISM PowerShell module and
oscdimg.exe
. - The
DISM
andOZOLogger
PowerShell modules. TheDISM
module is provided by the ADK. TheOZOLogger
module is published to PowerShell Gallery.
Optionally, you can install and run the OZO Window Event Log Provider Setup script to support the optimal user of the OZOLogger
module. Ensure your system is configured for this repository then execute the following in an Administrator PowerShell:
Install-Script ozo-windows-event-log-provider-setup
Install-Module OZOLogger
ozo-windows-event-log-provider-setup.ps1
This script is published to PowerShell Gallery. Ensure your system is configured for this repository then execute the following in an Administrator PowerShell:
Install-Script ozo-windows-installer-customizer
ozo-windows-installer-customizer
-Configuration <String>
-NoCleanup
Parameter | Description |
---|---|
Configuration |
The path to the JSON configuration file. Defaults to ozo-windows-installer-customizer.json in the same directory as this script. For guidance on creating a JSON configuration file, please see GUIDE.md |
NoCleanup |
Do not clean up the temporary file assets. Mostly used for testing and debugging. |
This script writes general status messages to the Windows Event Log. If OZO Window Event Log Provider Setup has been implemented, messages are written to the One Zero One provider. Otherwise, messages are written to the Microsoft-Windows-PowerShell provider.
Run this script as Administrator. For guidance on configuration and using this script, please see GUIDE.md.
Special thanks to my employer, Sonic Healthcare USA, who supports the growth of my PowerShell skillset and enables me to contribute portions of my work product to the PowerShell community.
The custom wallpaper image included in this repository is by Marcin Jozwiak and was obtained from Pexels where it is licensed for use under the Pexels License.
The One Zero One logo and icon use the highly accessible and inclusive Atkinson Hyperlegible font which can be downloaded from The Braille Institute and whose importance is brilliantly articulated in this YouTube video by Linus Bowman.