A robust PowerShell module for automating and customizing OSDCloud deployments, drivers, scripts, and media creation.
- Windows PowerShell 5.1 or PowerShell 7+
- Administrator privileges for certain operations
- Visual Studio Code (recommended for development)
Install the module from PowerShell Gallery:
Install-Module -Name OSDCloudCustomBuilder -Scope CurrentUser -ForceImport the module:
Import-Module OSDCloudCustomBuilder-
Create custom OSD media:
New-OSDCloudCustomMedia -MediaPath "C:\OSDMedia" -CustomDriverPath "C:\Drivers"
-
Add custom drivers:
Add-OSDCloudCustomDriver -DriverPath "C:\MyDrivers" -TargetPath "C:\OSDMedia"
-
Test requirements:
Test-OSDCloudCustomRequirements -Verbose
- Driver Management: Add and manage custom drivers for OSD deployments
- Script Injection: Include custom PowerShell scripts in deployment media
- Media Customization: Create and customize OSDCloud media with PowerShell 7
- Telemetry Controls: Enable/disable and configure deployment telemetry
- Configuration Management: Set and validate OSDCloud configuration settings
- Testing & Validation: Built-in requirement testing and validation
- CI/CD Ready: Fully tested with Pester and integrated build pipeline
This project uses DevContainers to provide a consistent development environment:
- Install Visual Studio Code
- Install the Dev Containers extension
- Clone this repository
- Open the repository in VS Code
- When prompted, click "Reopen in Container"
- Build the module:
./build.ps1 Build - Run tests:
./build.ps1 Test - Analyze code:
./build.ps1 Analyze - Generate documentation:
./build.ps1 Docs
See the Project Structure documentation for more details on the module organization.
- Analyze code:
./build.ps1 Analyze - Generate documentation:
./build.ps1 Docs - Clean build artifacts:
./build.ps1 Clean
├── Public/ # Public functions (exported)
├── Private/ # Private functions (internal)
├── Shared/ # Shared utilities
├── tests/ # Pester tests
├── docs/ # Documentation (generated)
├── .devcontainer/ # Development container configuration
└── build.ps1 # Build script
| Function | Purpose |
|---|---|
Add-OSDCloudCustomDriver |
Add custom drivers to OSD media |
Add-OSDCloudCustomScript |
Add custom scripts to deployment |
New-CustomOSDCloudISO |
Create custom OSD ISO images |
New-OSDCloudCustomMedia |
Create custom OSD media |
Set-OSDCloudCustomSettings |
Configure OSD settings |
Test-OSDCloudCustomRequirements |
Validate system requirements |
Update-CustomWimWithPwsh7 |
Update WIM with PowerShell 7 |
See docs/functions for detailed function documentation.
Run all tests:
./build.ps1 TestRun specific test files:
Invoke-Pester -Path ./tests/New-OSDCloudCustomMedia.Tests.ps1This project adheres to Semantic Versioning.
Current version information can be found in OSDCloudCustomBuilder.psd1.
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
This project is licensed under the MIT License. See LICENSE for details.