Reports

Cisco IOS XE End of Life

Find Unsupported Cisco IOS XE Installations

Cisco IOS XE is a Linux-based operating system developed by Cisco for enterprise routers, switches, wireless controllers, and other network devices. Its modular architecture allows core networking functions to run as independent processes, improving system stability and serviceability.

The report below shows you all Cisco IOS XE installations in your network with their end of life date, so that you can stay on top of which devices need to be updated soon before support ends to reduce your exposure to unpatched vulnerabilities. In Lansweeper Sites, you can find this information in the OS Lifecycle space. You can read more about the Cisco IOS XE lifecycle in our end of life blog.

Cisco IOS XE EOL Lansweeper Classic Query

Select Top 1000000
  tblAssets.AssetID,
  tsysAssetTypes.AssetTypeIcon10 As Icon,
  tblAssets.AssetName,
  tblAssets.Domain,
  tblAssets.IPAddress,
  tblAssets.Description,
  ParsedData.[Version],
  ParsedData.IOSXECycle As [IOS XE Cycle],
  Case
    When EOLData.IsLTS = 1 Then 'Yes'
    When EOLData.Cycle Is Not Null Then 'No'
    Else ''
  End As [LTS],
  EOLData.ReleaseDate As [Release Date],
  EOLData.MaintenanceSupportEnd As [Maintenance Support End],
  EOLData.SecuritySupportEnd As [Security Support End],
  Case
    When EOLData.Cycle Is Not Null
    Then Cast(DateDiff(day, GetDate(), EOLData.SecuritySupportEnd) As nvarchar) + ' days remaining'
    Else ''
  End As [Days Remaining],
  tblAssetCustom.Manufacturer,
  tblAssetCustom.Model,
  tblAssetCustom.Location,
  tsysIPLocations.IPLocation,
  tblAssets.Firstseen,
  tblAssets.Lastseen,
  Case
    When EOLData.Cycle Is Null Then '#d3d3d3'
    When Convert(date, GetDate()) > EOLData.SecuritySupportEnd Then '#ffadad'
    When Convert(date, GetDate()) >= DateAdd(day, -90, EOLData.SecuritySupportEnd) Then '#ffd152'
    When Convert(date, GetDate()) > EOLData.MaintenanceSupportEnd Then '#ffd152'
    Else '#d4f4be'
  End As backgroundcolor
