Support dates depend on the exact version of each product, and the name people use for a system is often not the version it runs. Each check below takes a minute or two. If you would prefer one step, our free end-of-support check is a script that reports all of this in one go.
Windows Server
On the server, press the Windows key and R together, type winver and press Enter. A small window shows the product name and the build number.
The same information is available from PowerShell, the command window built into Windows:
(Get-CimInstance Win32_OperatingSystem).Caption
This returns the product name and edition, for example Microsoft Windows Server 2019 Standard. To see the build number as well:
Get-CimInstance Win32_OperatingSystem | Select-Object Caption, Version, BuildNumber
The build number identifies the product:
| Build number | Product |
|---|---|
| 9200 | Windows Server 2012 |
| 9600 | Windows Server 2012 R2 |
| 14393 | Windows Server 2016 |
| 17763 | Windows Server 2019 |
| 20348 | Windows Server 2022 |
| 26100 | Windows Server 2025 |
winver may show a second number after a full stop, such as 20348.5631. That part rises with each monthly update. Only the first part identifies the product.
SQL Server
SQL Server is Microsoft’s database product. Whoever looks after the database can run this query in SQL Server Management Studio or any other query tool connected to it:
SELECT @@VERSION;
The result is one line of text. Microsoft’s own example, shortened here, looks like this:
Microsoft SQL Server 2022 (RTM-CU14) (KB5038325) - 16.0.4135.4 (X64)
Developer Edition (64-bit) on Windows 11 Enterprise 10.0 <X64> (Build 22631: )
The product name is at the start. If it is missing or unclear, the first two parts of the version number identify the product:
| Version number begins | Product |
|---|---|
| 10.0 | SQL Server 2008 |
| 10.50 | SQL Server 2008 R2 |
| 11.0 | SQL Server 2012 |
| 12.0 | SQL Server 2014 |
| 13.0 | SQL Server 2016 |
| 14.0 | SQL Server 2017 |
| 15.0 | SQL Server 2019 |
| 16.0 | SQL Server 2022 |
| 17.0 | SQL Server 2025 |
The rest of the number shows which service pack or update has been applied.
The same line names the edition, such as Express, Standard or Enterprise. Every edition, including the free Express edition, shares the same support dates. Express is easy to overlook because it is often installed as part of another product.
If nobody can run a query, the SQL Server Installation Center on the server has a report called Installed SQL Server features discovery report. It lists every copy of SQL Server on that machine.
.NET Framework
.NET Framework is the Microsoft component that many Windows applications need in order to run. Windows records the installed version in the registry, its internal settings store, as a number called Release under the key HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full. This PowerShell command reads it:
Get-ItemPropertyValue -LiteralPath 'HKLM:SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full' -Name Release
The command returns a number. Find the last row in this table whose value is less than or equal to it:
| .NET Framework version | Minimum Release value |
|---|---|
| 4.5 | 378389 |
| 4.5.1 | 378675 |
| 4.5.2 | 379893 |
| 4.6 | 393295 |
| 4.6.1 | 394254 |
| 4.6.2 | 394802 |
| 4.7 | 460798 |
| 4.7.1 | 461308 |
| 4.7.2 | 461808 |
| 4.8 | 528040 |
| 4.8.1 | 533320 |
A result of 528049, for example, means .NET Framework 4.8. If the command reports that it cannot find the key, .NET Framework 4.5 or later is not installed.
This is the version installed on the machine. An application may have been built for an earlier 4.x version and be running on the later one. The older .NET Framework 3.5 is recorded separately, under HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5, where an Install value of 1 means it is present.
Modern .NET
Modern .NET, which covers .NET 8, 9 and 10, is a separate product from .NET Framework. Open a command prompt and run:
dotnet --list-runtimes
Each line of the result names a runtime and its version, for example Microsoft.NETCore.App 8.0.0. The first number is the .NET version. Several versions can be installed side by side, so expect more than one line.
If the command is not recognised, modern .NET is not installed for the whole machine. That does not rule it out completely, because an application can carry its own private copy.
Microsoft Access and Office
Open Access, or any other Office program, and choose File, then Account. The product name and version appear under Product Information. The About Access button next to it shows the full version number and whether the copy is 32-bit or 64-bit.
Go by the product name here and not the version number. Office 2016, 2019, 2021 and 2024 all report version 16.0, because Microsoft kept the same major version number for all four. They are told apart by the product name shown on that screen, which carries the year. A copy that comes with a subscription shows a Microsoft 365 name instead.
What to do with the answers
Write down each product name and version, then compare them with our end of support dates. For SQL Server, note the service pack as well, because Microsoft’s support for the older versions applies only to the final one.
Sources
- What version of Windows am I running?
- Win32_OperatingSystem class
- Windows Server release information
- Windows Server 2012 R2 Update
- MS15-008 security update file information, for Windows Server 2012 build 9200
- Determine which version and edition of SQL Server Database Engine is running
- Latest updates and version history for SQL Server
- SQL Server 2016 lifecycle, listing the editions covered
- How to: Determine which .NET Framework versions are installed
- How to check that .NET is already installed
- About Office: What version of Office am I using?
- Overview of Office 2019
- Overview of Office LTSC 2021
- Overview of Office LTSC 2024
Last checked against Microsoft’s pages on 2 October 2026. Microsoft’s pages are the authority: if this page and Microsoft’s disagree, follow Microsoft.