Загрузка 0
ПОДЕЛИТЬСЯ

Мой блог

Листай вниз

Модуль PowerShell OSLicense для управления активацией Windows

Модуль PowerShell OSLicense для управления активацией Windows

Подробности изложены в материале первоисточника. Каждый пользователь, который ранее работал с настройкой лицензий, вводом ключей или продлением пробного периода Windows, наверняка привык использовать классические скрипты slmgr.vbs. Тем не менее, актуальные сборки Windows 11 постепенно отказываются от этих утилит, требуя подключения устаревших компонентов, а в дальнейшем они исчезнут окончательно.

Чтобы заменить привычные инструменты, начиная со сборок 26100.9278 и 26200.9278, разработчики внедрили в систему специальный инструмент управления лицензиями. Я подготовил подробный разбор того, как устроен этот инструмент и чем он может заменить старые подходы.

Команды OSLicense и их использование

Прежде чем переходить к управлению ключами и статусами, я рекомендую проверить, присутствует ли нужный компонент в вашей системе. Для этого я запускаю терминал и выполняю базовую диагностику.

Реклама

Проверка наличия и доступные команды

Чтобы убедиться, что модуль присутствует в системе, я открываю Терминал Windows или стандартную консоль PowerShell с правами администратора через контекстное меню кнопки «Пуск». Затем я ввожу команду получения списка модулей:

Обзор интерфейса PowerShell и модуля OSLicense
Общий вид рабочей среды PowerShell при работе с новыми функциями управления активацией Windows.

Get-Module -ListAvailable -Name "OSLicense"

Если в выданной таблице отображается строка с именем OSLicense, значит, инструмент доступен и полностью готов к работе. Пустой результат означает, что на компьютере установлена более ранняя редакция ОС или отсутствуют свежие патчи безопасности и обновления.

Справочные данные и интерактивный режим

Для вывода полного перечня доступных команд внутри данного модуля я применяю стандартный командлет:

Выполнение командлетов управления лицензиями Windows
Процесс выполнения системных команд для получения информации о текущей редакции операционной системы.

Get-Command -Module OSLicense

Если мне требуется узнать подробности о конкретной функции, я обращаюсь к встроенной справке через конструкцию Get-Help КОМАНДА. А для тех случаев, когда хочется наглядно посмотреть все параметры в графическом интерфейсе, я использую команду Show-Command КОМАНДА, которая открывает удобное окно взаимодействия.

Справочная информация по модулю OSLicense
Отображение списка доступных параметров и функций внутри современного модуля PowerShell.

Примеры практического применения и таблица аналогов

Все команды поддерживают передачу аргументов, фильтрацию и форматирование вывода. Например, простой вызов Get-OSLicenseInfo демонстрирует детальные сведения о текущей активации.

Фильтрация сведений и проверка KMS

Чтобы отсечь лишние данные и получить только самое важное, я использую более сложную конструкцию с выбором конкретных свойств:

Get-OSLicenseInfo | Select-Object Description, LicenseStatus, PartialProductKey, GracePeriodRemaining | Format-List

Вывод информации о статусе лицензии Windows
Я форматирую вывод команды, чтобы увидеть подробный статус лицензии, канал поставки и остаток пробного периода.

Этот запрос выводит канал лицензирования (например, Retail, OEM или Volume), текущий статус, оставшееся время пробного периода и последние символы введенного ключа. Дополнительно я проверяю наличие корпоративной активации через Get-KmsLicenseInfo: если поля пустые или содержат значение «N/A», значит, локальный или сетевой эмулятор KMS не задействован.

Таблица соответствия команд OSLicense и slmgr.vbs

Для удобства перехода я составил сводную таблицу, которая сопоставляет новые инструменты PowerShell с привычными аргументами старого скрипта:

Проверка KMS-активации с помощью OSLicense
С помощью специализированной команды я проверяю, используется ли в данный момент сетевой KMS-эмулятор.
  • Базовая информация: Get-OSLicenseInfo (аналог slmgr.vbs /dli и /xpr).
  • Выборочные свойства: Get-OSLicenseInfo | Select-Object … (аналог slmgr.vbs /dlv).
  • Маркерные лицензии: Get-OSLicenseInfo -TokenBasedLicenses (аналог slmgr.vbs /dil).
  • Онлайн-активация: Invoke-OSLicense -ActivateOnline (аналог slmgr.vbs /ato).
  • Установка ключа: Invoke-OSLicense -InstallProductKey (аналог slmgr.vbs /ipk).
  • Удаление ключа: Invoke-OSLicense -UninstallProductKey (аналог slmgr.vbs /upk).
  • Очистка реестра: Invoke-OSLicense -ClearProductKeyFromRegistry (аналог slmgr.vbs /cpky).
  • Сброс таймеров (Rearm): Invoke-OSLicense -Rearm (аналог slmgr.vbs /rearm, требует перезагрузки).
  • Переустановка сертификатов: Invoke-OSLicense -ReinstallSystemLicenses (аналог slmgr.vbs /rilc).
  • Офлайн-активация: Получение кода через .OfflineInstallationId и активация через Invoke-OSLicense -ActivateOffline (аналоги /dti и /atp).
  • Управление KMS: Set-KmsLicenseInfo, Get-KmsLicenseInfo и Invoke-KmsLicense -ClearServer (аналоги /skms, /dlv, /ckms).
  • Корпоративные подписки: Get-ADLicenseInfo и Get-SubscriptionLicenseInfo (для облачных подписок M365).

Подводя итог, я отмечу: даже если старые скрипты на вашем ПК пока выполняются без ошибок вроде «Нет приложения, сопоставленного с этим файлом», полный отказ от VBScript в будущих сборках Windows неизбежен. Поэтому освоение современного модуля OSLicense станет обязательным шагом для каждого системного администратора и опытного пользователя.

01.