From tblAssets
  Inner Join tsysAssetTypes On tsysAssetTypes.AssetType = tblAssets.Assettype
  Left Outer Join tblAssetCustom On tblAssets.AssetID = tblAssetCustom.AssetID
  Left Outer Join tsysOS On tsysOS.OScode = tblAssets.OScode
  Left Join tsysIPLocations On tsysIPLocations.StartIP <= tblAssets.IPNumeric
    And tsysIPLocations.EndIP >= tblAssets.IPNumeric
  Left Join (
    Select
      VersionData.AssetID,
      VersionData.[Version],
      Case
        When CharIndex('.', VersionData.[Version]) > 1
          And Try_Convert(int,
            Left(
              SubString(
                VersionData.[Version],
                CharIndex('.', VersionData.[Version]) + 1,
                50
              ),
              CharIndex(
                '.',
                SubString(
                  VersionData.[Version],
                  CharIndex('.', VersionData.[Version]) + 1,
                  50
                ) + '.'
              ) - 1
            )
          ) Is Not Null
        Then Left(VersionData.[Version], CharIndex('.', VersionData.[Version]) - 1) + '.' +
          Convert(nvarchar(10),
            Try_Convert(int,
              Left(
                SubString(
                  VersionData.[Version],
                  CharIndex('.', VersionData.[Version]) + 1,
                  50
                ),
                CharIndex(
                  '.',
                  SubString(
                    VersionData.[Version],
                    CharIndex('.', VersionData.[Version]) + 1,
                    50
                  ) + '.'
                ) - 1
              )
            )
          )
        Else ''
      End As IOSXECycle
    From (
      Select
        a.AssetID,
        Case
          When CharIndex('Version ', a.Description) > 0
            And CharIndex(',', a.Description, CharIndex('Version ', a.Description) + Len('Version ')) > 0
          Then LTrim(RTrim(
            SubString(
              a.Description,
              CharIndex('Version ', a.Description) + Len('Version '),
              CharIndex(',', a.Description, CharIndex('Version ', a.Description) + Len('Version ')) -
                (CharIndex('Version ', a.Description) + Len('Version '))
            )
          ))
          Else ''
        End As [Version]
      From tblAssets a
    ) VersionData
  ) ParsedData On ParsedData.AssetID = tblAssets.AssetID
  Left Join (
    Select
      '17.18' As Cycle,
      Convert(date, '2025-08-08') As ReleaseDate,
      1 As IsLTS,
      Convert(date, '2028-02-08') As MaintenanceSupportEnd,
      Convert(date, '2029-08-08') As SecuritySupportEnd
    Union All Select '17.17', Convert(date, '2025-03-31'), 0, Convert(date, '2026-03-31'), Convert(date, '2026-03-31')
    Union All Select '17.16', Convert(date, '2024-12-11'), 0, Convert(date, '2025-12-11'), Convert(date, '2025-12-11')
    Union All Select '17.15', Convert(date, '2024-08-09'), 1, Convert(date, '2027-02-09'), Convert(date, '2028-08-09')
    Union All Select '17.14', Convert(date, '2024-04-13'), 0, Convert(date, '2025-04-13'), Convert(date, '2025-04-13')
    Union All Select '17.13', Convert(date, '2023-11-30'), 0, Convert(date, '2024-11-30'), Convert(date, '2024-11-30')
    Union All Select '17.12', Convert(date, '2023-07-28'), 1, Convert(date, '2026-01-28'), Convert(date, '2027-07-28')
    Union All Select '17.11', Convert(date, '2023-03-28'), 0, Convert(date, '2024-03-28'), Convert(date, '2024-03-28')
    Union All Select '17.10', Convert(date, '2022-11-30'), 0, Convert(date, '2023-11-30'), Convert(date, '2023-11-30')
    Union All Select '17.9', Convert(date, '2022-07-29'), 1, Convert(date, '2025-01-29'), Convert(date, '2026-07-29')
    Union All Select '17.8', Convert(date, '2022-04-11'), 0, Convert(date, '2023-04-11'), Convert(date, '2023-04-11')
    Union All Select '17.7', Convert(date, '2021-11-30'), 0, Convert(date, '2022-11-30'), Convert(date, '2022-11-30')
    Union All Select '17.6', Convert(date, '2021-07-30'), 1, Convert(date, '2023-01-30'), Convert(date, '2024-07-30')
    Union All Select '17.5', Convert(date, '2021-03-31'), 0, Convert(date, '2022-03-31'), Convert(date, '2022-03-31')
    Union All Select '17.4', Convert(date, '2020-11-30'), 0, Convert(date, '2021-11-30'), Convert(date, '2021-11-30')
    Union All Select '17.3', Convert(date, '2020-07-31'), 1, Convert(date, '2023-01-31'), Convert(date, '2024-07-31')
    Union All Select '17.2', Convert(date, '2020-03-30'), 0, Convert(date, '2021-03-30'), Convert(date, '2021-03-30')
    Union All Select '17.1', Convert(date, '2019-11-21'), 0, Convert(date, '2020-11-21'), Convert(date, '2020-11-21')
    Union All Select '16.12', Convert(date, '2019-07-31'), 1, Convert(date, '2022-01-31'), Convert(date, '2023-07-31')
  ) EOLData On EOLData.Cycle = ParsedData.IOSXECycle
Where tblAssetCustom.Manufacturer Like '%Cisco%'
  And (
    tblAssets.Description Like '%IOS XE%'
    Or tblAssets.Description Like '%IOS-XE%'
    Or tblAssets.Description Like '%IOSXE%'
  )
Order By
  EOLData.SecuritySupportEnd,
  tblAssets.Domain,
  tblAssets.AssetName

Show

Hide

Ready to get started?

Explore the full platform, free for 14 days.
No credit card required.

Need help evaluating?
Get guidance on pricing at scale and enterprise requirements.
Talk to sales
Clear pricing as you grow
Transparent plans that scale with your environment.
View plans & pricing