Skip to content

The IDBridge Sync task imports IDBridge by name, so Update-Module is the whole update — release 26.9.25.0 - #14

Merged
SamSCN merged 2 commits into
mainfrom
claude/task-imports-by-name-release
Sep 25, 2026
Merged

SamSCN merged 2 commits into
mainfrom
claude/task-imports-by-name-release

Conversation

@SamSCN

@SamSCN SamSCN commented Sep 25, 2026

Copy link
Copy Markdown
Contributor

Summary

Register-IDBridgeScheduledTask wrote the loaded module's manifest path into the IDBridge Sync task. For a Gallery install that path is the version folder, so Update-Module installed each new release beside the old one and the task kept running the old one. Seen at a district on 2026-09-25: 26.9.21.0 installed, the task still on 26.9.9.0, so the new Data\LastRun.json never appeared.

  • The task imports by name. The action is now Import-Module IDBridge; Invoke-IDBridge -RootPath '<root>', so every run loads the newest version installed for all users and Update-Module IDBridge -Scope AllUsers is the whole update. No read grant on the module folder is needed any more.
  • A per-user install is refused. The gMSA can never see a -Scope CurrentUser install, so registration stops with the install-for-all-users steps instead of writing a task that would fail by name. -ModulePath still pins the task to one manifest and grants read on its folder.
  • Two pure helpers carry the decision and the command string: Test-IDBridgeSharedModulePath (whole-segment, case-insensitive prefix match against the machine PSModulePath plus $env:ProgramFiles\PowerShell\Modules) and Get-IDBridgeTaskCommand (by-name and pinned forms), each with tests.
  • The update-available log line names -Scope AllUsers and the one-time Register-IDBridgeScheduledTask -Enabled a task registered before this release needs. README, getting-started, google-bootstrap and the AD bootstrap doc install for all users, with an "Updating IDBridge" bullet.
  • Release 26.9.25.0 as the last commit.

Verification

  • Pester before: 238 passed, 0 failed. After: 252 passed, 0 failed (12 new cases). Test-ModuleManifest passes at 26.9.25.0.
  • Not executed: Register-IDBridgeScheduledTask itself, which needs AD and Task Scheduler. The by-name path and the refusal were verified by reading and by the pure helpers' tests.
  • One thing to confirm on a real server: whether [Environment]::GetEnvironmentVariable('PSModulePath','Machine') already lists C:\Program Files\PowerShell\Modules. The helper adds it either way, so the answer changes nothing.

After merge

Dispatch the Publish workflow; it mints v26.9.25.0 and publishes to the Gallery. Boxes registered before this release need one Register-IDBridgeScheduledTask -IntervalMinutes <n> -Enabled after updating; from then on Update-Module alone is enough.

🤖 Generated with Claude Code

https://claude.ai/code/session_0144DV5TZ5tuFoUefCSp549T


Generated by Claude Code

…the whole update

Register-IDBridgeScheduledTask wrote the loaded module's manifest path into the
task, and for a Gallery install that is the version folder: Update-Module put the
new release beside it and the task kept running the old one (a district on
26.9.9.0 with 26.9.21.0 installed, 2026-09-25). The task now runs
`Import-Module IDBridge`, so every run loads the newest version installed for all
users and no read grant on the module folder is needed. A per-user install, which
the gMSA cannot see, is refused with the install-for-all-users steps; -ModulePath
still pins the task to one manifest. Two pure helpers carry the decision and the
command string (Test-IDBridgeSharedModulePath, Get-IDBridgeTaskCommand), each
with tests. The update-available log line names -Scope AllUsers and the one-time
re-registration a task from before this release needs; README, getting-started,
google-bootstrap and the AD bootstrap doc install for all users.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0144DV5TZ5tuFoUefCSp549T
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0144DV5TZ5tuFoUefCSp549T
@SamSCN
SamSCN merged commit cdab668 into main Sep 25, 2026
2 checks passed
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