Skip to content

Add support for new operating systems and driver packs#372

Merged
OSDeploy merged 18 commits into
masterfrom
peafowl
Jul 7, 2026
Merged

Add support for new operating systems and driver packs#372
OSDeploy merged 18 commits into
masterfrom
peafowl

Conversation

@OSDeploy

@OSDeploy OSDeploy commented Jul 7, 2026

Copy link
Copy Markdown
Owner

Enhance the OSDCloud functionality by adding driver packs for multiple models, introducing new operating system profiles, and refining existing functions for better error handling and documentation. Remove outdated and deprecated files to streamline the codebase. Update the changelog and module version accordingly.

Copilot AI review requested due to automatic review settings July 7, 2026 04:36
@OSDeploy OSDeploy self-assigned this Jul 7, 2026
@OSDeploy OSDeploy merged commit c003d01 into master Jul 7, 2026
1 check passed
@OSDeploy OSDeploy deleted the peafowl branch July 7, 2026 04:36
@OSDeploy OSDeploy linked an issue Jul 7, 2026 that may be closed by this pull request

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the OSD module’s OSDCloud experience by refreshing OS/driver-pack catalog plumbing, cleaning out legacy/public v2 and build entrypoints, and updating documentation and packaging metadata (manifest + changelog). It also introduces deployment telemetry instrumentation within the main OSDCloud task sequence.

Changes:

  • Refactors operating system catalog retrieval (new Get-CoreOperatingSystems / Get-OSDCoreOperatingSystems) and updates OS index/OS listing helpers + docs.
  • Adds/updates WinPE profiles and driver-pack catalogs (including Panasonic), while removing deprecated v2 catalog cmdlets and legacy Deploy-* build scripts.
  • Updates module packaging and docs (manifest version bump, changelog entry, multiple help markdown edits, GUI option cleanup).

Reviewed changes

