Five Microsoft products reach end of support tomorrow: the last-day checks
Tomorrow, Tuesday 10 November, five Microsoft products reach end of support on the same day, and it's Patch Tuesday. If you haven't moved everything yet, here's what to check today, and what to do about anything that won't make it.
On this page
This is the short version, for today. The full guide, with every query and the upgrade path for each product, is 10 November is the biggest end-of-support day of the year.
End of support in
What ends tomorrow
| Ending | Move to |
|---|---|
| .NET 8 and .NET 9 | .NET 10 (LTS), supported to November 2028 |
| PowerShell 7.4 and 7.5 | PowerShell 7.6 (LTS), supported to 14 November 2028 |
| Azure Functions in-process model | Isolated worker model on .NET 10 |
| Windows 11 23H2 Enterprise, Education and IoT Enterprise | Windows 11 25H2, supported to 10 October 2028 |
| Azure IoT Edge 1.5 LTS | IoT Edge 1.6 LTS, supported to 14 November 2028 |
What actually happens on Wednesday
Nothing switches off. Apps keep running and devices keep booting. What stops is security fixes. For Windows 11 23H2, tomorrow's security update is the last. For .NET, Microsoft says there may be one final update on the day if there's a known critical issue. After that, every new flaw found in them stays unpatched.
So the risk grows month by month rather than all at once. That gives you time to finish properly, as long as you know exactly what's left.
Today: the one-hour check
If you only do four things today, do these.
- List your .NET 8 and 9 apps in Azure. Run the Resource Graph query from the full guide in Resource Graph Explorer. It covers web apps, function apps and slots across every subscription you can see.
- Export your Windows 11 23H2 devices. 23H2 is build 22631:
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 -NoTypeInformation - Check the servers nobody logs in to. Automation servers, build agents and jump boxes are where old PowerShell and .NET runtimes hide. On each one:
$PSVersionTable.PSVersion dotnet --list-runtimes - Install tomorrow's updates. For 23H2 devices it's the last security update they'll get, so make sure it actually lands.
For anything that won't make it
- Write it down. For each one: what it is, who owns it, why it can't move yet and the date it will. An exception you've recorded is a decision. One you haven't is a surprise waiting to happen.
- Fix the internet-facing ones first. A .NET 8 web app on the public internet is a bigger risk than an internal script host.
- Limit what it can reach. Tighten network access and permissions on anything left behind until it moves.
- Chase your vendors. For apps you bought rather than built, ask when they'll support .NET 10.
Don't get caught by the next one
Every Microsoft deadline we track is on the deadline calendar. Add it to Outlook or Google Calendar in one click and you'll get a reminder two weeks before each one.