Skip to content

Enhance WinpeStartup with folder-based profiles and improved logging - #46

Closed
OSDeploy wants to merge 9 commits into
mainfrom
opossum
Closed

OSDeploy wants to merge 9 commits into
mainfrom
opossum

Conversation

@OSDeploy

@OSDeploy OSDeploy commented Oct 9, 2026

Copy link
Copy Markdown
Collaborator

Introduce support for folder-based profiles in WinpeStartup, enhance environment file handling, and add logging functionality during the startup process. Remove obsolete profiles and update module version to reflect these changes. Include tests for new features and ensure backward compatibility with legacy profile formats.

Copilot AI balanced review requested due to automatic review settings October 9, 2026 22:14
@OSDeploy OSDeploy self-assigned this Oct 9, 2026
@OSDeploy

OSDeploy commented Oct 9, 2026

Copy link
Copy Markdown
Collaborator Author

@copilot resolve the merge conflicts in this pull request

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 Changes recommended

Terminating failures can leave transcription active, and release metadata and documentation contain confirmed inconsistencies.

5 open findings
What changed in this PR

Enhances WinpeStartup profile discovery, environment initialization, and startup diagnostics while retaining legacy profile compatibility.

Changes:

  • Adds folder-based profiles with legacy JSON support.
  • Imports .env, registry, and certificate assets from Core folders.
  • Adds startup transcription, tests, documentation, and release metadata updates.
File Description
README.md Updates release overview and features.
CHANGELOG.md Documents the WinpeStartup release changes.
OSDCloud/​OSDCloud.psd1 Updates module version.
OSDCloud/​public/​WinPE/​Invoke-WinpeStartup.ps1 Adds transcription and profile helper usage.
OSDCloud/​private/​Get-WinpeStartupProfileCandidates.ps1 Discovers folder and legacy profiles.
OSDCloud/​private/​Get-WinpeStartupProfileCandidates.Tests.ps1 Tests profile discovery.
OSDCloud/​private/​WinpeStartup/​Initialize-WinpeStartupEnvironment.ps1 Imports environment, registry, and certificate assets.
OSDCloud/​private/​WinpeStartup/​Initialize-WinpeStartupEnvironment.Tests.ps1 Tests environment and native imports.
OSDCloud/​private/​WinpeStartup/​Initialize-WinpeStartupMain.ps1 Refines initialization logging.
OSDCloud/​core/​winpestartup-profiles/​OSDCloud/​winpestartup.json Adds the folder-based OSDCloud profile.
docs/​about_winpestartup.md Documents profile layouts.
docs/​06-unattended-usb-profile.md Updates profile creation guidance.
docs/​09-troubleshooting.md Updates profile discovery diagnostics.
.github/​skills/​author-winpe-profile-json/​SKILL.md Updates profile-authoring guidance.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread OSDCloud/OSDCloud.psd1
# --- Identity ---
RootModule = 'OSDCloud.psm1'
ModuleVersion = '26.10.4.1'
ModuleVersion = '26.10.9.1'
Write-Verbose 'Invoke-WinpeStartup: Complete'
}

if ($startupTranscriptStarted) {
Comment thread CHANGELOG.md
### Added

- Added WinpeStartup logging to `X:\Windows\Temp\winpestartup.log`; transcript start and stop failures warn without preventing startup.
- Import registry files from `X:\WinpeStartup\core\winpe-reg\*.reg` and certificates from `X:\WinpeStartup\core\winpe-root-cer\*.cer` during environment setup. Files are processed in sorted path order, and discovery, import, or launch failures warn and continue.
Comment thread CHANGELOG.md
- Added WinpeStartup logging to `X:\Windows\Temp\winpestartup.log`; transcript start and stop failures warn without preventing startup.
- Import registry files from `X:\WinpeStartup\core\winpe-reg\*.reg` and certificates from `X:\WinpeStartup\core\winpe-root-cer\*.cer` during environment setup. Files are processed in sorted path order, and discovery, import, or launch failures warn and continue.
- Import process environment defaults from `X:\WinpeStartup\core\*\*.env`, including hidden `.env` files, in sorted path order before shell and selected-profile overrides. Entries use literal single-line assignments; invalid entries and file failures warn and continue without logging values.
- Added tests for profile discovery, environment defaults, startup logging, and registry and certificate imports.
Comment on lines +1 to +3
function Get-WinpeStartupProfileCandidates {
[CmdletBinding()]
param ()
@OSDeploy OSDeploy closed this Oct 9, 2026
@OSDeploy
OSDeploy deleted the opossum branch October 9, 2026 22:19
Copilot stopped work on behalf of OSDeploy due to an error October 9, 2026 22:19
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.

2 participants