Conversation
…eratingSystems functions
…ture and error handling
There was a problem hiding this comment.
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 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 on lines
+520
to
+527
| $payload = [ordered]@{ | ||
| api_key = $ApiKey | ||
| event = $EventName | ||
| properties = $Properties + @{ | ||
| distinct_id = $DistinctId | ||
| } | ||
| timestamp = (Get-Date).ToString('o') | ||
| } |
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 on lines
+597
to
+598
| $postApi = 'phc_2h7nQJCo41Hc5C64B2SkcEBZOvJ6mHr5xAHZyjPl3ZK' | ||
| Send-OSDCloudDeployEvent -EventName $eventName -ApiKey $postApi -DistinctId $distinctId -Properties $eventProperties |
|
|
||
| ## SYNOPSIS | ||
| Starts the OSDCloud Windows 10 or 11 Build Process from the OSD Module or a GitHub Repository | ||
| {{ Fill in the Synopsis }} |
|
|
||
| ## DESCRIPTION | ||
| Starts the OSDCloud Windows 10 or 11 Build Process from the OSD Module or a GitHub Repository | ||
| {{ Fill in the Description }} |
|
|
||
| ## SYNOPSIS | ||
| Query catalog.update.micrsosoft.com for available updates. | ||
| {{ Fill in the Synopsis }} |
| ## 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. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.