If you've been managing Windows licenses by script, you know slmgr.vbs by heart – setting activation, extending the grace period, checking status, all through a VBScript file that's been baked into every Windows for ages. That exact file now has an expiration date, because Microsoft is removing the underlying scripting language from the operating system.
- Microsoft already declared VBScript deprecated back in 2024 for security reasons – slmgr.vbs is technically tied to it and is therefore indirectly affected.
- The replacement is called OSLicense: a PowerShell module with eleven cmdlets for Windows activation that, according to Wolfgang Sommergut, is supposed to ship in Windows 11 25H2 – though several readers report not finding it yet after the preview update KB5120998.
- Windows Server won't get the module until the next major release, presumably 2028 – until then, only slmgr.vbs remains there.
- There's still no fixed shutdown date for VBScript. From phase 2 onward, presumably starting with Windows 11 27H2, VBScript will only be available as an optional feature (FOD), no longer active by default.
What slmgr.vbs has handled so far
slmgr.vbs is the script built into Windows that lets you control software licensing and activation from the command line – setting a product key, checking activation status, extending the activation grace period, troubleshooting activation problems. For end users who activate Windows via the Settings page with a product key, nothing changes. Affected are admins who have automated activation in setup scripts, provisioning tools, or maintenance routines, for instance when setting up a Windows VPS.
Why VBScript specifically is disappearing
Microsoft had already announced the deprecation of VBScript back in May 2024, in the Tech Community post “VBScript deprecation: Timelines and next steps,” citing security reasons. The timeline runs in phases: from phase 2 onward – currently estimated to start in 2027, presumably with Windows 11 27H2 – VBScript will no longer be enabled by default, only installable afterward as a Feature on Demand. Microsoft has not yet named a concrete end date by which VBScript disappears entirely.
“Since VBScript has long been considered deprecated and will be removed from the OS in the foreseeable future, admins should gradually phase out slmgr.vbs.” – Wolfgang Sommergut
OSLicense: eleven cmdlets as the replacement
Microsoft is replacing the VBScript with the PowerShell module OSLicense, with eleven cmdlets covering the common activation tasks previously handled by slmgr.vbs. According to one Microsoft source, Invoke-OSLicense is available in the Windows Server vNext preview build 29651 as well as in the September 2026 security update for Windows 11 (KB5124008). Wolfgang Sommergut, on the other hand, places availability already in the preview update KB5120998 for Windows 11 24H2/25H2 from August 27, 2026 – though several readers in the comments on this topic report not finding the module on patched 25H2 systems, and Microsoft's own documentation for the module explicitly notes in one place that the specific update required for it has not yet been confirmed. Microsoft has documented the cmdlets themselves in a separate support article for Windows Server 2025.
| Feature | slmgr.vbs | OSLicense |
|---|---|---|
| Technology | VBScript | PowerShell module, 11 cmdlets |
| Status | established, but technically deprecated | new, rollout still inconsistent |
| Windows 11 | continues to work | per announcement, from 25H2 / KB5124008 |
| Windows Server | continues to work | not until next major release, presumably 2028 |
What you should do now
- Take stock. Search your setup scripts, provisioning tools, and maintenance tasks for calls to slmgr.vbs.
Get-ChildItem -Path C:\Scripts -Recurse -Include *.ps1,*.bat,*.cmd | Select-String -Pattern "slmgr" - Check whether OSLicense is already there. Before rewriting anything, verify whether the module actually exists on the system in question.
Get-Module -ListAvailable -Name OSLicense - Plan for parallel operation. As long as there's no fixed shutdown date for VBScript, replace slmgr.vbs calls with OSLicense cmdlets gradually, instead of switching everything over at once.
- Treat Windows Server separately. For server roles, slmgr.vbs remains the only option for now – don't plan a migration here before Microsoft actually delivers the module there.
- Try it on a test system before changing production scripts – for instance on a separate Windows VPS that you spin up for this on short notice.
- PowerShell cmdlets integrate more cleanly into existing PowerShell automation than a VBScript call.
- The switch is part of a broader cleanup of deprecated Windows components – the equally deprecated WMIC disappears alongside it with update KB5124008.
- Windows Server won't get the module until years later – if you maintain both worlds, you'll need two approaches for now.
- Reports on actual availability still contradict each other, and a reliable rollout date is missing.
- An end date for VBScript itself is still unknown – that's not exactly planning certainty.
How you'll know the switch is due for you
As long as your slmgr.vbs call still runs without a hitch, there's no need to rush. The migration only becomes urgent once VBScript is no longer active by default on a system – noticeable when script calls end in an error instead of a status output. Until then, it's enough to keep an eye on OSLicense's cmdlet set and check test systems early, rather than getting caught off guard on shutdown day.
For anyone setting up new Windows systems, this applies regardless: if you set up a system with a current version of Windows today through our root server ordering process, you'll typically activate it the normal way, via Settings with a product key – you won't notice any of this slmgr.vbs debate there. It only becomes relevant once activation is part of an automated setup or maintenance process.