Copilot reviewed 54 out of 71 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
README.md Removes reference to deprecated driver-pack catalog cmdlet.
Public/v2/Get-OSDCatalogOperatingSystems.ps1 Removes deprecated v2 catalog function.
Public/v2/Get-OSDCatalogDriverPacks.ps1 Removes deprecated v2 catalog function.
Public/v2/Get-OSDCatalogDriverPack.ps1 Removes deprecated v2 driver-pack selection helper.
Public/Start-OSDCloudGUIDev.ps1 Removes unused GUI config fields / whitespace cleanup.
Public/Start-OSDCloudGUI.ps1 Removes unused GUI config fields / whitespace cleanup.
Public/OSDCloudTS/Get-PowerSettingTurnMonitorOffAfter.ps1 Improves help/error handling and returns structured results.
Public/OSDCloudTS/Get-PowerSettingSleepAfter.ps1 Minor formatting cleanup.
Public/OSDCloudTS/Get-OSDCloudOperatingSystemsIndexMap.ps1 Refines comment-based help and formatting.
Public/OSDCloudTS/Get-OSDCloudOperatingSystemsIndexes.ps1 Refines comment-based help and formatting.
Public/OSDCloudTS/Get-OSDCloudOperatingSystems.ps1 Switches to Get-OSDCoreOperatingSystems with improved error handling and output typing.
Public/OSDCloud.ps1 Adds deployment analytics/telemetry block and various whitespace tweaks.
Public/builds/xdeploy-osdcloud/Deploy-OSDCloud.ps1 Removes legacy build entrypoint script.
Public/builds/osdcloudguidev/Deploy-OSDCloudGUIDev.ps1 Removes legacy build entrypoint script.
Public/builds/osdcloudgui/Deploy-OSDCloudGUI.ps1 Removes legacy build entrypoint script.
Public/builds/osdcloudcli/Deploy-OSDCloudCLI.ps1 Removes legacy build entrypoint script.
Projects/OSDCloudREAzure/App.config Removes legacy .NET runtime config.
Projects/OSDCloudGUI/MainWindow.xaml Removes screenshot menu option; changes default selection index.
Projects/OSDCloudGUI/MainWindow.ps1 Removes screenshot toggle wiring; minor cleanup and version retrieval tweak.
Projects/OSDCloudGUI/App.config Removes legacy .NET runtime config.
Projects/OSDCloudDev/App.config Removes legacy .NET runtime config.
Projects/OSDCloudAzure/App.config Removes legacy .NET runtime config.
Private/operatingsystem/Get-OSDCoreOperatingSystems.ps1 New OS catalog normalization/parsing layer for OSDCloud.
Private/operatingsystem/Get-CoreOperatingSystems.ps1 New XML catalog reader for core OS catalogs.
OSD.psd1 Manifest refactor + version bump + export list adjustments.
Docs/Test-HPTPMFromOSDCloudUSB.md Improves help text and examples for HP TPM USB detection.
Docs/Test-DynamicValidateSet.md Updates accepted OS-name values to include 25H2.
Docs/Start-OSDCloudCLI.md Updates help formatting/parameter types and removes WhatIf/Confirm mentions.
Docs/Start-OSDCloud.md Updates online link and parameter sections; currently reintroduces template placeholders.
Docs/Save-FeatureUpdate.md Updates defaults to Windows 11 25H2.
Docs/New-OSDCloudOSWimFile.md Updates accepted OS-name values to include 25H2 + ARM64.
Docs/Invoke-HPTPMEXEInstall.md Fills in synopsis/description/examples and clarifies parameters.
Docs/Invoke-HPTPMEXEDownload.md Fills in synopsis/description/examples and clarifies parameters.
Docs/Invoke-HPTPMDownload.md Fills in synopsis/description/examples and clarifies parameters.
Docs/Invoke-HPTPMDowngrade.md Fills in synopsis/description/examples and clarifies parameters.
Docs/Install-ModuleHPCMSL.md Fills in synopsis/description/examples and clarifies behavior/requirements.
Docs/Get-WindowsAdkPaths.md Updates parameter type shown in docs and expands description.
Docs/Get-PowerSettingTurnMonitorOffAfter.md Updates help to match improved implementation.
Docs/Get-OSDCloudOperatingSystemsIndexMap.md Updates help text to match refined comment-based help.
Docs/Get-OSDCloudOperatingSystemsIndexes.md Updates help text to match refined comment-based help.
Docs/Get-OSDCloudOperatingSystems.md Updates help text to match new implementation behavior.
Docs/Get-OSDCatalogOperatingSystems.md Removes deprecated v2 doc.
Docs/Get-OSDCatalogDriverPacks.md Removes deprecated v2 doc.
Docs/Get-OSDCatalogDriverPack.md Removes deprecated v2 doc.
Docs/Get-MsUpCat.md Expands help surface area; currently reintroduces template placeholders.
Docs/Get-HPTPMDetermine.md Fills in synopsis/description and clarifies outputs/requirements.
Docs/Get-FeatureUpdate.md Updates defaults to Windows 11 25H2.
core/OSDRepo/winpe-profiles/v1 Start-OSDCloudGUI.json Adds WinPE profile for GUI startup workflow.
core/OSDRepo/winpe-profiles/v1 Start-OSDCloud.json Adds WinPE profile for CLI startup workflow.
CHANGELOG.md Adds release notes for 26.7.6.1 (telemetry + manifest bump) and prior entries.
catalogs/driverpack/panasonic.json Adds Panasonic driver-pack catalog.
catalogs/driverpack/default.json Adds/refreshes default driver-pack catalog list.
cache/os-catalogs/build-operatingsystems.md Removes stale OS catalog build metadata file.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread Public/OSDCloud.ps1
Comment on lines +489 to +494
try {
$classWin32Keyboard = Get-CimInstance -ClassName Win32_Keyboard -ErrorAction Stop | Select-Object -Property *
$classWin32Keyboard | Out-File (Join-Path -Path $LogsPath -ChildPath 'Win32_Keyboard.txt') -Width 4096 -Force
$KeyboardLayout = [System.String]$classWin32Keyboard.Layout
$KeyboardName = [System.String]$classWin32Keyboard.Name
}
Comment thread Public/OSDCloud.ps1
Comment on lines +520 to +527
$payload = [ordered]@{
api_key = $ApiKey
event = $EventName
properties = $Properties + @{
distinct_id = $DistinctId
}
timestamp = (Get-Date).ToString('o')
}
Comment thread Public/OSDCloud.ps1
Comment on lines +543 to +550
# UUID
$deviceUUID = $classWin32ComputerSystemProduct.UUID
# Convert the UUID to a hash value to protect user privacyand ensure a consistent identifier across events
$deviceUUIDHash = [System.BitConverter]::ToString([System.Security.Cryptography.SHA256]::Create().ComputeHash([System.Text.Encoding]::UTF8.GetBytes($deviceUUID))).Replace("-", "")
[string]$distinctId = $deviceUUIDHash
if ([string]::IsNullOrWhiteSpace($distinctId)) {
$distinctId = [System.Guid]::NewGuid().ToString()
}
Comment thread Public/OSDCloud.ps1
Comment on lines +597 to +598
$postApi = 'phc_2h7nQJCo41Hc5C64B2SkcEBZOvJ6mHr5xAHZyjPl3ZK'
Send-OSDCloudDeployEvent -EventName $eventName -ApiKey $postApi -DistinctId $distinctId -Properties $eventProperties
Comment thread Docs/Start-OSDCloud.md

## SYNOPSIS
Starts the OSDCloud Windows 10 or 11 Build Process from the OSD Module or a GitHub Repository
{{ Fill in the Synopsis }}
Comment thread Docs/Start-OSDCloud.md

## DESCRIPTION
Starts the OSDCloud Windows 10 or 11 Build Process from the OSD Module or a GitHub Repository
{{ Fill in the Description }}
Comment thread Docs/Get-MsUpCat.md

## SYNOPSIS
Query catalog.update.micrsosoft.com for available updates.
{{ Fill in the Synopsis }}
Comment thread Docs/Get-MsUpCat.md
## DESCRIPTION
Given that there is currently no public API available for the catalog.update.micrsosoft.com site, this
command makes HTTP requests to the site and parses the returned HTML for the required data.
{{ Fill in the Description }}
Comment on lines 59 to +62
### -TryToCopy
{{ Fill TryToCopy Description }}
Switch to indicate that found firmware files should be copied to C:\OSDCloud\HP.
Note: this parameter is currently unreachable due to early return statements when
a PackageID is specified.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

PowerShell Gallery releases appear to be ahead of GitHub repository

2 participants