Hi George
- I also had a situation where Windows Update page showed my PC was controlled by "an organization". It was because of a group policy setting i previously set to pause updates 7 days. Don't know if any GPO or only some cause that problem. But I removed all GPO settings (i only had a couple), rebooted and was offered the ESU program
- There's a vertical column of text on the Settings->Windows Update page. The very first line in mine says "Your PC is enrolled to get Extended Security Updates"
- There's also a powershell script (script highlighted below). It will also tell you if you're enrolled. Meaning of its output:
- Enrolled (DeviceEnrolled) or Enrolled (Microsoft Account) → you’re enrolled for this user.
- Eligible (not enrolled) → you can enroll from Settings → Update & Security → Windows Update (look for the ESU card/button).
- Ineligible/Unknown/No Consumer ESU key → not enrolled on this account (or the device hasn’t checked ESU yet).
# Save as Check-ConsumerESU.ps1 and run in a normal (non-admin) PowerShell
# 1) Sanity: must be Windows 10 22H2
$cv = Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion'
$displayVersion = $cv.DisplayVersion
if ($displayVersion -ne '22H2') {
Write-Host "Windows 10 $displayVersion detected. Consumer ESU only applies to Windows 10 22H2." -ForegroundColor Yellow
}
# 2) Read the Consumer ESU enrollment flag for the *current* signed-in user
$key = 'HKCU:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\ConsumerESU'
$props = Get-ItemProperty -Path $key -ErrorAction SilentlyContinue
if (-not $props) {
Write-Host "No Consumer ESU key found for this user. Not enrolled (or never checked ESU in Windows Update)." -ForegroundColor Red
return
}
$map = @{
0 = 'Unknown'
1 = 'Ineligible'
2 = 'Eligible (not enrolled)'
3 = 'Enrolled (DeviceEnrolled)'
5 = 'Enrolled (Microsoft Account)'
}
$statusNum = $props.ESUEligibility
$statusText = $map[$statusNum]
if (-not $statusText) { $statusText = "Unrecognized value ($statusNum)" }
$result = $props.ESUEligibilityResult # extra context string when not enrolled/eligible
$lastChecked = $props.LastCheckTime # may exist on some builds
[PSCustomObject]@{
Windows10Version = $displayVersion
ESUStatusCode = $statusNum
ESUStatusText = $statusText
ESUEligibilityResult = $result
LastChecked = $lastChecked
} | Format-List