4.1 KiB
name, description, metadata
| name | description | metadata | ||
|---|---|---|---|---|
| reference_windows_edition_upgrade_rmm | Verified fleet procedure to upgrade a Windows machine Home->Pro/Pro-for-Workstations via RMM, with the three gotchas (DISM error 50, shutdown /t drop, PfW MAK auto-upgrade). |
|
Verified on ACG-Tech03L 2026-07-06 (Home 26200 -> Win 11 Pro for Workstations, permanently activated).
Procedure (all steps as SYSTEM via /rmm, byte-exact via -EncodedCommand):
- Probe: EditionID/LicenseStatus (
.rmm-key-probe.ps1pattern), confirm no logged-in user (query user) so a reboot is safe. - Flip edition:
changepk.exe /ProductKey VK7JG-NPHTM-C97JM-9MPGT-3V66T(generic Pro key). Flips EditionID Core->Professional live (registry) + sets CBS RebootPending. exit 0. - Reboot to finalize (see gotcha #2).
- Install MAK + activate:
slmgr /ipk <MAK>thenslmgr /ato; verifyslmgr /xpr= "permanently activated" and WMI SoftwareLicensingProduct LicenseStatus=1.
Gotcha 1 — DISM is a dead end for online edition change. DISM /online /Set-Edition:Professional
returns Error 50 "Setting an edition is not supported with online images" even though
/Get-TargetEditions lists Professional. Use changepk.exe, not DISM, for online Home->Pro.
Gotcha 2 — shutdown /r /t N is silently DROPPED in the SYSTEM service session. The command
returns exit 0 but the box never reboots (verified twice on tech03l). Also shutdown /c "comment"
fails outright because the RMM->cmd.exe layer strips the quotes (feedback_windows_quote_stripping).
Reboot reliably with Restart-Computer -Force (encoded PS) or shutdown /r /t 0 /f (no comment).
NOTE: on a fast SSD the edition-upgrade reboot can be <30s of downtime — a 30s-interval last_seen
monitor can miss the gap entirely; confirm the reboot by LastBootUpTime advancing, not by catching
the offline window. is_connected is null fleet-wide — track last_seen age, never that flag.
Gotcha 3 — the ACG MAK infrastructure/windows-pro-mak is a Pro-for-WORKSTATIONS MAK (mislabeled
"Pro"). slmgr /ipk of it on a Professional machine AUTO-UPGRADES the edition to ProfessionalWorkstation
(a strict superset of Pro), live, no extra reboot (verified DALLAS 2026-07-07). If a client genuinely
needs plain Pro, this key will over-shoot to PfW — there is no plain-Pro MAK in the vault. Billing:
each activation consumes one MAK count = $99 to the customer (ACG-internal machines: no invoice, still
burns a count).
Gotcha 4 — changepk.exe TIMES OUT under SYSTEM but STILL flips the edition. Do NOT treat the timeout
as failure — VERIFY EditionID. Run as SYSTEM via /rmm, changepk.exe /ProductKey <key> does not return
cleanly (the RMM command comes back failed / exit -1 Command timeout, or your Start-Process/& wrapper
hangs to the agent timeout), yet the registry EditionID flip to Professional DID happen. Always confirm
with a one-liner (Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' EditionID) before
concluding anything — if it reads Professional, proceed to the finalize reboot; the running OS still
reports Home in Win32_OperatingSystem.Caption until that reboot. (Verified DALLAS 2026-07-07 — the
changepk command timed out but EditionID was already Professional.)
Gotcha 5 — Modern Standby laptops (S0 Low Power Idle) drop the RMM/SC agent when idle/lid-closed, which
mimics an endless reboot. On a Core Ultra / S0-only machine, idle or a closed lid drops Wi-Fi -> agent
offline for long stretches (looked like a 25-min "slow reboot"; the box had actually been up 25 days and
never rebooted). Before a reboot-driven upgrade on a laptop, pin it awake first:
powercfg /change standby-timeout-ac 0; powercfg /setacvalueindex SCHEME_CURRENT SUB_BUTTONS LIDACTION 0; powercfg /setactive SCHEME_CURRENT (AC only — safe; DON'T lid-nothing on DC/battery). A command dispatched
to an already-offline agent goes pending and fires (uncontrolled) on next wake — cancel stale ones with
/rmm cancel. NOTE: an RDP target laptop must STAY awake to be reachable, so keep the AC no-sleep in place.