Skip to content

Release v2.13.0#257

Merged
jworkmanjc merged 4 commits into
masterfrom
v2.13.0
May 28, 2026
Merged

Release v2.13.0#257
jworkmanjc merged 4 commits into
masterfrom
v2.13.0

Conversation

@jworkmanjc
Copy link
Copy Markdown
Contributor

@jworkmanjc jworkmanjc commented May 15, 2026

Issues

Remote Migration Features

  • CUT-5145 - Device Query Updates
  • CUT-5052 - CUT-5052-v3StatusReporting
  • CUT-5083 - ADMU Exe Upload to JC
  • CUT-5158 - Add remote revert options to the generated exe

Commands Option

Code Quality

Production India Region

BugFixes

  • CUT-5109 - Current User in GUI show as disabled

What does this solve?

I'll group these into several categories:

  • Remote Migration Features
  • Code Quality
  • Production India Region
  • BugFixes

Remote Migration Features
At a high level this release includes several quality of life enhancements for the device description. First and foremost the deviceQuery.ps1 script was updated to include a few changes for reporting over time. LastLogin, LastWrite fields should be updated on subsequent runs. LastWrite is calculated from the last time the user's registry hive (NTUSER.DAT) was written. This can differ slightly from LastLogin and was added.

There's a new profileSize field that's calculated to track profile size in GB to help identify users that need to be migrated.

Additional the deviceQuery script now will default to a mode called "auto" which will mark all users as "skip" if there are many users on the device. If the script only identifies one user on the device they'll be marked pending. This is useful for scenarios where AD devices have many users on the devices. It's likely the case that only one will end up being migrated - marking all as skip then going back and updating them seems like a better choice.

Additional scripts in DeviceInit directory for getting all device descriptions and setting device descriptions to bulk update devices.

Lastly the Generated EXE can now accept "Revert" parameters, there are two parameters sets now used in the exe

Code Quality

Pester Tests for PSScriptAnalyzer are generally now going to cover a majority of the codebase.

Production India Region

This has been added

BugFixes

One "bug" was identified were a user would run the ADMU GUI on their account localhost\firstname.lastname and that user's account was never displayed in the GUI window under accounts to migrate. This was a design choice but has been reverted. Now this account will show up if the user is signed in but a message is displayed that the account can not be migrated. You can not migrate your account while logged in.

Is there anything particularly tricky?

How should this be tested?

See previous PRs

Screenshots


Note

Medium Risk
Medium risk because this changes migration/reversion execution paths (including new localEXEs behavior and system-description based workflows) and expands region/auth endpoint selection, which can affect remote automation and JumpCloud API calls.

Overview
Release 2.13.0 adds multiple remote-migration workflow upgrades: device-description based discovery now tracks more fields (e.g., lastWrite, lastLoginValid, profileSize) with smarter default state selection (Auto Pending/Skip), and new org-wide scripts export/import device-description user objects via CSV for bulk review and updates.

Migration/advanced-deployment invocation gains a localEXEs mode to use locally staged gui_jcadmu.exe/uwp_jcadmu.exe (with best-effort GitHub SHA/version validation and fallback handling), and the generated EXE template now supports a dedicated CLI Revert parameter set to run Start-Reversion non-interactively.

Adds India region support across URL selection (Set-JCUrl, SystemContext/agent host detection, user/org lookups) and includes a broad set of code quality tweaks: more consistent CIM usage (replacing WMI patterns), added OutputType annotations, Pester verbosity/config updates, and CI dependency additions (Pester, PSScriptAnalyzer), along with version/changelog/UI title bumps.

Reviewed by Cursor Bugbot for commit a563710. Bugbot is set up for automated code reviews on this repo. Configure here.

jworkmanjc and others added 2 commits May 15, 2026 08:46
* default query mode

* profileSize/ lastWrite changes + tests

* v2.13.0

* MTP Tests

* define MTP as separate secret

* update test description

* device query tests

* Revert "device query tests"

This reverts commit 32286ac.

* update device query tests

* device query tests

* changelog

* ignore deviceQueryFunctions generated in tests

* set default state

* revert to previous test for CI null description systems

* missing test variable assignment + resolving skip behavior

