Windows 10 End of Life Audit

Discover the End of Life Status of Your Environment

Microsoft regularly releases new versions of Windows 10. Unlike previous Windows versions, the new versions are released more frequently than the service packs Microsoft used to work with. Releasing feature updates more frequently does have the benefit of being able to update and add features to Windows 10, improving security, and ensuring that your network is adequately protected.

As is clear by now, tracking all of this can be a nightmare. Especially if you don't even have a complete inventory to begin with. Luckily, the report below will be able to help here. After you've scanned your environment, the color-coded report will indicate which machines are EOL, which ones are nearing their EOL date (EOL date is within 6 months), and which ones are still supported for some time. You can find more information on our Windows 10 blog.

Windows 10 End of Life Query

Select Top 1000000 tblAssets.AssetID,
tblAssets.AssetName,
tblAssets.Domain,
tblAssets.Username,
tblAssets.Userdomain,
Coalesce(tsysOS.Image, tsysAssetTypes.AssetTypeIcon10) As icon,
tblAssets.IPAddress,
tsysIPLocations.IPLocation,
tblAssetCustom.Manufacturer,
tblAssetCustom.Model,
tblOperatingsystem.Caption As OS,
tblAssets.Version,
Case
When tblAssets.Version In ('1507', '1511', '1607', '1703', '1709', '1903')
And (tblOperatingsystem.Caption Not Like '%LTSB%' and
tblOperatingsystem.Caption Not Like '%LTSC%') Then 'EOL'
When tblAssets.Version In ('1803', '1809') And
(tblOperatingsystem.Caption Like '%Home%' Or
tblOperatingsystem.Caption Like '%Pro%') Then 'EOL'
When GetDate() < '2025-10-14' And (tblAssets.Version = '1507' Or
tblOperatingsystem.Caption Like '%2015%') And
(tblOperatingsystem.Caption Like '%LTSB%' Or
tblOperatingsystem.Caption Like '%LTSC%') Then
'EOL in ' + Cast(DateDiff(DAY, GetDate(), '2025-10-14') As nvarchar) +
' days'
When GetDate() < '2026-10-13' And tblAssets.Version = '1607' And
(tblOperatingsystem.Caption Like '%LTSB%' Or
tblOperatingsystem.Caption Like '%LTSC%') Then
'EOL in ' + Cast(DateDiff(DAY, GetDate(), '2026-10-13') As nvarchar) +
' days'
When GetDate() < '2029-01-09' And tblAssets.Version = '1809' And
(tblOperatingsystem.Caption Like '%LTSB%' Or
tblOperatingsystem.Caption Like '%LTSC%') Then
'EOL in ' + Cast(DateDiff(DAY, GetDate(), '2029-01-09') As nvarchar) +
' days'
When GetDate() >= '2021-05-11' And tblAssets.Version = '1803' And
(tblOperatingsystem.Caption Like '%Enterprise%' Or
tblOperatingsystem.Caption Like '%Education%' Or
tblOperatingsystem.Caption Like '%IoT%') Then 'EOL'
When GetDate() >= '2021-05-11' And tblAssets.Version = '1809' And
(tblOperatingsystem.Caption Like '%Enterprise%' Or
tblOperatingsystem.Caption Like '%Education%' Or
tblOperatingsystem.Caption Like '%IoT%') Then 'EOL'
When GetDate() >= '2022-05-10' And tblAssets.Version = '1909' And
(tblOperatingsystem.Caption Like '%Enterprise%' Or
tblOperatingsystem.Caption Like '%Education%' Or
tblOperatingsystem.Caption Like '%IoT%') Then 'EOL'
When GetDate() >= '2021-12-14' And tblAssets.Version = '2004' And
(tblOperatingsystem.Caption Like '%Enterprise%' Or
tblOperatingsystem.Caption Like '%Education%' Or
tblOperatingsystem.Caption Like '%IoT%') Then 'EOL'
When GetDate() >= '2023-05-09' And tblAssets.Version = '2009' And
(tblOperatingsystem.Caption Like '%Enterprise%' Or
tblOperatingsystem.Caption Like '%Education%' Or
tblOperatingsystem.Caption Like '%IoT%') Then 'EOL'
When GetDate() >= '2021-05-11' And tblAssets.Version = '1909' And
(tblOperatingsystem.Caption Like '%Home%' Or
tblOperatingsystem.Caption Like '%Pro%') Then 'EOL'
When GetDate() >= '2021-12-14' And tblAssets.Version = '2004' And
(tblOperatingsystem.Caption Like '%Home%' Or
tblOperatingsystem.Caption Like '%Pro%') Then 'EOL'
When GetDate() >= '2022-05-10' And tblAssets.Version = '2009' And
(tblOperatingsystem.Caption Like '%Home%' Or
tblOperatingsystem.Caption Like '%Pro%') Then 'EOL'
When GetDate() >= '2025-10-14' And tblAssets.Version = '1507' And
(tblOperatingsystem.Caption Like '%LTSB%' Or
tblOperatingsystem.Caption Like '%LTSC%') Then 'EOL'
When GetDate() >= '2026-10-13' And tblAssets.Version = '1607' And
(tblOperatingsystem.Caption Like '%LTSB%' Or
tblOperatingsystem.Caption Like '%LTSC%') Then 'EOL'
When GetDate() >= '2029-01-09' And tblAssets.Version = '1809' And
(tblOperatingsystem.Caption Like '%LTSB%' Or
tblOperatingsystem.Caption Like '%LTSC%') Then 'EOL'
When GetDate() < '2021-05-11' And tblAssets.Version = '1803' And
(tblOperatingsystem.Caption Like '%Enterprise%' Or
tblOperatingsystem.Caption Like '%Education%' Or
tblOperatingsystem.Caption Like '%IoT%') Then
'EOL in ' + Cast(DateDiff(DAY, GetDate(), '2021-05-11') As nvarchar) +
' days'
When GetDate() < '2021-05-11' And tblAssets.Version = '1809' And
(tblOperatingsystem.Caption Like '%Enterprise%' Or
tblOperatingsystem.Caption Like '%Education%' Or
tblOperatingsystem.Caption Like '%IoT%') Then
'EOL in ' + Cast(DateDiff(DAY, GetDate(), '2021-05-11') As nvarchar) +
' days'
When GetDate() < '2022-05-10' And tblAssets.Version = '1909' And
(tblOperatingsystem.Caption Like '%Enterprise%' Or
tblOperatingsystem.Caption Like '%Education%' Or
tblOperatingsystem.Caption Like '%IoT%') Then
'EOL in ' + Cast(DateDiff(DAY, GetDate(), '2022-05-10') As nvarchar) +
' days'
When GetDate() < '2021-12-14' And tblAssets.Version = '2004' And
(tblOperatingsystem.Caption Like '%Enterprise%' Or
tblOperatingsystem.Caption Like '%Education%' Or
tblOperatingsystem.Caption Like '%IoT%') Then
'EOL in ' + Cast(DateDiff(DAY, GetDate(), '2021-12-14') As nvarchar) +
' days'
When GetDate() < '2023-05-09' And tblAssets.Version = '2009' And
(tblOperatingsystem.Caption Like '%Enterprise%' Or
tblOperatingsystem.Caption Like '%Education%' Or
tblOperatingsystem.Caption Like '%IoT%') Then
'EOL in ' + Cast(DateDiff(DAY, GetDate(), '2023-05-09') As nvarchar) +
' days'
When GetDate() < '2021-05-11' And tblAssets.Version = '1909' And
(tblOperatingsystem.Caption Like '%Home%' Or
tblOperatingsystem.Caption Like '%Pro%') Then
'EOL in ' + Cast(DateDiff(DAY, GetDate(), '2021-05-11') As nvarchar) +
' days'
When GetDate() < '2021-12-14' And tblAssets.Version = '2004' And
(tblOperatingsystem.Caption Like '%Home%' Or
tblOperatingsystem.Caption Like '%Pro%') Then
'EOL in ' + Cast(DateDiff(DAY, GetDate(), '2021-12-14') As nvarchar) +
' days'
When GetDate() < '2022-05-10' And tblAssets.Version = '2009' And
(tblOperatingsystem.Caption Like '%Home%' Or
tblOperatingsystem.Caption Like '%Pro%') Then
'EOL in ' + Cast(DateDiff(DAY, GetDate(), '2022-05-10') As nvarchar) +
' days'
When tblAssets.Version Is Null Then 'Rescan Asset'
Else 'Supported'
End As Status,
subquery1.[EOL Date],
tblAssets.Lastseen,
tblAssets.Lasttried,
Case
When tblAssets.Version In ('1507', '1511', '1607', '1703', '1709', '1903')
And (tblOperatingsystem.Caption Not Like '%LTSB%' and
tblOperatingsystem.Caption Not Like '%LTSC%') Then '#ffadad'
When tblAssets.Version In ('1803', '1809') And
(tblOperatingsystem.Caption Like '%Home%' Or
tblOperatingsystem.Caption Like '%Pro%') Then '#ffadad'
When GetDate() >= '2025-10-14' And (tblAssets.Version = '1507' Or
tblOperatingsystem.Caption Like '%2015%') And
(tblOperatingsystem.Caption Like '%LTSB%' Or
tblOperatingsystem.Caption Like '%LTSC%') Then '#ffadad'
When GetDate() >= '2026-10-13' And tblAssets.Version = '1607' And
(tblOperatingsystem.Caption Like '%LTSB%' Or
tblOperatingsystem.Caption Like '%LTSC%') Then '#ffadad'
When GetDate() >= '2029-01-09' And tblAssets.Version = '1809' And
(tblOperatingsystem.Caption Like '%LTSB%' Or
tblOperatingsystem.Caption Like '%LTSC%') Then '#ffadad'
When GetDate() >= '2021-05-11' And tblAssets.Version = '1803' And
(tblOperatingsystem.Caption Like '%Enterprise%' Or
tblOperatingsystem.Caption Like '%Education%' Or
tblOperatingsystem.Caption Like '%IoT%') Then '#ffadad'
When GetDate() >= '2021-05-11' And tblAssets.Version = '1809' And
(tblOperatingsystem.Caption Like '%Enterprise%' Or
tblOperatingsystem.Caption Like '%Education%' Or
tblOperatingsystem.Caption Like '%IoT%') Then '#ffadad'
When GetDate() >= '2022-05-10' And tblAssets.Version = '1909' And
(tblOperatingsystem.Caption Like '%Enterprise%' Or
tblOperatingsystem.Caption Like '%Education%' Or
tblOperatingsystem.Caption Like '%IoT%') Then '#ffadad'
When GetDate() >= '2021-12-14' And tblAssets.Version = '2004' And
(tblOperatingsystem.Caption Like '%Enterprise%' Or
tblOperatingsystem.Caption Like '%Education%' Or
tblOperatingsystem.Caption Like '%IoT%') Then '#ffadad'
When GetDate() >= '2023-05-09' And tblAssets.Version = '2009' And
(tblOperatingsystem.Caption Like '%Enterprise%' Or
tblOperatingsystem.Caption Like '%Education%' Or
tblOperatingsystem.Caption Like '%IoT%') Then '#ffadad'
When GetDate() >= '2021-05-11' And tblAssets.Version = '1909' And
(tblOperatingsystem.Caption Like '%Home%' Or
tblOperatingsystem.Caption Like '%Pro%') Then '#ffadad'
When GetDate() >= '2021-12-14' And tblAssets.Version = '2004' And
(tblOperatingsystem.Caption Like '%Home%' Or
tblOperatingsystem.Caption Like '%Pro%') Then '#ffadad'
When GetDate() >= '2022-05-10' And tblAssets.Version = '2009' And
(tblOperatingsystem.Caption Like '%Home%' Or
tblOperatingsystem.Caption Like '%Pro%') Then '#ffadad'
When GetDate() >= DateAdd(month, -6, subquery1.[EOL Date]) Then '#ffd152'
Else '#d4f4be'
End As backgroundcolor
From tblAssets
Left Join (Select tblOperatingsystem.AssetID,
Case
When (tblassets.Version = '1507' Or
tblOperatingsystem.Caption Like '%2015%') And
(tblOperatingsystem.Caption Like '%LTSB%' Or
tblOperatingsystem.Caption Like '%LTSC%') Then '2025-10-14'
When tblassets.Version = '1607' And (tblOperatingsystem.Caption Like
'%LTSB%' Or
tblOperatingsystem.Caption Like '%LTSC%') Then '2026-10-13'
When tblassets.Version = '1809' And (tblOperatingsystem.Caption Like
'%LTSB%' Or
tblOperatingsystem.Caption Like '%LTSC%') Then '2029-01-09'
When tblassets.Version = '1507' And (tblOperatingsystem.Caption Not Like
'%LTSB%' Or
tblOperatingsystem.Caption Not Like '%LTSC%') Then '2017-05-09'
When tblassets.Version = '1511' Then '2017-10-10'
When tblassets.Version = '1607' And (tblOperatingsystem.Caption Like
'%Home%' Or tblOperatingsystem.Caption Like '%Pro%') Then '2018-04-10'
When tblassets.Version = '1607' And (tblOperatingsystem.Caption Like
'%Enterprise%' Or
tblOperatingsystem.Caption Like '%Education%') Then '2019-04-09'
When tblassets.Version = '1703' And (tblOperatingsystem.Caption Like
'%Home%' Or tblOperatingsystem.Caption Like '%Pro%') Then '2018-10-09'
When tblassets.Version = '1703' And (tblOperatingsystem.Caption Like
'%Enterprise%' Or
tblOperatingsystem.Caption Like '%Education%') Then '2019-10-08'
When tblassets.Version = '1709' And (tblOperatingsystem.Caption Like
'%Home%' Or tblOperatingsystem.Caption Like '%Pro%') Then '2019-04-09'
When tblassets.Version = '1709' And (tblOperatingsystem.Caption Like
'%Enterprise%' Or
tblOperatingsystem.Caption Like '%Education%') Then '2020-04-14'
When tblassets.Version = '1803' And (tblOperatingsystem.Caption Like
'%Home%' Or tblOperatingsystem.Caption Like '%Pro%') Then '2019-11-12'
When tblassets.Version = '1803' And (tblOperatingsystem.Caption Like
'%Enterprise%' Or
tblOperatingsystem.Caption Like '%Education%') Then '2020-11-10'
When tblassets.Version = '1809' And (tblOperatingsystem.Caption Like
'%Home%' Or tblOperatingsystem.Caption Like '%Pro%') Then '2020-05-12'
When tblassets.Version = '1809' And (tblOperatingsystem.Caption Like
'%Enterprise%' Or
tblOperatingsystem.Caption Like '%Education%') Then '2021-05-11'
When tblassets.Version = '1903' And (tblOperatingsystem.Caption Like
'%Home%' Or tblOperatingsystem.Caption Like '%Pro%') Then '2020-12-08'
When tblassets.Version = '1903' And (tblOperatingsystem.Caption Like
'%Enterprise%' Or
tblOperatingsystem.Caption Like '%Education%') Then '2020-12-08'
When tblassets.Version = '1909' And (tblOperatingsystem.Caption Like
'%Home%' Or tblOperatingsystem.Caption Like '%Pro%') Then '2021-05-11'
When tblassets.Version = '1909' And (tblOperatingsystem.Caption Like
'%Enterprise%' Or
tblOperatingsystem.Caption Like '%Education%') Then '2022-05-10'
When tblassets.Version = '2004' And (tblOperatingsystem.Caption Like
'%Home%' Or tblOperatingsystem.Caption Like '%Pro%') Then '2021-12-14'
When tblassets.Version = '2004' And (tblOperatingsystem.Caption Like
'%Enterprise%' Or
tblOperatingsystem.Caption Like '%Education%') Then '2021-12-14'
When tblassets.Version = '2009' And (tblOperatingsystem.Caption Like
'%Home%' Or tblOperatingsystem.Caption Like '%Pro%') Then '2022-05-10'
When tblassets.Version = '2009' And (tblOperatingsystem.Caption Like
'%Enterprise%' Or
tblOperatingsystem.Caption Like '%Education%') Then '2023-05-09'
End As [EOL Date]
From tblOperatingsystem
Inner Join tblassets On tblassets.AssetID = tblOperatingsystem.AssetID) As
subquery1 On subquery1.AssetID = tblAssets.AssetID
Inner Join tblAssetCustom On tblAssets.AssetID = tblAssetCustom.AssetID
Inner Join tsysAssetTypes On tsysAssetTypes.AssetType = tblAssets.Assettype
Inner Join tsysIPLocations On tsysIPLocations.LocationID =
tblAssets.LocationID
Inner Join tblState On tblState.State = tblAssetCustom.State
Inner Join tblOperatingsystem On tblOperatingsystem.AssetID =
tblAssets.AssetID
Left Join tsysOS On tsysOS.OScode = tblAssets.OScode
Where tblState.Statename = 'Active' And tblOperatingsystem.Caption Like
'%Windows 10%'
Order By tblAssets.Domain,
tblAssets.AssetName

Audit and Take Action in 3 Easy Steps

1. Download & Install Lansweeper

3. Run the Audit & Take Action

Download Lansweeper to Run this Audit

Harness the Power of Reporting