T The Triage ManualTechnical Guides for IT Emergencies
P2 · Endpoint & Device Management

Windows 10 End of Life & Windows Server 2016 Extended Support Expiry — ESU, Upgrade, and Lifecycle Compliance

Windows 10 reached end of support on 14 October 2025 and receives no further security patches unless Extended Security Updates (ESU) are purchased and activated. Windows Server 2016 enters its final extended support window ending 12 January 2027, requiring active upgrade or migration planning now. Affected systems without ESU entitlement or an approved upgrade path accumulate unpatched CVEs and trigger compliance failures in vulnerability scanners, Defender for Endpoint, and audit frameworks (including PCI-DSS, ISO 27001, HIPAA, and Cyber Essentials). Remediation options are: activate ESU as a bridge, upgrade Windows 10 endpoints to Windows 11 in-place, perform in-place OS upgrade of Server 2016 to Server 2019/2022, or migrate Server 2016 workloads to Azure (which provides free ESU for hosted VMs) or onboard to Azure Arc for free ESU on on-premises Server 2016.

Indicators

Likely causes

Diagnostic steps

  1. Identify all Windows 10 and Server 2016 systems in the environment. In SCCM/ConfigMgr, query device collections filtered on OperatingSystemNameandVersion. In Intune, navigate to Devices > All Devices and filter by OS version. Against Active Directory: `Get-ADComputer -Filter * -Properties OperatingSystem | Where-Object { $_.OperatingSystem -like '*Windows 10*' -or $_.OperatingSystem -like '*Server 2016*' } | Select Name, OperatingSystem | Export-Csv C:\eol_audit.csv`
    Establish the full scope of affected systems requiring ESU enrolment, upgrade, or migration before the compliance deadline.
  2. For each Windows 10 machine, confirm whether ESU has been activated. Run: `slmgr /dli` — examine the output 'License Description' field. A valid ESU entitlement will explicitly reference Extended Security Update in the description. For detailed entitlement information, also run `slmgr.vbs /dlv`. If ESU is not present, the device is completely unpatched post-EOL.
    Determine which end-of-life Windows 10 devices are covered by ESU and which are wholly unpatched, to prioritise remediation urgency.
  3. For Windows 10 devices targeted for Windows 11 upgrade: run the Microsoft PC Health Check tool on a representative sample, or use WhyNotWin11 for bulk scripted fleet assessment. Verify TPM 2.0 readiness programmatically: `Get-Tpm | Select-Object TpmPresent,TpmReady,TpmEnabled,TpmActivated`. Also check via WMI: `Get-WmiObject -Namespace 'root\CIMv2\Security\MicrosoftTpm' -Class Win32_Tpm | Select SpecVersion` (must be 2.0). Confirm Secure Boot capability in BIOS/UEFI and cross-reference CPU against Microsoft's Windows 11 supported processor list.
    Identify which Windows 10 endpoints can be upgraded in-place to Windows 11 versus those requiring hardware replacement, and quantify the hardware refresh cost.
  4. For Server 2016 systems: document each server's role, installed applications, and current patch level. Calculate days remaining until 12 January 2027. For Azure-hosted Server 2016 VMs, confirm whether free Extended Security Updates are being applied automatically (Azure provides ESU at no charge for VMs in Azure). For on-premises Server 2016: assess whether in-place upgrade to Server 2019 or 2022 is feasible, or whether workload migration to a new build is required. Also assess Azure Arc onboarding eligibility for on-premises instances requiring an ESU bridge.
    Prioritise Server 2016 remediation workstreams and ensure upgrade or migration completes before 12 January 2027 to maintain continuous support coverage and regulatory compliance.
  5. Export vulnerability scanner output (Defender Vulnerability Management, Qualys, Nessus) filtered for CVEs affecting Windows 10 and Windows Server 2016 with no available patch (i.e., CVEs published post-EOL with no fix for EOL platforms). Compile a risk exposure report quantifying open CVEs, CVSS scores, and EPSS/exploitability ratings for stakeholder escalation.
    Communicate the tangible security risk of remaining on unsupported platforms to drive upgrade prioritisation and budget approval for hardware refresh or ESU procurement.
  6. Retrieve last installed hotfix/update date on target Windows 10 or Server 2016 systems: `Get-HotFix | Sort-Object InstalledOn -Descending | Select-Object -First 10`. Look for absence of updates dated after 14 October 2025 on Windows 10 machines without ESU.
    Provides direct evidence of a patching gap — confirms whether security updates stopped arriving post end-of-support, quantifying unpatched exposure duration.
  7. Assess installed roles and features on Server 2016 systems: `Get-WindowsFeature | Where-Object {$_.InstallState -eq 'Installed'} | Select-Object Name,DisplayName`. Cross-reference against supported configurations on Server 2022/2025.
    Identifies role or feature dependencies that may block or complicate in-place upgrade or workload migration before the 12 January 2027 deadline.
  8. Verify TPM 2.0 readiness on Windows 10 devices for Windows 11 eligibility via: `Get-Tpm | Select-Object TpmPresent,TpmReady,TpmEnabled,TpmActivated`. Use WhyNotWin11 for bulk scripted compatibility assessment across the fleet.
    Provides a scriptable, fleet-scale alternative to PC Health Check for identifying Windows 11-ineligible devices requiring hardware refresh or ESU.

Resolution path

Prevention

Tools

References

windows-10windows-server-2016end-of-lifeeolesuextended-security-updateslifecyclecompliancepatch-managementupgradewindows-11windows-server-2022security-risktriageslmgrin-place-upgradeintunesccmazure-arcwhynotwin11usmtmdtautopilotos-upgradetpmpci-dssiso27001hipaacyber-essentialshardware-refreshvulnerability-management