Skip to content

fix(vbr): validate installed release before proxy maintenance - #9

Merged
cgfixit merged 2 commits into
mainfrom
cx/vbr-version-selection
Oct 3, 2026
Merged

cgfixit merged 2 commits into
mainfrom
cx/vbr-version-selection

Conversation

@cgfixit

@cgfixit cgfixit commented Oct 3, 2026 •

Copy link
Copy Markdown
Owner

Why

The script imported Veeam and discovered proxies without validating the installed VBR release or the executing PowerShell host. PowerShell availability cannot identify the VBR installation.

What changed

  • Identify the local Server/Console release from Windows installed-product records. Validate the runtime and module manifest, explicitly connect to the intended server, and confirm its reported build before proxy discovery.
  • Require Windows PowerShell 5.1 for VBR 12.3.2+, PowerShell 7 plus the module minimum for 13.0, and at least 7.6.3 for 13.1. Add -VBRServer for Console-only hosts and preserve the SCCM exit codes and existing Pre/Post ordering.
  • Update the runbook and add regression coverage. Run CI under Windows PowerShell 5.1 and PowerShell 7, invoke the current shell in CLI tests, and make Pester failures fail the CI process.

Scope

This covers startup compatibility, connection ownership, and the existing maintenance flow under isolated mocks. Real Veeam assemblies, VBR 13 installer records, disconnected-session behavior, WinRM, and native Windows exit 3010 remain unverified. The existing internal task-to-proxy property also needs validation on the deployed VBR build.

Requirements come from the 12.3.2 archive, VBR 13 changes, and current 13.1 Windows instructions. MSI records may lag a hotfix revision; the script compares the release and lets Veeam enforce connection compatibility.

Tradeoffs

The script returns 99 with corrective guidance in an incompatible host. It does not install or relaunch PowerShell; SCCM must invoke the documented executable.

Verification

  • Local PowerShell 7.6.6: all 50 Pester checks, 12 actual-script scenarios with Windows/Veeam/WinRM doubles, parser, configured analyzer rules, and actionlint passed. The two default-analyzer warnings also occur on main.
  • Hosted CI: all 50 checks passed on each of Windows PowerShell 5.1, Windows PowerShell 7, and Linux PowerShell 7. All eight registered checks passed, including analyzer, CodeQL, and dependency review.
  • Computer Use inspected the generated results report and expanded the individual checks in Safari. This was report inspection, not a live Veeam acceptance run. No production hosts were contacted.

@github-actions

github-actions Bot commented Oct 3, 2026

Copy link
Copy Markdown

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Scanned Files

None

@cgfixit
cgfixit marked this pull request as ready for review October 3, 2026 19:34
@cgfixit
cgfixit merged commit 35d52ac into main Oct 3, 2026
8 checks passed
@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-03T19:35:16.012732Z 38fab5e Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

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.

1 participant