Microsoft is removing a run of legacy Windows components that attackers have relied on for years, and every removal is also a compatibility event that breaks some forgotten script, installer or line-of-business app. PowerShell 2.0 left Windows 11 version 24H2 from August 2025, NTLMv1 and DES are gone from 24H2 and Windows Server 2025, WMIC is no longer available even as a Feature on Demand, and VBScript is on a path to removal. This guide tracks the security-relevant deprecations and removals with the dates Microsoft publishes, explains what each change closes off for attackers, and gives a method to find and remove dependencies before Windows does it for you. It is for endpoint, Windows platform and security operations teams. It does not repeat the Windows Endpoint Hardening Guide; it covers the subset of hardening that Microsoft is now doing by removing code.
This is an independent guide from NHI Mgmt Group, based on Microsoft's public documentation as of November 2026. It is not sponsored or reviewed by Microsoft. Product features change, so confirm settings against Microsoft's current documentation.
Key takeaways
- Deprecated is not removed. Microsoft defines a deprecated feature as no longer actively developed and possibly removed in a future update. Removal dates come later and are announced separately, so track both lists.
- Removal beats disabling. A disabled legacy component can be re-enabled by an attacker with admin rights; a removed one cannot be invoked. Get ahead of Microsoft by removing components yourself once dependencies are clear.
- PowerShell 2.0 removal closes a downgrade path. The 2.0 engine predates script block logging and AMSI. On Windows 11 24H2 and Server 2025, a request for
-Version 2now launches the default engine, PowerShell 5.1. - Authentication protocols are on the list. NTLMv1 and DES are removed from 24H2 and Server 2025, and LANMAN, NTLMv1 and NTLMv2 are all deprecated in favour of Negotiate and Kerberos.
- Find dependencies with telemetry, not surveys. Process creation, PowerShell engine and logon events show what actually uses each component. Owners rarely know.
What is changing and why
Many components on Microsoft's deprecated list reflect older design assumptions: Microsoft itself describes Remote Mailslots as a "dated, simple, unreliable, insecure IPC method" and the Computer Browser service as "a dated and insecure device location protocol". Others are scripting and management tools that are heavily used in intrusions because they are present on every machine, such as VBScript (MITRE ATT&CK T1059.005), WMIC as a front end to Windows Management Instrumentation (T1047) and old PowerShell engines (T1059.001). Removing them shrinks the living-off-the-land toolkit described in the Living off the Land Guide.
Some removals are also about credentials. NTLMv1 responses can be cracked or relayed, and the NPLogonNotify and NPPasswordChangeNotify interfaces passed cleartext password payloads to network provider DLLs, which Microsoft now disables by default from 24H2. Where a removal touches authentication, it has an identity dimension, covered below.
Official timeline and current status
Dates below are from Microsoft's "Deprecated features for Windows client" page (last updated 23 September 2026), its "Features and functionality removed in Windows client" page (last updated 25 August 2026) and the PowerShell 2.0 removal support article, all checked on 8 November 2026. Microsoft's list states it might not include every affected feature.
| Component | Deprecated (announced) | Removed or changed | Security relevance | Replacement |
|---|---|---|---|---|
| Windows PowerShell 2.0 | Windows 10 version 1709 (2017) | Removed from Windows 11 24H2 as of August 2025 and Windows Server 2025 as of September 2025 | Engine without modern logging or AMSI; downgrade target (T1689) | PowerShell 5.1 or PowerShell 7 |
| NTLMv1 | NTLM family deprecated June 2024 | Removed starting in Windows 11 24H2 and Windows Server 2025 | Older challenge response, open to relay and cracking | Negotiate (Kerberos) |
| NTLM (LANMAN, NTLMv1, NTLMv2) | June 2024 | Still works in the next Server and annual Windows releases, per Microsoft | Relay and pass-the-hash (T1550.002) | Negotiate; see the NTLM Deprecation and Elimination Guide |
| DES | Disabled by default since Windows 7 and Server 2008 R2 | Removed from 24H2 and Server 2025 (September 2025) | Broken cipher in Kerberos | AES; see Kerberos RC4 Deprecation |
| WMIC | Windows 10 21H1 | Removed from Windows 11 24H2 and later; no longer a Feature on Demand (August 2026) | Common LOLBin for WMI execution and discovery | PowerShell CIM cmdlets; WMI itself is unaffected |
| VBScript | October 2023 | To become a Feature on Demand before removal; no removal date on the page | Script-based initial access and loaders | PowerShell; see VBScript Deprecation |
| TLS 1.0 and 1.1 | 1 August 2023 | Disabled by default from September 2023 Insider builds and future releases; can be re-enabled | Downgrade and legacy cipher exposure | TLS 1.2 or 1.3 |
| TLS server RSA keys under 2048 bits | March 2024 | Not valid for TLS server authentication | Short keys | 2048-bit or larger keys |
| Microsoft Defender Application Guard for Edge | December 2023 | Not available from 24H2 | Isolation feature you may be relying on | Other Edge for Business and Defender controls |
| Microsoft Defender Application Guard for Office | November 2023 | No longer updated | Isolation feature you may be relying on | Attack surface reduction rules, Protected View, App Control |
| Windows Information Protection | July 2022 | Removed starting in 24H2 | Data protection gap if still configured | Microsoft Purview |
| DirectAccess | June 2024 | Will be removed in a future release | Remote access path to retire | Always On VPN |
| Remote Mailslots | November 2023 | Disabled by default in a Windows 11 Insider build | Legacy IPC | Modern IPC |
| WebClient (WebDAV) service | November 2023 | Deprecated; not started by default | Coercion and relay surface | Modern file access |
| Microsoft Support Diagnostic Tool (MSDT) | January 2023 | Will be removed in a future release | Historically abused handler | Current Windows troubleshooting tools |
| NPLogonNotify and NPPasswordChangeNotify password payload | March 2024 | Disabled by default from 24H2; APIs may be removed | Cleartext password exposure to network provider DLLs | None needed for most estates |
| Software Restriction Policies | Windows 10 version 1803 | Deprecated | Older allowlisting model | AppLocker or App Control for Business (WDAC) |
Status note: removal dates apply to the Windows versions named. Windows 10 and earlier Windows Server releases keep many of these components until those products leave support; see the Operating System End of Life and Extended Support Guide. Microsoft revises these pages regularly, so recheck them before each feature update.
Who and what is affected
- Script estates: logon scripts, scheduled tasks and software deployment packages written in VBScript or calling
wmicorpowershell.exe -Version 2. Microsoft says scripts requesting version 2 now run under 5.1 and most keep working, but those depending on 2.0-specific behaviour may not. - Legacy installers: Microsoft warns that older software may try to install or enable PowerShell 2.0 and that its installer may fail on Windows versions where the feature is missing.
- Old devices and appliances: NAS units, printers, scanners and line-of-business servers that authenticate with NTLMv1, use DES Kerberos keys, or only speak TLS 1.0 or 1.1.
- Remote access and isolation: organisations still using DirectAccess, Application Guard or Windows Information Protection lose a control they may have counted on in risk registers.
- Security tooling: detection rules that key on
wmic.exeorwscript.exewill go quiet, which is good, but replacement activity will appear under PowerShell and needs coverage.
Where identity fits
Service accounts and machine credentials are often the last users of legacy protocols. A scanner that authenticates to a file share with NTLMv1, a backup job using a DES-enabled account, or a scheduled task running a VBScript under a domain service account will all fail after removal. Inventory these accounts as part of the migration, move them to gMSA or dMSA where possible, and retire the old ones. See the Windows Services and Service Account Security Guide.
Finding affected systems and identities
Use read-only telemetry for at least 30 days, ideally across a month-end, before deciding. The table lists the signal for each component.
| Component | What to look for | Where |
|---|---|---|
| PowerShell 2.0 | Engine start events where the engine version is 2.0; command lines containing -Version 2 or -v 2; whether the optional feature is still installed on older builds | Windows PowerShell log event 400, process creation (Security 4688 with command line, or Sysmon event 1), endpoint inventory |
| WMIC | Executions of wmic.exe and their parent processes | Process creation events, EDR |
| VBScript | Executions of wscript.exe and cscript.exe with .vbs files, and Office or browser processes spawning them | Process creation events, EDR, software deployment packages |
| NTLMv1 | Successful logons whose NTLM package is NTLM V1 | Security event 4624 on servers and domain controllers; NTLM auditing policies |
| DES and RC4 Kerberos | Ticket requests using legacy encryption types; accounts with DES flags set | Security events 4768 and 4769 on domain controllers |
| TLS 1.0 and 1.1 | Clients and servers negotiating legacy versions | Schannel logging, load balancer and proxy logs |
| DirectAccess, WIP, Application Guard | Configured policies and installed features | Group Policy and Intune configuration reports |
Event 400 is logged in the Windows PowerShell classic event log when an engine starts and includes the engine version, which makes it the most reliable way to catch 2.0 use on systems that still have it. Correlate each hit with the host owner and the account that ran it, then tag the dependency in your CMDB.
Migration options
| Situation | Option | Trade-off |
|---|---|---|
Script uses -Version 2 unnecessarily | Remove the switch and test on 5.1 | Low effort; most scripts work unchanged per Microsoft |
| Script depends on 2.0 behaviour | Rewrite for PowerShell 5.1 or 7 | Needs a developer; brings modern logging and AMSI coverage |
| Vendor product requires PowerShell 2.0 | Upgrade or replace; Microsoft documents reinstalling 2.0 from the ps2DLC.zip package only as a temporary mitigation | Reintroduces the downgrade path; time-box and isolate |
| WMIC in scripts | Rewrite with Get-CimInstance and related CIM cmdlets | Straightforward; WMI providers are unchanged |
| VBScript in logon scripts and packages | Rewrite in PowerShell, sign scripts, enforce with App Control | Largest effort in older estates; plan by owner |
| Device needs NTLMv1 or DES | Firmware upgrade, Kerberos with AES, or replace the device | Hardware cost; isolate on a segmented network meanwhile |
| DirectAccess | Always On VPN or a zero trust access service | Project-sized change; start before removal is announced |
Small versus large estates: a small organisation can often remove components directly after a two-week audit, because the dependency list is short. A large estate should run the removal as a programme with a register of exceptions, each with an owner and an expiry date, and should not wait for a feature update to force the issue on thousands of devices at once.
Testing and rollback
- Audit. Collect the telemetry above for 30 days or more and build the dependency register.
- Fix or exempt. Remediate each dependency or record an exception with an owner, a compensating control and an expiry.
- Pilot ring. Remove or disable the component on IT and security staff devices first, then a business pilot ring of 5 to 10 percent, using Intune or Group Policy so the change is centrally reversible.
- Broad rings. Expand in rings, watching help desk tickets and the same telemetry for failures.
- Prevent re-introduction. Use App Control for Business or AppLocker rules and configuration baselines so removed components and legacy protocols are not quietly re-enabled.
Rollback: for components you removed early, re-enable the optional feature or protocol on the affected ring only, with an expiry date. For components Microsoft has removed from 24H2 and Server 2025, rollback options are limited: for PowerShell 2.0 Microsoft documents only the temporary ps2DLC.zip reinstall, and for NTLMv1 and DES there is no supported return on those versions. That asymmetry is the reason to test before the feature update, not after.
Detection and measurement
- Hosts with PowerShell 2.0 engine starts (event 400 with engine version 2.0) in the last 30 days: target zero.
- Successful NTLMv1 logons per week across servers and domain controllers: target zero.
- Executions of
wmic.exe,wscript.exeandcscript.exeper week, trending down to zero outside exceptions. - Open exceptions in the deprecation register and the share past their expiry date.
- Devices on Windows versions where the removals apply, as a share of the estate.
Risks of doing nothing
- Forced breakage: the next feature update removes the component on Microsoft's schedule, and the broken script or device surfaces as an outage rather than a planned change.
- Attacker tooling stays available on older builds: Windows 10 and earlier server versions keep PowerShell 2.0, WMIC and VBScript, so downgrade and living-off-the-land techniques remain usable there.
- Credential exposure: NTLMv1 and DES on older systems keep credentials crackable and relayable (T1557.001, T1550.002).
- Phantom controls: risk registers that still list Application Guard or Windows Information Protection overstate protection on 24H2 devices where those features are gone.
- Detection gaps: rules tuned for old binaries miss the PowerShell and CIM equivalents attackers move to.
Common failure patterns
- Waiting for the feature update to discover dependencies, then rolling back the whole update instead of fixing one script.
- Reinstalling PowerShell 2.0 for one vendor tool across the whole estate and never removing it again.
- Disabling NTLMv1 on clients but not auditing servers and appliances that still accept it.
- Rewriting VBScript logon scripts without signing them or enforcing script control, so new PowerShell scripts are just as abusable.
- Deleting detections for WMIC and VBScript without adding equivalent coverage for PowerShell CIM activity.
Framework mapping
| Framework | Reference | Relevance |
|---|---|---|
| NIST SP 800-53 Rev 5 | CM-7, CM-8, SA-22 | Least functionality, component inventory, unsupported components |
| NIST CSF 2.0 | ID.AM-02, PR.PS-02 | Software inventory; software maintained, replaced and removed according to risk |
| CIS Controls v8.1 | 2.1, 2.2, 4.8 | Software inventory, supported software, uninstall or disable unnecessary services |
| ISO/IEC 27001:2022 | Annex A 8.9, 8.19 | Configuration management; installation of software on operational systems |
| MITRE ATT&CK v20 | T1059.001, T1059.005, T1047, T1689, T1550.002, T1557.001 | Techniques the removals constrain |
Practitioner checklist
- Subscribe to Microsoft's deprecated and removed features pages and review them before every Windows feature update.
- Collect PowerShell event 400, process creation and NTLM logon telemetry for at least 30 days.
- Build a deprecation register listing every dependency, its owner, its service account and an expiry date.
- Remove
-Version 2from scripts and scheduled tasks and test them on PowerShell 5.1. - Rewrite WMIC calls with CIM cmdlets and plan VBScript replacement by owner.
- Eliminate NTLMv1 and DES use on servers and appliances, segmenting devices that cannot be fixed.
- Remove legacy components yourself in rings ahead of Microsoft, with App Control rules to stop re-introduction.
- Update risk registers that still rely on Application Guard, WIP or DirectAccess.
Standards and references
- Microsoft Learn: Deprecated features for Windows client
- Microsoft Learn: Features and functionality removed in Windows client
- Microsoft Support: PowerShell 2.0 removal from Windows
- MITRE ATT&CK: T1689 Downgrade Attack
- MITRE ATT&CK: T1059.005 Visual Basic
- MITRE ATT&CK: T1047 Windows Management Instrumentation
- NIST: SP 800-53 Rev. 5 Security and Privacy Controls
Related NHI Mgmt Group resources: Windows Endpoint Hardening Guide · PowerShell Security Guide · NTLM Deprecation and Elimination Guide · VBScript Deprecation · Windows 11 Security Settings Guide