Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ Each `<File>` element contains:
'22631' { $OSName = 'Windows 11'; $OSVersion = '23H2' }
'26100' { $OSName = 'Windows 11'; $OSVersion = '24H2' }
'26200' { $OSName = 'Windows 11'; $OSVersion = '25H2' }
'26300' { $OSName = 'Windows 11'; $OSVersion = '26H2' }
'28000' { $OSName = 'Windows 11'; $OSVersion = '26H1' }
# add new build here:
'<build>' { $OSName = 'Windows 11'; $OSVersion = '<Ver>' }
Expand All @@ -77,8 +78,8 @@ Each `<File>` element contains:
```json
{
"OperatingSystem": {
"default": "Windows 11 <Ver>",
"values": ["Windows 11 <Ver>", "Windows 11 25H2", "Windows 11 24H2"]
"default": "Windows 11 26H2",
"values": ["Windows 11 26H2", "Windows 11 25H2", "Windows 11 24H2"]
}
}
```
Expand Down
4 changes: 2 additions & 2 deletions .github/instructions/workflow-tasks.instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -156,8 +156,8 @@ Each channel provides OS picker configuration per architecture.
```json
{
"OperatingSystem": {
"default": "Windows 11 25H2",
"values": ["Windows 11 25H2", "Windows 11 24H2", "Windows 11 23H2"]
"default": "Windows 11 26H2",
"values": ["Windows 11 26H2", "Windows 11 25H2", "Windows 11 24H2"]
Comment on lines +159 to +160
},
"OSActivation": {
"default": "Retail",
Expand Down
16 changes: 16 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,22 @@

All notable changes to this project will be documented in this file.

## 26.9.29.1 - September 29, 2026

### Added

- Added Windows 11 26H2 operating system catalog support for build `26300.9457` on amd64 and arm64.
- Added `SetupComplete.cmd` and `OOBE.cmd` initialization after Windows image expansion for post-installation tasks.

### Changed

- Module version bumped to `26.9.29.1` and identified as the Windows 11 26H2 release.
- Changed the default Windows 11 release from 25H2 to 26H2 across deployment workflows, USB cache updates, operating system selection helpers, and the default workflow UI.
- Updated Microsoft Update Catalog driver searches to prioritize 26H2 before earlier Windows releases.
- Refreshed the HP driver pack catalog.
- Updated generated Lenovo and Microsoft Surface driver pack installation scripts with RecastOSDCloud branding.
- Updated deployment documentation and catalog and workflow maintenance guidance for Windows 11 26H2.

## 26.9.25.1 - September 25, 2026

### Added
Expand Down
4 changes: 2 additions & 2 deletions OSDCloud/OSDCloud.psd1
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
@{
# --- Identity ---
RootModule = 'OSDCloud.psm1'
ModuleVersion = '26.9.25.1'
ModuleVersion = '26.9.29.1'
CompatiblePSEditions = @('Core','Desktop')
GUID = '2fbd5c65-79c7-4561-9a2e-c4a4eebc89c7'

Expand All @@ -18,7 +18,7 @@
Copyright = '(c) 2026 Recast Software. All rights reserved.'
Description = @'
Recast OSDCloud PowerShell Module
Workplace Ninja Summit Release
Windows 11 26H2 Release
PowerShell module for OSDCloud v2 deployment automation and WinPEStartup from recastsoftware.com.
Includes operating system, driver pack, and device provisioning workflows.
'@
Expand Down
14,647 changes: 7,341 additions & 7,306 deletions OSDCloud/core/driverpacks/hp.xml

Large diffs are not rendered by default.

28,898 changes: 28,898 additions & 0 deletions OSDCloud/core/operatingsystems/26300.9457.260913-1737.xml

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -68,9 +68,9 @@ function Update-RecastOSDCloudUSBCache {

[Parameter(Mandatory = $false, HelpMessage = 'Operating system release identifier for deployment selection.')]
[ValidateNotNullOrEmpty()]
[ValidateSet('25H2', '24H2', '23H2', '22H2', '21H2')]
[ValidateSet('26H2', '25H2', '24H2', '23H2', '22H2', '21H2')]
[string]
$OSReleaseID = '25H2',
$OSReleaseID = '26H2',

[Parameter(Mandatory = $false, HelpMessage = 'Operating system language code for deployment selection.')]
[ValidateNotNullOrEmpty()]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ function ConvertTo-OSDCoreOperatingSystemInfo {
Five-digit Windows build number to convert.

.EXAMPLE
ConvertTo-OSDCoreOperatingSystemInfo -OSBuild '26200'
ConvertTo-OSDCoreOperatingSystemInfo -OSBuild '26300'

Returns Windows 11 25H2 operating system release information.
Returns Windows 11 26H2 operating system release information.

.INPUTS
None
Expand Down Expand Up @@ -48,6 +48,7 @@ function ConvertTo-OSDCoreOperatingSystemInfo {
'22631' { $OSName = 'Windows 11'; $OSVersion = '23H2' }
'26100' { $OSName = 'Windows 11'; $OSVersion = '24H2' }
'26200' { $OSName = 'Windows 11'; $OSVersion = '25H2' }
'26300' { $OSName = 'Windows 11'; $OSVersion = '26H2' }
'28000' { $OSName = 'Windows 11'; $OSVersion = '26H1' }
default { return }
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ function Set-OSDCoreOperatingSystemCloudObject {

[Parameter(Mandatory = $false)]
[ValidateNotNullOrEmpty()]
[string]$OSReleaseID = '25H2',
[string]$OSReleaseID = '26H2',

[Parameter(Mandatory = $false)]
[ValidateNotNullOrEmpty()]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ function Save-MicrosoftUpdateCatalogDriver {

try {
# Define version search order (newest to oldest)
$VersionSearchOrder = @('25H2', '24H2', '23H2', '22H2', '21H2', 'Vibranium', '1903', '1809')
$VersionSearchOrder = @('26H2', '25H2', '24H2', '23H2', '22H2', '21H2', 'Vibranium', '1903', '1809')

# Search for driver with version-specific queries first
foreach ($Version in $VersionSearchOrder) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,15 @@ function step-install-expandwindowsimage {
try {
Write-Verbose -Message "[$(Get-Date -format s)] [$($MyInvocation.MyCommand.Name)] Running Expand-WindowsImage with parameters: $($Params | Out-String)"
Expand-WindowsImage @Params | Out-Null
# Create SetupComplete.cmd if it does not exist
$setupCompletePath = 'C:\Windows\Setup\Scripts\SetupComplete.cmd'
if (-not (Test-Path $setupCompletePath)) {
New-Item -Path $setupCompletePath -ItemType File -Force | Out-Null
}
Comment on lines +56 to +59
# Create SetupComplete.cmd
":: RecastOSDCloud $(Get-Date -format s)" | Out-File -FilePath $setupCompletePath -Append -Encoding ascii -Width 2000 -Force
# Create OOBE.cmd
":: RecastOSDCloud $(Get-Date -format s)" | Out-File -FilePath 'C:\Windows\Setup\Scripts\OOBE.cmd' -Append -Encoding ascii -Width 2000 -Force
}
catch {
Write-Warning "[$(Get-Date -format s)] Expand-WindowsImage failed."
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -287,8 +287,7 @@ function step-Save-WindowsDriver-DriverPack {

$Content = @"
:: ========================================================
:: OSDCloud DriverPack Installation for Lenovo
:: ========================================================
:: RecastOSDCloud DriverPack Installation for Lenovo
$DownloadedFile /SILENT /SUPPRESSMSGBOXES
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\UnattendSettings\PnPUnattend\DriverPaths\1" /v Path /t REG_SZ /d "C:\Drivers" /f
pnpunattend.exe AuditSystem /L
Expand All @@ -308,8 +307,7 @@ rd /s /q C:\Windows\Temp\osdcloud-driverpack-download

$Content = @"
:: ========================================================
:: OSDCloud DriverPack Installation for Lenovo
:: ========================================================
:: RecastOSDCloud DriverPack Installation for Lenovo
$DownloadedFile /SILENT /SUPPRESSMSGBOXES
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\UnattendSettings\PnPUnattend\DriverPaths\1" /v Path /t REG_SZ /d "C:\Drivers" /f
pnpunattend.exe AuditSystem /L
Expand Down Expand Up @@ -358,8 +356,7 @@ rd /s /q C:\Windows\Temp\osdcloud-driverpack-download

$Content = @"
:: ========================================================
:: OSDCloud DriverPack Installation for Microsoft Surface
:: ========================================================
:: RecastOSDCloud DriverPack Installation for Microsoft Surface
msiexec /i $DownloadedFile /qn /norestart /l*v C:\Windows\Temp\osdcloud-logs\drivers-driverpack-microsoft.log
rd /s /q C:\Windows\Temp\osdcloud-driverpack-download
:: ========================================================
Expand Down
4 changes: 2 additions & 2 deletions OSDCloud/workflow/cli/os-amd64.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"OperatingSystem": {
"default": "Windows 11 25H2",
"values": ["Windows 11 25H2", "Windows 11 24H2", "Windows 11 23H2", "Windows 11 22H2", "Windows 11 21H2", "Windows 10 22H2"]
"default": "Windows 11 26H2",
"values": ["Windows 11 26H2", "Windows 11 25H2", "Windows 11 24H2", "Windows 11 23H2", "Windows 11 22H2", "Windows 11 21H2", "Windows 10 22H2"]
},
"OSActivation": {
"default": "Retail",
Expand Down
4 changes: 2 additions & 2 deletions OSDCloud/workflow/cli/os-arm64.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"OperatingSystem": {
"default": "Windows 11 25H2",
"values": ["Windows 11 25H2", "Windows 11 24H2", "Windows 11 23H2", "Windows 11 22H2", "Windows 11 21H2", "Windows 10 22H2"]
"default": "Windows 11 26H2",
"values": ["Windows 11 26H2", "Windows 11 25H2", "Windows 11 24H2", "Windows 11 23H2", "Windows 11 22H2", "Windows 11 21H2", "Windows 10 22H2"]
},
"OSActivation": {
"default": "Retail",
Expand Down
4 changes: 2 additions & 2 deletions OSDCloud/workflow/default/os-amd64.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"OperatingSystem": {
"default": "Windows 11 25H2",
"values": ["Windows 11 25H2", "Windows 11 24H2", "Windows 11 23H2"]
"default": "Windows 11 26H2",
"values": ["Windows 11 26H2", "Windows 11 25H2", "Windows 11 24H2", "Windows 11 23H2"]
},
"OSActivation": {
"default": "Retail",
Expand Down
4 changes: 2 additions & 2 deletions OSDCloud/workflow/default/os-arm64.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"OperatingSystem": {
"default": "Windows 11 25H2",
"values": ["Windows 11 25H2", "Windows 11 24H2", "Windows 11 23H2"]
"default": "Windows 11 26H2",
"values": ["Windows 11 26H2", "Windows 11 25H2", "Windows 11 24H2", "Windows 11 23H2"]
},
"OSActivation": {
"default": "Retail",
Expand Down
4 changes: 2 additions & 2 deletions OSDCloud/workflow/default/ux/MainWindow.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@

<TextBlock Grid.Row="2" Grid.Column="0" Text="Operating System" VerticalAlignment="Center" FontWeight="SemiBold" Foreground="#3b455a" Margin="4" />
<ComboBox Grid.Row="2" Grid.Column="1" x:Name="OperatingSystemCombo" Margin="4" Height="24" FontWeight="SemiBold" />
<TextBlock Grid.Row="2" Grid.Column="3" Grid.ColumnSpan="3" x:Name="SelectedIdText" Text="Default Windows 11 25H2 amd64 Retail en-us 26200.7462" VerticalAlignment="Center" FontWeight="SemiBold" Foreground="DarkGray" TextWrapping="Wrap" Margin="4" />
<TextBlock Grid.Row="2" Grid.Column="3" Grid.ColumnSpan="3" x:Name="SelectedIdText" Text="Default Windows 11 26H2 amd64 Retail en-us 26300.9457" VerticalAlignment="Center" FontWeight="SemiBold" Foreground="DarkGray" TextWrapping="Wrap" Margin="4" />

<TextBlock Grid.Row="3" Grid.Column="0" Text="Language" VerticalAlignment="Center" FontWeight="SemiBold" Foreground="#3b455a" Margin="4" />
<ComboBox Grid.Row="3" Grid.Column="1" x:Name="OSLanguageCodeCombo" Margin="4" Height="24" FontWeight="SemiBold" />
Expand All @@ -140,7 +140,7 @@
<ComboBox Grid.Row="5" Grid.Column="1" x:Name="OSActivationCombo" Margin="4" Height="24" FontWeight="SemiBold" />

<TextBlock Grid.Row="6" Grid.Column="0" Text="FileName" VerticalAlignment="Center" FontWeight="SemiBold" Foreground="#3b455a" Margin="4" />
<TextBlock Grid.Row="6" Grid.Column="1" Grid.ColumnSpan="5" Margin="4" x:Name="SelectedFileNameText" Text="Default 26200.7462.251207-0044.25h2_ge_release_svc_refresh_CLIENTCONSUMER_RET_x64FRE_en-us.esd" VerticalAlignment="Center" FontWeight="SemiBold" Foreground="DarkGray" TextWrapping="Wrap" />
<TextBlock Grid.Row="6" Grid.Column="1" Grid.ColumnSpan="5" Margin="4" x:Name="SelectedFileNameText" Text="Default 26300.9457.260913-1737.26h2_ge_release_svc_refresh_CLIENTCONSUMER_RET_x64FRE_en-us.esd" VerticalAlignment="Center" FontWeight="SemiBold" Foreground="DarkGray" TextWrapping="Wrap" />

<TextBlock Grid.Row="8" Grid.Column="0" Text="DriverPack" VerticalAlignment="Center" FontWeight="SemiBold" Foreground="#3b455a" Margin="4" />
<ComboBox Grid.Row="8" Grid.Column="1" Grid.ColumnSpan="5" x:Name="DriverPackCombo" Margin="4" Height="24" FontWeight="SemiBold" SelectedIndex="0" />
Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ OSDCloud is a PowerShell module for deploying Windows with cloud-hosted operatin

## Overview

- Current repository module version: `26.9.25.1`.
- Current repository module version: `26.9.29.1`.
- Defaults to Windows 11 26H2 for amd64 and arm64 deployments.
- Focused on Windows deployment workflows driven by PowerShell.
- Supports WinPEStartup helpers and deployment UX options.
- Provides cmdlets for device info, Wi-Fi setup, and module updates in PE.
Expand Down
2 changes: 1 addition & 1 deletion docs/01-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Typical scenarios:
| Provision a new PC for Autopilot enrolment | **Yes** — deploy Windows, hand off to OOBE. See [guide 8](08-autopilot-oobe.md). |
| Deploy a custom corporate gold image | **No** — OSDCloud uses Microsoft ESDs. Use MDT/ConfigMgr or build a custom WIM. |
| Air-gapped network (no internet) | **No** — OSDCloud downloads ESDs and driver packs at runtime. |
| Deploy Windows 10 | **No** — current workflows target Windows 11 (25H2/24H2/23H2). |
| Deploy Windows 10 | **No** — current workflows target Windows 11 (26H2/25H2/24H2). |

## Why use OSDCloud

Expand Down
2 changes: 1 addition & 1 deletion docs/04-deploy-windows.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ only what you need:

| Setting | Default | Notes |
|---|---|---|
| Operating System | Windows 11 25H2 | 24H2 and 23H2 also available |
| Operating System | Windows 11 26H2 | 25H2 and 24H2 also available |
| Activation | Retail | Use Volume for VL/MAK keys |
| Edition | Pro | Home / Pro / Enterprise (+ Education and N variants on amd64) |
| Language | en-us | 38 codes (amd64) / 37 codes (arm64) |
Expand Down
4 changes: 2 additions & 2 deletions docs/05-customize-deployment.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ A workflow is a folder under `OSDCloud/workflow/` that bundles:
- UI configuration.

The module currently supports the `default` workflow for public deployments.
Its settings allow Windows 11 25H2, 24H2, and 23H2 and use the standard
Its settings allow Windows 11 26H2, 25H2, and 24H2 and use the standard
40-step task.
Comment on lines +18 to 19

The module also contains a `cli` folder for the internal preview CLI
Expand Down Expand Up @@ -51,7 +51,7 @@ to Enterprise + en-gb:

```jsonc
{
"OperatingSystem": { "default": "Windows 11 25H2", "values": ["Windows 11 25H2"] },
"OperatingSystem": { "default": "Windows 11 26H2", "values": ["Windows 11 26H2"] },
"OSActivation": { "default": "Volume", "values": ["Volume"] },
"OSEdition": { "default": "Enterprise", "values": [{ "Edition": "Enterprise", "EditionId": "Enterprise" }] },
"OSLanguageCode": { "default": "en-gb", "values": ["en-gb"] }
Expand Down
2 changes: 1 addition & 1 deletion docs/07-arm64-devices.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ The `default` channel ships these ARM64 options (`workflow/default/os-arm64.json

| Setting | Default | Available values |
|---|---|---|
| Operating System | Windows 11 25H2 | 25H2, 24H2, 23H2 |
| Operating System | Windows 11 26H2 | 26H2, 25H2, 24H2 |
| Activation | Retail | Retail, Volume |
| **Edition** | Pro | **Home, Pro, Enterprise only** — no N or Education editions |
| Language | en-us | 37 codes (no `bs-latn-ba` or `ms-my`) |
Expand Down
Loading