* address issue for single users
* CUT-5052 V3 StatusReporting (#247)

* invoke

* char

* tests first pass

* update tests

* update

* date

---------

Co-authored-by: Joe Workman <joe.workman@jumpcloud.com>

* PSScriptAnalyzer Fix

* Update PSScriptAnalyzerSettings.psd1

* skip for now

* PSUseOutputTypeCorrectly

* Do not analyze test directory for now

* exclude state changing functions rule

* AvoidUsingEmptyCatchBlock

* PSUseOutputTypeCorrectly

* PSAvoidUsingWMICmdlet

* PSAvoidAssignmentToAutomaticVariable

* PSAvoidUsingWMICmdlet

* PSAvoidUsingWMICmdlet

* PSUseOutputTypeCorrectly

* PSUseProcessBlockForPipelineCommand

* PSAvoidAssignmentToAutomaticVariable

* PSReviewUnusedParameter false positive

* PSUseOutputTypeCorrectly

* PSAvoidUsingWMICmdlet

* change to Invoke-CimMethod

* Update PSScriptAnalyzerSettings.psd1

* Update Test-MigrationButton.Acceptance.Tests.ps1

* Get rid of homePath -it's not used

* changelog

* suppress PSScriptAnalyzer failure

* version

* Invoke-CimMethod to unjoin domain

* adding Pester and PSScriptAnalyzer to required

* Change output verbosity

* Update New-LocalUserProfile.ps1

set as string

* CUT-5119: ADMU Prd03 support

* Skip WindowsMDM from PSScriptAnalyzer

* Revert "Skip WindowsMDM from PSScriptAnalyzer"

This reverts commit 883c71f.

* Allow path exclusions PSScriptAnalyzer

* match support repo

* fix invoke

* Update ModuleChangelog.md

* fix dateTime parsing from updated CimInstance

* CUT-5119: check region by array

* fix: bugbot alerts

* show logged in (#253)

Co-authored-by: Joe Workman <54448601+jworkmanjc@users.noreply.github.com>

* Cut 5083 admu exe upload to jc commands option (#249)

* Initial hanges pushed - Added SHA validation and localEXE options enabled

* changelog

* Build updated

* Copy uwp_jcadmu.exe to C:\windows if localexe = True

* Build updated

* $RetryDelaySeconds configured

* download url for uwp_jcadmu.exe set to static

* fixed "UWP exe copy skips update when destination already exists"

* The fallback for AllowUnvalidatedOnApiFailure now handles all network or API failures (not just rate limiting)

* cursor review fixes

* Configured IsValid to be determined by only valid hash match

* The UWP EXE validation now only requires a hash match for IsValid, not a version match

* changelog updated

* Changes made as per review comments.

* Fixed: Historical release date for v2.12.2 incorrectly changed

* Merge conflicts managed and Release date updated

---------

Co-authored-by: Joe Workman <54448601+jworkmanjc@users.noreply.github.com>

* test in IN region

* test in EU

* test in EU

* MTP tests

* explicitly test with orgID

* "| Remove-JCAssociation" bug for dynamic user groups

* Revert "explicitly test with orgID"

This reverts commit 309bf83.

* revert test lines

---------

Co-authored-by: Ken Maranion <97972790+kmaranionjc@users.noreply.github.com>
Co-authored-by: Geoffrey Wein <geoffrey.wein@jumpcloud.com>
Co-authored-by: Geoffrey Wein <89030113+gweinjc@users.noreply.github.com>
Co-authored-by: lucasmendes-jc <lucas.mendes@jumpcloud.com>
Co-authored-by: shashisinghjc <shashi.singh@jumpcloud.com>
@jworkmanjc jworkmanjc added ADMU ADMU Module Release minor Minor Version Release labels May 15, 2026
@jworkmanjc jworkmanjc marked this pull request as ready for review May 15, 2026 17:46
@jworkmanjc jworkmanjc requested a review from a team as a code owner May 15, 2026 17:46
@jworkmanjc jworkmanjc requested a review from lucasmendes-jc May 15, 2026 17:46
Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

Reviewed by Cursor Bugbot for commit e918003. Configure here.

Copy link
Copy Markdown
Contributor Author

@jworkmanjc jworkmanjc left a comment

Choose a reason for hiding this comment

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

Just leaving some notes as others look through this. Looks good to me, we've already approved the individual PRs that make up this release. Let me know if you have any questions?

Comment thread Deploy/Functions/New-ADMUTemplate.ps1 Outdated

[Parameter()]
[bool]
`$localExes
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Tested locally:

Image

Making a note we will have a fast follow in https://jumpcloud.atlassian.net/jira/software/c/projects/CUT/boards/147?selectedIssue=CUT-5156

I've had to add an extra parameter to test our locally build unsigned EXEs here.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

A number of changes here. High level changes, we are adding IN region, but also adding some additional fields for lookup

Image

Adding new fields for profileSize, lastWrite to help admins figure out which users are actually in need of being migrated.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Note fast follow on https://jumpcloud.atlassian.net/browse/CUT-5157 to add parameters here, not to document on the Wiki just yet.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Example of changes, issues found linting with PSScriptAnalyzer.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Again getting rid of WmiObject calls was part of PSScriptAnalyzer linting

[Parameter(Mandatory = $true)][string]$WindowsDrive,
[Parameter(Mandatory = $false)][bool]$localEXEs = $false,
[Parameter(Mandatory = $false)][int]$MaxRetries = 3,
[Parameter(Mandatory = $false)][int]$RetryDelaySeconds = 30
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Again noting we'll need to add a skip here to test locally. To solve for in: https://jumpcloud.atlassian.net/browse/CUT-5156

jworkmanjc and others added 2 commits May 21, 2026 10:04
* revert via gui_admu.exe

* resolve issue with test-jumpcloudusername halting migration without apikey

* resolve issue with profilepath parameter during revert

* formatting

* prep for release

* validate autobind + apikey

* hide pwsh window
Copy link
Copy Markdown

@junioralmeida-82 junioralmeida-82 left a comment

Choose a reason for hiding this comment

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

LGTM! Approved based on previous individual PR reviews.

@jworkmanjc jworkmanjc requested a review from gweinjc May 27, 2026 14:17
Copy link
Copy Markdown
Contributor

@gweinjc gweinjc left a comment

Choose a reason for hiding this comment

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

This looks good to me; approved

@jworkmanjc jworkmanjc merged commit 1d730ee into master May 28, 2026
14 checks passed
@jworkmanjc jworkmanjc deployed to Production May 28, 2026 14:39 — with GitHub Actions Active
@jworkmanjc jworkmanjc deployed to PublishToPSGallery May 28, 2026 15:20 — with GitHub Actions Active
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ADMU ADMU Module Release minor Minor Version Release

Development

Successfully merging this pull request may close these issues.

3 participants