В Windows 11 недавно был добавлен новый PowerShell модуль OSLicense, который позволяет управлять ключами, лицензиями и собственно активацией в операционной системе. Данный модуль предназначен для замены устаревшего скрипта slmgr.vbs, который уже несколько десяток лет был основным инструментом администраторов для управления активацией на устройствах с Windows. С учетом того, что Microsoft планирует полностью отказаться от поддержки и удалит компоненты скриптового языка VBScript в следующих билдах Windows в ближайшие пару лет, администраторам нужно постепенно переходить на этот PowerShell модуль.
В этой статье мы рассмотрим основные PowerShell командлеты для управления ключами, лицензией и активацией в Windows вместе с эквивалентными опциями устаревшей команды
slmgr.vbs
, которые они предназначены заменить.
PowerShell модуль OSLicense в Windows
Проверить, установлен ли модуль OSLicense на машине:
Get-Module -ListAvailable -Name "OSLicense"
Модуль должен был автоматически установиться на всех поддерживаемых версиях Windows 11 вместе с обновлениями, вышедшими в сентябре 2026 года (на хосты с Windows Server модуль пока не доставили).
Модуль разработан под PowerShell 5.1, но, если вы вручную импортируете его в более новый PowerShell Core 7.x (
pwsh.exe
), он будет корректно работать и в этой среде.
Вывести список доступных командлетов в модуле (на данный момент доступно 11 командлетов):
Get-Command -Module OSLicense

Вывести информацию о статусе активации Windows:
Get-OSLicenseInfo
Командлет выводит довольно много разной информации об активации. Но в том-то и удобство PowerShell, что на выходе он возвращает объекты, а не текст, поэтому вы можете гибко отфильтровать, какие данные (атрибуты, поля) вы хотите увидеть в результатах команды (в отличии от результатов slmgr, текстовый вывод которого нужно было дополнительно распарсивать скриптами).
Например, выведем только версию, редакцию и билд Windows, статус лицензии, и тип активации:
Get-OSLicenseInfo| Select Name,Version,LicenseStatus,Description

Видим, что это машина Windows 11 Pro, активированная на KMS сервере (VOLUME_KMSCLIENT channel).
Вывести информацию об используемом KMS сервере (если используется) и текущий настройках KMS активации на машине:
Get-KmsLicenseInfo

Типовая последовательность команд, которую нужно выполнить для ручной активации клиента Windows на KMS сервере:
Установка публичного KMS-ключа (GVLK) для нужной редакции Windows
Invoke-OSLicense -InstallProductKey "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX"
Указываем адрес и порт нашего KMS-сервера:
Set-KmsLicenseInfo -ServerName mykms.winitpro.local -Port 1688
Выполнить онлайн активацию Windows в интернете или на KMS сервере (если указан)
Invoke-OSLicense -ActivateOnline
Проверяем статус активации клиента:
Get-OSLicenseInfo | Select-Object LicenseStatus

Если KMS сервер не доступен, получим ошибку:
Success : False Operation : ActivateOnline ErrorCode : 0xC004F074 ErrorMessage : The Software Licensing Service reported that the product could not be activated. No Key Management Service (KMS) could be contacted. Please see the Application Event Log for additional information.

Офлайн активация Windows (если на компьютере отсутствует доступ в интернет, но вам все понадобится другое устройство/смартфон, где вы сможете вводить и получать коды на портале visualsupport.microsoft.com):
Установить ключ продукта:
Invoke-OSLicense -InstallProductKey "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX"
Получите код установки:
(Get-OSLicenseInfo).OfflineInstallationId
Введите ключ продукта на портале и введите полученный код подтверждения в команде:
Invoke-OSLicense -ConfirmationID 'Полученный_код_подтверждения'
Для управления активацией Windows в доменной среде, если используется активация в AD (Active Directory-based activation, ADBA), используются командлеты
Get-ADLicenseInfo
и
Invoke-ADLicense
.
Invoke-Command -ComputerName wsk023 -ScriptBlock { Get-OSLicenseInfo }
Соответствие параметров slmgr.vbs и командлетов модуля OSLicense
В следующей таблице собраны примеры команд управления активацией из модуля OSLicense и их эквиваленты и устаревшего скрипта slmgr.vbs.
| Команда модуля OSLicense | Параметр устаревшей slmgr.vbs | |
| Проверить статус активации |
Get-OSLicenseInfo
|
slmgr /dli
|
| Подробный статус активации по всем продуктам |
Get-OSLicenseInfo -All
|
slmgr /dlv all
|
| Дату окончания срока действия текущей лицензии |
Get-OSLicenseInfo | Select-Object Name, LicenseStatus, PartialProductKey, GracePeriodRemaining, EvaluationEndDate
|
slmgr /xpr
|
| Установить новый ключ продукта |
Invoke-OSLicense -InstallProductKey xxxxxxxx
|
slmgr /ipk xxxxxxxx
|
| Выполнить активацию ОС (через интернет или на указанном KMS сервере) |
Invoke-OSLicense -ActivateOnline
|
slmgr /ato
|
| Удалить установленный ключ продукта |
Invoke-OSLicense -UninstallProductKey
|
slmgr /upk
|
| Стереть ключ продукта из реестра (чтобы нельзя было скриптом извлечь ключ Windows) |
Invoke-OSLicense -ClearProductKeyFromRegistry
|
slmgr /cpky
|
| Сбросить таймер ознакомительного периода (grace period) |
Invoke-OSLicense -Rearm
|
slmgr /rearm
|
| Получить код установки для офлайн-активации |
(Get-OSLicenseInfo).OfflineInstallationId
|
slmgr /dti
|
| Ввести код подтверждения |
Invoke-OSLicense -ConfirmationID 'код'
|
slmgr /atp код
|
| Указать KMS-сервер |
Set-KmsLicenseInfo -ServerName Srv01 -Port 1688
|
slmgr /skms srv01:1688
|
| Посмотреть настройки KMS |
Get-KmsLicenseInfo
|
slmgr /dlv
(в блоке KMS) |
| Сбросить указанный KMS-сервер и порт |
Invoke-KmsLicense -ClearServer, Invoke-KmsLicense -ClearPort
|
slmgr /ckms
|
Соответственно, если Feature on Demand компонент VBS в Windows не установлен, при запуске любой команды slmgr появится ошибка:
Input Error: There is no script engine for file extension ".vbs".
Проверим, установлен ли компонент:
Get-WindowsCapability -Online -Name "VBSCRIPT*"

Так что пора обновлять ваши скрипты для управления активацией Windows на клиентах (к сожалению, в WinPE пока альтернативы slmgr пока нет).


Модуль OSLicense только для Windows 11 24H2 и новее. В Windows 10, Windows Server 2019 и еще болле старых версиях по-прежнему будет использоваться slmgr.vbs.
Точняк.
Это как два параллельных мира PS5 и PS7