10 November is the biggest end-of-support day of the year: what ends, how to find it, and what to move to
.NET 8 and 9, PowerShell 7.4 and 7.5, the Azure Functions in-process model, Windows 11 23H2 Enterprise and Education, and IoT Edge 1.5 all reach end of support on Tuesday 10 November 2026, which is also Patch Tuesday. Here's how to find each one in your estate and what to move it to.
On this page
Most end-of-support dates arrive one at a time. Tuesday 10 November 2026 brings six at once, and it's also Patch Tuesday. For most of these products, the November updates are the last they'll ever get.
Nothing switches off on the day. Apps keep running and devices keep booting. What stops is security fixes, so anything still on these versions afterwards picks up a new unpatched flaw every month.
End of support in
Countdown to Tuesday 10 November 2026 (UTC).
- .NET 8 (LTS) and .NET 9 (STS)
- PowerShell 7.4 (LTS) and 7.5
- Azure Functions in-process model
- Windows 11 23H2 Enterprise, Education and IoT Enterprise
- Azure IoT Edge 1.5 LTS
- .NET 10 (LTS), supported to November 2028
- PowerShell 7.6 (LTS), supported to 14 November 2028
- Isolated worker model on .NET 10
- Windows 11 25H2, supported to 10 October 2028
- IoT Edge 1.6 LTS, supported to 14 November 2028
.NET 8 and .NET 9
.NET 8 was a long-term support release, so ending in November 2026 was always the plan. .NET 9 ends on the same day because Microsoft extended support for short-term releases from 18 to 24 months. After 10 November, neither gets security fixes. Microsoft says there may be one final update on the day if there's a known critical issue.
The move is to .NET 10, a long-term support release supported until November 2028. For most projects it starts with changing TargetFramework to net10.0 and working through the .NET 10 breaking changes list.
Find .NET 8 and 9 apps in Azure App Service and Functions
This Azure Resource Graph query lists every Linux web app, function app and slot whose stack is .NET 8 or 9, across every subscription you can see. Run it in Resource Graph Explorer:
resources
| where type =~ "microsoft.web/sites" or type =~ "microsoft.web/sites/slots"
| mv-expand p = properties.siteProperties.properties
| where tostring(p.name) =~ "LinuxFxVersion"
| extend stack = tostring(p.value)
| where stack matches regex @"(?i)^dotnet(core|-isolated)?\|(8|9)\.0"
| project name, kind, resourceGroup, subscriptionId, stack
| order by stack ascWindows apps keep their .NET version in a setting Resource Graph doesn't show, so check them with Azure PowerShell. This works through the current subscription and lists any web or function app on .NET 8 or 9:
Get-AzWebApp | ForEach-Object {
$c = (Get-AzWebApp -ResourceGroupName $_.ResourceGroup -Name $_.Name).SiteConfig
[pscustomobject]@{
App = $_.Name
Group = $_.ResourceGroup
Windows = $c.NetFrameworkVersion
Linux = $c.LinuxFxVersion
}
} | Where-Object { $_.Windows -in 'v8.0', 'v9.0' -or $_.Linux -match '^DOTNET.*\|(8|9)\.0' }Run Set-AzContext -Subscription '<subscription id>' first to check another subscription.
Find .NET 8 and 9 on servers and build agents
Run this on the machine to see every runtime installed:
dotnet --list-runtimesApps you bought rather than built are the awkward ones. Microsoft's advice is to ask the vendor for a version that targets .NET 10.
Azure Functions: the in-process model
Support for .NET function apps on the in-process model ends on 10 November, the same day as .NET 8. Microsoft's Azure Functions notice also covers apps that are already on the isolated worker model but still target .NET 8 or 9: they keep running, but security updates stop.
The Resource Graph query above catches function apps too. The full migration, including Microsoft's script to find in-process apps and how to switch with a staging slot and no downtime, is in the Azure Functions post.
PowerShell 7.4 and 7.5
PowerShell follows the .NET it's built on, so PowerShell 7.4 (built on .NET 8) and PowerShell 7.5 (built on .NET 9) both reach end of support on 10 November. The move is to PowerShell 7.6, the current long-term support release, supported until 14 November 2028.
Check the version on any machine with:
$PSVersionTable.PSVersionThe places PowerShell 7 hides are the ones nobody logs in to: automation servers, build agents, jump boxes and scheduled task hosts. Check those first. On managed endpoints, search for PowerShell 7 under Apps > Monitor > Discovered apps in Intune to see which versions are out there.
Windows 11 23H2 Enterprise and Education
Home and Pro editions of 23H2 have already stopped getting updates. On 10 November, Enterprise, Education and IoT Enterprise editions of 23H2 follow, and the November security update is their last.
Microsoft's recommended target is Windows 11 25H2, which Enterprise and Education editions get updates for until 10 October 2028. 24H2 is still supported, but only until 12 October 2027, so going straight to 25H2 saves you doing this again next year.
Find 23H2 devices in Intune
23H2 is build 22631. In the Intune admin center, go to Devices > Windows and filter or sort by OS version for anything starting 10.0.22631. To get a list you can work from, use Microsoft Graph PowerShell:
Connect-MgGraph -Scopes DeviceManagementManagedDevices.Read.All
Get-MgDeviceManagementManagedDevice -Filter "operatingSystem eq 'Windows'" -All |
Where-Object OsVersion -like '10.0.22631*' |
Select-Object DeviceName, UserPrincipalName, OsVersion, LastSyncDateTime |
Export-Csv .\windows-11-23h2-devices.csv -NoTypeInformationThen move them with a feature update policy targeting 25H2, from the Feature updates tab of Windows updates in the Intune admin center. Devices that haven't synced for weeks won't pick it up, so the LastSyncDateTime column is worth sorting by.
Azure IoT Edge 1.5
If you run IoT Edge, 1.5 LTS support ends on 10 November. The supported release is IoT Edge 1.6 LTS, supported until 14 November 2028. Check a device with iotedge version, and check your client SDK version before upgrading: 1.6 pairs with a newer SDK than 1.5.
The checklist for the next 12 days
- Run the Resource Graph query and the Azure PowerShell check, and list every app on .NET 8 or 9.
- List every function app still on the in-process model, and plan the migration for the ones that matter most.
- Check automation servers, build agents and jump boxes for PowerShell 7.4 and 7.5, and move them to 7.6.
- Export your 23H2 devices and target them with a 25H2 feature update policy.
- Ask vendors of any bought-in .NET apps when they'll support .NET 10.
- For anything you can't move by 10 November, write down why and when it will move, and limit its exposure in the meantime.
Every date is also on the deadline timeline, which you can subscribe to as a calendar.
Sources
- Ending support in 2026 (Microsoft Lifecycle)
- .NET 8 and .NET 9 end of support and STS releases supported for 24 months (.NET Blog)
- AZ558033: .NET 8 support ends on App Service and AZ572838: .NET 8 and .NET 9 support ends on Azure Functions (Azure service notices)
- Migrate .NET apps from the in-process model to the isolated worker model (Microsoft Learn)
- PowerShell support lifecycle (Microsoft Learn)
- Windows 11 release information (Windows release health)
- Azure IoT Edge supported systems and releases (Microsoft Learn)