guidox / PC

Check Your Windows Build and How Long It Stays Supported

TL;DR

Read the build with **winver** or **Get-ComputerInfo**, compare it against the current servicing baseline, and check **Settings > Windows Update** for the end-of-servicing notice.

Before you start

Requirements

  • Windows 10 or 11
  • 5 minutes
Step by step

Instructions

01

Read the exact build number

**winver** shows the version and the build with the update revision. The revision after the dot is what distinguishes a fully patched machine from a stale one.

winver
[System.Environment]::OSVersion.Version
Get-ComputerInfo | Select-Object WindowsProductName,WindowsVersion,OsBuildNumber,OsHardwareAbstractionLayer
02

Separate the edition from the version

The edition is Home, Pro or Enterprise; the version is 23H2, 24H2 and so on. Support dates differ per edition, so both values matter.

DISM /online /Get-CurrentEdition
Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' | Select-Object ProductName,DisplayVersion,CurrentBuild,UBR
03

Find the servicing end date

Windows Update reports it when a release is close to the end. The registry holds the same value, and the release health page is the authoritative source.

Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' | Select-Object ReleaseId,DisplayVersion
Get-WinEvent -LogName 'Microsoft-Windows-WindowsUpdateClient/Operational' -MaxEvents 20 -ErrorAction SilentlyContinue | Where-Object Message -match 'end of service' | Select-Object TimeCreated,Message
04

Check whether updates are actually arriving

A build that has not changed in months is not necessarily current. The update history shows what was installed and when, including a paused state.

Get-HotFix | Sort-Object InstalledOn -Descending | Select-Object -First 5 HotFixID,InstalledOn
Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings' | Select-Object PauseUpdatesExpiryTime,FlightSettingsMaxPauseDays
Start-Process ms-settings:windowsupdate-history
05

Move to the supported build when needed

An out-of-support build needs a feature update, not a cumulative one. Enable the latest update and let Windows Update offer the next release, or use the Installation Assistant.

Start-Process ms-settings:windowsupdate
usoclient StartScan
Get-WindowsUpdateLog -LogPath C:\temp\wu.log -ErrorAction SilentlyContinue
Get-Content C:\temp\wu.log -Tail 20 -ErrorAction SilentlyContinue
06

Record the values for future checks

A small text file with the build, the edition and the date turns the next check into a comparison instead of a guess, especially across several machines.

$out = Get-ComputerInfo | Select-Object WindowsProductName,WindowsVersion,OsBuildNumber,OsName
$out | Format-List
$out | ConvertTo-Json | Set-Content "$env:USERPROFILE\windows-build.json"
Get-Content "$env:USERPROFILE\windows-build.json"
Troubleshooting

Common issues

winver shows an older build than Settings

The machine has a pending feature update that is staged but not applied. Reboot and check again.

Windows Update says the device is not ready for this version

A safeguard hold blocks the upgrade until a driver or app is fixed. The reason is shown on the Windows release health page for that build.

The build number is very old but updates say up to date

Updates are paused, or the device is managed. Check the pause value and the policy keys under WindowsUpdate.

The edition changed after a reinstall

The digital licence follows the hardware, but a clean install can pick a different edition. Check with slmgr /dlv before activating anything.

FAQ

Frequently asked

Is a higher build always better?

It is newer, not automatically more stable. For a work machine, staying on a build that still receives updates matters more than being first.

How often should I check?

Once a month is enough for a home machine. Right after a feature update is when the next end-of-servicing date gets close.

Does the build number change with every patch?

The main build stays, the revision after the dot increases. That revision is the part to track.

How to undo this

Nothing is changed by reading these values. Delete the windows-build.json file in your profile if you do not want the record.

Changelog · 1 entry
  1. 2026-11-01
    First version
Interactive version: checklist, feedback, related guides →

Free · no account needed · tracks your progress