Статья

Как активировать Office через командную строку и PowerShell Slug

Бывает, что купленный ключ есть, а применить его нечем: при запуске Word выводит плашку «Нелицензированный продукт», а окно активации не открывается или закрывается с ошибкой. Выход есть — лицензию можно закрепить вручную, из консоли. За это отвечает скрипт ospp.vbs, который уже присутствует в папке с программой. Понадобятся всего три команды: одна вписывает ключ, вторая обращается к серверам Microsoft, третья показывает результат.

Оговорка на входе. Скрипт понимает только бессрочные корпоративные редакции: Office 2016, 2019, 2021 и LTSC 2024, а вместе с ними Project и Visio. Для приложений по подписке Microsoft 365 схема иная, у Microsoft для них припасён собственный PowerShell-скрипт — про него ниже отдельный раздел.

Подойдёт ли ваш ключ

Начать стоит именно с этого, иначе все команды упрутся в ошибку. Параметр /inpkey лицензию не выдаёт, он лишь прописывает в систему то, что у вас уже куплено. Через консоль встают ключи корпоративных редакций — Professional Plus и Standard — для выпусков 2016, 2019, 2021 и LTSC 2024.

Домашние варианты, Home и Home & Business, устроены иначе: Microsoft закрепляет их за аккаунтом, поэтому в консоли они не примутся. Такие лицензии подтверждаются входом в профиль, порядок описан в инструкции по установке и активации Office через учётную запись Microsoft.

Где найти ospp.vbs

Расшифровывается название как Office Software Protection Platform — это штатное средство Microsoft для работы с лицензией из консоли. Отдельно его не качают, файл поставляется вместе с программой.

Папку подсказывает разрядность самой программы, а не системы. Когда установлена 64-разрядная сборка, искать нужно тут:

C:\Program Files\Microsoft Office\root\Office16

Если на 64-разрядной Windows стоит 32-разрядный выпуск, адрес будет такой:

C:\Program Files (x86)\Microsoft Office\root\Office16

Вложенная папка root появляется у сборок Click-to-Run. При развёртывании через старый установщик MSI её не будет — файл окажется прямо в Office16. Цифры в названии никого не должны сбивать: этим именем внутри Microsoft помечена вся линейка выпусков с 2016 по 2024 год, каталогов Office21 или Office24 в природе нет.

Три команды, которые закрепляют лицензию

Работать придётся из-под администратора и в консоли, открытой с повышенными правами — иначе система заблокирует часть операций с лицензией.

Запустите командную строку от имени администратора и перейдите в найденную папку. Ключ /d понадобится, если программа стоит не на системном диске:

cd /d "C:\Program Files\Microsoft Office\root\Office16"

Впишите свои 25 символов из письма вместо иксов. Прежний ключ, если он был прописан, эта строка перезапишет:

cscript ospp.vbs /inpkey:XXXXX-XXXXX-XXXXX-XXXXX-XXXXX

Обратитесь к серверам Microsoft:

cscript ospp.vbs /act

Посмотрите, чем всё закончилось. Консоль перечислит лицензии и покажет пять последних знаков ключа, который сейчас работает:

cscript ospp.vbs /dstatus

Ориентир — строка LICENSE STATUS. Значение LICENSED говорит, что лицензия закреплена; предупреждающая плашка исчезнет, как только вы заново откроете Word. Вся процедура занимает меньше минуты и перезагрузки не требует.

Подобрано по теме статьи

Лицензионные продукты

Что меняется в PowerShell

Сам скрипт запускает cscript.exe, а PowerShell выступает лишь оболочкой, так что результат будет тем же. Расхождений с cmd ровно три, и спотыкаются обычно на них.

Переход в каталог. Здесь cd — только псевдоним Set-Location, а путь с пробелами обязан быть в кавычках:

Set-Location "C:\Program Files\Microsoft Office\root\Office16"

Лишние строки в выводе. Перед результатом cscript печатает служебный баннер Windows Script Host, который мешает разбирать вывод в конвейере. Отключает его ключ //nologo, причём удвоенный слэш здесь не опечатка — так оформляются параметры самого cscript:

cscript //nologo ospp.vbs /dstatus

Уровень прав. Окно, открытое обычным щелчком, повышенных прав не имеет, PowerShell тоже нужно запускать от имени администратора.

Про Execution Policy можно не вспоминать: она распространяется на файлы .ps1, а формат .vbs обрабатывает Windows Script Host. Строка с ospp.vbs отработает при любом значении этой политики.

Владельцам Microsoft 365

Приложения по подписке с версии 1910 переведены на другой механизм проверки лицензии, и ospp.vbs их попросту не обнаруживает — как и подписочные Project с Visio. Для них предназначен скрипт vnextdiag.ps1, который поставляется начиная с версии 2104. Расположен он в каталоге без вложенной папки root:

C:\Program Files\Microsoft Office\Office16

Вызывают его из Windows PowerShell, предварительно перейдя в этот каталог, и обязательно с префиксом ./ — иначе оболочка команду не найдёт, текущую папку она при поиске не просматривает:

./vnextdiag.ps1 -action list

Вы увидите тип лицензии, наименование продукта, её текущее состояние и адрес профиля, под которым выполнена активация.

А вот тут политика запуска уже вступает в дело: при значении Restricted любые сценарии .ps1 будут заблокированы. Снять запрет для одной своей учётной записи, не меняя настройки всей системы, помогает такая строка:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

Если команда возвращает ошибку

Номер из сообщения расшифровывает сам скрипт — подставьте его в такую строку:

cscript ospp.vbs /ddescr:0xC004F042

Перечень прошлых неудачных попыток покажет параметр /dhistoryacterr, а значения распространённых кодов собраны в справочнике ошибок Microsoft Office. Дальше ориентируйтесь по симптомам:

  • «Данный ключ продукта не предназначен для этого продукта» — редакции не совпали: Professional Plus в Home & Business не встанет, и обратный вариант тоже не пройдёт.
  • Файл не найден — переберите четыре возможных адреса: с папкой root и без неё, в Program Files и в Program Files (x86). Пусто во всех четырёх означает, что у вас подписочные приложения, и работать нужно через vnextdiag.ps1.
  • Ответ приходит окнами — вы забыли указать cscript. Файлы .vbs по умолчанию достаются wscript, а он выводит всё диалоговыми окнами.
  • «Отказано в доступе» — консоль запущена без повышения прав либо профиль не входит в группу администраторов.
  • Лицензия слетела через сутки — в системе накопилось несколько лицензий либо не работает служба защиты программного обеспечения. Что проверять, описано в статье о том, что делать, когда Office просит активацию.