Это сводится к этому. Windows Professional лицензирована для использования на ноутбуке. Неважно, как вы поставите операционную систему на ноутбук. Он всегда будет лицензирован для использования на этом оборудовании. В том, что вы пытаетесь сделать, нет ничего незаконного, и на самом деле это чрезвычайно распространенный сценарий.
Мы используем полностью бесконтактный опыт для развертывания всех наших новых систем.
Мы встраиваем общий ключ продукта Windows 10 Pro в файл unattend.xml на этапе specialize в разделе настройки оболочки (VK7JG-NPHTM-C97JM-9MPGT-3V66T
) этого достаточно для обхода проблем с ключом продукта во время развертывания.
Мы создаем дополнительный шаг в задаче развертывания в разделе «Восстановление состояния», который запускает следующий сценарий powershell для активации системы с помощью встроенного ключа продукта:
#Этот скрипт выполняет автоматическую активацию во время развертывания Windows.
# Он проверит, активирована ли Windows, если нет, то попытается активировать с помощью ключа BIOS.
# Функция активации устанавливает указанный ключ продукта и возвращает значение true или false в случае успешной активации.
функция Активировать
{
#Если $key не существует, мы не можем активировать
если (-не $ключ) { вернуть }
пытаться
{
$instance = (Get-WmiObject -query 'выбрать * из SoftwareLicensingService')
$instance.InstallProductKey($key)
$instance.RefreshLicenseStatus()
} поймать { вернуть }
}
#Сначала проверьте, не активирована ли уже Windows.
if (Get-WmiObject SoftwareLicensingProduct | где {$_.PartialProductKey -и $_.Name -например, "*Windows*" -и ($_.LicenseStatus -eq 1 -или $_.LicenseStatus -eq 2)})
{
#Хост уже активирован.
выход
}
#Проверьте наличие ключа BIOS - если он существует, то мы будем использовать его в первую очередь.
$key = (Get-WmiObject -query 'выбрать * из SoftwareLicensingService').OA3xOriginalProductKey
если ($ключ)
{
#Ключ BIOS существует - используйте его
если (Активировать ключ $) { выход }
}
Вы можете увидеть доказательства в этом скрипте, который проверяет, существует ли ключ BIOS и была ли активация успешной:
если ($ключ)
{
#Ключ BIOS существует - используйте его
если (Активировать ключ $) { выход }
}
Одно время у нас также были ноутбуки с Windows 7, которые мы передислоцировали с Windows 10. Итак, у нас также был ключ корпоративной лицензии для Windows 10, и код был изменен таким образом, что, если не существовало ключа BIOS, мы вызывали Активировать
функция с корпоративным лицензионным ключом:
если ($ключ)
{
#Ключ BIOS существует - используйте его
если (Активировать ключ $) { выход }
}
еще
{
Ключ #BIOS не существует - используйте VLK
если (Активировать «ххххх-ххххх-ххххх-ххххх-ххххх») { выход }
}
Вы можете добавить дополнительную логику, если активация не удалась, как показано в операторе if:
если (Активировать «ххххх-ххххх-ххххх-ххххх-ххххх») { выход }
И вы можете сделать еще один шаг, чтобы этот шаг в вашей задаче развертывания требовал определенного кода выхода, и в случае сбоя задача развертывания может выдать предупреждение или сбой в конце процесса, предупреждая вас о проблемах с активацией.
Активация BIOS после использования общего ключа продукта всегда была немного шаткой. Возможно, этот скрипт вообще больше не нужен, и после этого Windows автоматически активируется. Я думаю, что это маловероятно, потому что Windows уже приняла (недействительный) универсальный ключ и не будет пытаться его заменить, поэтому для этого нужен сценарий.