Сразу после выхода новой ОС, все стали интересоваться, как узнать ключ установленной Windows 10, хотя в большинстве случаев он не требуется. Тем не менее, если вам все-таки требуется ключ для тех или иных целей, его сравнительно просто определить, как для установленной ОС, так и зашитый производителем в UEFI ключ продукта (они могут отличаться).
В этой инструкции описаны простые способы узнать ключ продукта Windows 10 с помощью командной строки, Windows PowerShell, а также сторонних программ. Заодно упомяну о том, почему разные программы показывают разные данные, как отдельно посмотреть OEM ключ в UEFI (для ОС, которая изначально была на компьютере) и ключ установленной в данный момент системы.
- Просмотр ключа продукта Windows 10 в ShowKeyPlus (ключ установленной системы и ключ из UEFI)
- Еще две программы, чтобы узнать ключ продукта Windows 10
- Как узнать ключ с помощью PowerShell
- С помощью скрипта VBS
Примечание: если вы произвели бесплатное обновление до Windows 10, а теперь хотите узнать ключ активации для чистой установки на том же компьютере, вы можете это сделать, но это не обязательно (к тому же у вас будет ключ такой же, как и у других людей, получивших десятку путем обновления). При установке Windows 10 с флешки или диска, вас попросят ввести ключ продукта, но вы можете пропустить этот шаг, нажав в окне запроса «У меня нет ключа продукта» (и Майкрософт пишет, что так и нужно делать).
После установки и подключения к Интернету, система будет автоматически активирована, поскольку активация «привязывается» к вашему компьютеру после обновления. То есть поле для ввода ключа в программе установки Windows 10 присутствует только для покупателей Retail-версий системы. Дополнительно: для чистой установки Windows 10 можно использовать ключ продукта от ранее установленной на том же компьютере Windows 7, 8 и 8.1. Подробнее про такую активацию: Активация Windows 10. А при желании, можно использовать Windows 10 и без активации.
- Просмотр ключа продукта установленной Windows 10 и OEM-ключа в ShowKeyPlus
- Как узнать ключ продукта Windows 10 в ShowKeyPlus — видео
- Еще две программы, чтобы узнать ключ продукта Windows 10
- Просмотр ключа установленной Windows 10 с помощью PowerShell
- Как узнать OEM ключ из UEFI в PowerShell
- Как посмотреть ключ установленной Windows 10 с помощью скрипта VBS
Просмотр ключа продукта установленной Windows 10 и OEM-ключа в ShowKeyPlus
Есть множество программ для описываемых здесь целей, о многих из которых я писал в статье Как узнать ключ продукта Windows 8 (8.1) (подойдет и для Windows 10), но мне больше других приглянулась найденная недавно ShowKeyPlus, которая не требует установки и отдельно показывает сразу два ключа: установленной в текущий момент системы и OEM ключ в UEFI. Заодно сообщает, для какой именно версии Windows подходит ключ из UEFI. Также с помощью этой программы можно узнать ключ из другой папки с Windows 10 (на другом жестком диске, в папке Windows.old), а заодно проверить ключ на валидность (пункт Check Product Key).
Все, что нужно сделать — запустить программу и посмотреть отображаемые данные:
- Installed Key — ключ установленной системы.
- OEM Key (Original Key) — ключ предустановленной ОС, если она была на компьютере, т.е. ключ из UEFI.
Также эти данные можно сохранить в текстовый файл для дальнейшего использования или архивного хранения, нажав кнопку «Save». Кстати, проблема с тем, что порой разные программы показывают разные ключи продукта для Windows, как раз и появляется из-за того, что некоторые из них смотрят его в установленной системе, другие в UEFI.
Как узнать ключ продукта Windows 10 в ShowKeyPlus — видео
Скачать ShowKeyPlus можно со страницы https://github.com/Superfly-Inc/ShowKeyPlus/releases/
Еще две программы, чтобы узнать ключ продукта Windows 10
Если по той или иной причине ShowKeyPlus для вас оказался неподходящим вариантом, можно использовать следующие две программы:
- NeoSmart OEMKey — показывает, если таковой присутствует, ключ из UEFI, то есть OEM ключ лицензионной системы, предустановленной производителем вашего компьютера или ноутбука. Если такого ключа нет, то вы увидите сообщение как на скриншоте ниже. Скачать программу можно бесплатно с официального сайта https://neosmart.net/OemKey/
- NirSoft ProduKey — бесплатная утилита, отображающая ключи установленных продуктов Microsoft, в том числе Windows 10. Программа доступна для загрузки с официального сайта https://www.nirsoft.net/utils/product_cd_key_viewer.html
Просмотр ключа установленной Windows 10 с помощью PowerShell
Там, где можно обойтись без сторонних программ, я предпочитаю обходиться без них. Просмотр ключа продукта Windows 10 — одна из таких задач. Если же вам проще использовать бесплатную программу для этого, пролистайте руководство ниже. (Кстати, некоторые программы для просмотра ключей отправляют их заинтересованным лицам)
Простой команды PowerShell или командной строки, для того чтобы узнать ключ установленной в настоящий момент времени системы не предусмотрено (есть такая команда, показывающая ключ из UEFI, покажу ниже. Но обычно требуется именно ключ текущей системы, отличающийся от предустановленной). Но можно воспользоваться готовым скриптом PowerShell, который отображает необходимую информацию (автор скрипта Jakob Bindslet).
Вот что потребуется сделать. Прежде всего, запустите блокнот и скопируйте в него код, представленный ниже.
#Main function
Function GetWin10Key
{
$Hklm = 2147483650
$Target = $env:COMPUTERNAME
$regPath = «SoftwareMicrosoftWindows NTCurrentVersion»
$DigitalID = «DigitalProductId»
$wmi = [WMIClass]»\$Targetrootdefault:stdRegProv»
#Get registry value
$Object = $wmi.GetBinaryValue($hklm,$regPath,$DigitalID)
[Array]$DigitalIDvalue = $Object.uValue
#If get successed
If($DigitalIDvalue)
{
#Get producnt name and product ID
$ProductName = (Get-itemproperty -Path «HKLM:SoftwareMicrosoftWindows NTCurrentVersion» -Name «ProductName»).ProductName
$ProductID = (Get-itemproperty -Path «HKLM:SoftwareMicrosoftWindows NTCurrentVersion» -Name «ProductId»).ProductId
#Convert binary value to serial number
$Result = ConvertTokey $DigitalIDvalue
$OSInfo = (Get-WmiObject «Win32_OperatingSystem» | select Caption).Caption
If($OSInfo -match «Windows 10″)
{
if($Result)
{
[string]$value =»ProductName : $ProductName `r`n» `
+ «ProductID : $ProductID `r`n» `
+ «Installed Key: $Result»
$value
#Save Windows info to a file
$Choice = GetChoice
If( $Choice -eq 0 )
{
$txtpath = «C:Users»+$env:USERNAME+»Desktop»
New-Item -Path $txtpath -Name «WindowsKeyInfo.txt» -Value $value -ItemType File -Force | Out-Null
}
Elseif($Choice -eq 1)
{
Exit
}
}
Else
{
Write-Warning «Запускайте скрипт в Windows 10»
}
}
Else
{
Write-Warning «Запускайте скрипт в Windows 10»
}
}
Else
{
Write-Warning «Возникла ошибка, не удалось получить ключ»
}
}
#Get user choice
Function GetChoice
{
$yes = New-Object System.Management.Automation.Host.ChoiceDescription «&Yes»,»»
$no = New-Object System.Management.Automation.Host.ChoiceDescription «&No»,»»
$choices = [System.Management.Automation.Host.ChoiceDescription[]]($yes,$no)
$caption = «Подтверждение»
$message = «Сохранить ключ в текстовый файл?»
$result = $Host.UI.PromptForChoice($caption,$message,$choices,0)
$result
}
#Convert binary to serial number
Function ConvertToKey($Key)
{
$Keyoffset = 52
$isWin10 = [int]($Key[66]/6) -band 1
$HF7 = 0xF7
$Key[66] = ($Key[66] -band $HF7) -bOr (($isWin10 -band 2) * 4)
$i = 24
[String]$Chars = «BCDFGHJKMPQRTVWXY2346789»
do
{
$Cur = 0
$X = 14
Do
{
$Cur = $Cur * 256
$Cur = $Key[$X + $Keyoffset] + $Cur
$Key[$X + $Keyoffset] = [math]::Floor([double]($Cur/24))
$Cur = $Cur % 24
$X = $X — 1
}while($X -ge 0)
$i = $i- 1
$KeyOutput = $Chars.SubString($Cur,1) + $KeyOutput
$last = $Cur
}while($i -ge 0)
$Keypart1 = $KeyOutput.SubString(1,$last)
$Keypart2 = $KeyOutput.Substring(1,$KeyOutput.length-1)
if($last -eq 0 )
{
$KeyOutput = «N» + $Keypart2
}
else
{
$KeyOutput = $Keypart2.Insert($Keypart2.IndexOf($Keypart1)+$Keypart1.length,»N»)
}
$a = $KeyOutput.Substring(0,5)
$b = $KeyOutput.substring(5,5)
$c = $KeyOutput.substring(10,5)
$d = $KeyOutput.substring(15,5)
$e = $KeyOutput.substring(20,5)
$keyproduct = $a + «-» + $b + «-«+ $c + «-«+ $d + «-«+ $e
$keyproduct
}
GetWin10Key
Сохраните файл с расширением .ps1. Для того, чтобы сделать это в блокноте, при сохранении в поле «Тип файла» укажите «Все файлы» вместо «Текстовые документы». Сохранить можно, например, под именем win10key.ps1
После этого, запустите Windows PowerShell от имени Администратора. Для этого, можно начать набирать PowerShell в поле поиска, после чего кликнуть по нему правой кнопкой мыши и выбрать соответствующий пункт.
В PowerShell введите следующую команду: Set-ExecutionPolicy RemoteSigned и подтвердите ее выполнение (ввести Y и нажать Enter в ответ на запрос).
Следующим шагом, введите команду: C:win10key.ps1 (в данной команде указывается путь к сохраненному файлу со скриптом).
В результате выполнения команды вы увидите информацию о ключе установленной Windows 10 (в пункте Installed Key) и предложение сохранить ее в текстовый файл. После того, как вы узнали ключ продукта, можете вернуть политику выполнения скриптов в PowerShell к значению по умолчанию с помощью команды Set-ExecutionPolicy restricted
Как узнать OEM ключ из UEFI в PowerShell
Если на вашем компьютере или ноутбуке была предустановлена Windows 10 и требуется просмотреть OEM ключ (который хранится в UEFI материнской платы), вы можете использовать простую команду, которую необходимо запустить в командной строке от имени администратора.
wmic path softwarelicensingservice get OA3xOriginalProductKey
В результате вы получите ключ предустановленной системы при его наличии в системе (он может отличаться от того ключа, который используется текущей ОС, но при этом может использоваться для того, чтобы вернуть первоначальную версию Windows).
Еще один вариант этой же команды, но для Windows PowerShell
(Get-WmiObject -query «select * from SoftwareLicensingService»).OA3xOriginalProductKey
Как посмотреть ключ установленной Windows 10 с помощью скрипта VBS
И еще один скрипт, уже не для PowerShell, а в формате VBS (Visual Basic Script), который отображает ключ продукта установленной на компьютере или ноутбуке Windows 10 и, возможно, удобнее для использования.
Скопируйте в блокнот строки, представленные ниже.
Set WshShell = CreateObject(«WScript.Shell»)
regKey = «HKLMSOFTWAREMicrosoftWindows NTCurrentVersion»
DigitalProductId = WshShell.RegRead(regKey & «DigitalProductId»)
Win10ProductName = «Версия Windows 10: » & WshShell.RegRead(regKey & «ProductName») & vbNewLine
Win10ProductID = «ID продукта: » & WshShell.RegRead(regKey & «ProductID») & vbNewLine
Win10ProductKey = ConvertToKey(DigitalProductId)
ProductKeyLabel =»Ключ Windows 10: » & Win10ProductKey
Win10ProductID = Win10ProductName & Win10ProductID & ProductKeyLabel
MsgBox(Win10ProductID)
Function ConvertToKey(regKey)
Const KeyOffset = 52
isWin10 = (regKey(66) 6) And 1
regKey(66) = (regKey(66) And &HF7) Or ((isWin10 And 2) * 4)
j = 24
Chars = «BCDFGHJKMPQRTVWXY2346789»
Do
Cur = 0
y = 14
Do
Cur = Cur * 256
Cur = regKey(y + KeyOffset) + Cur
regKey(y + KeyOffset) = (Cur 24)
Cur = Cur Mod 24
y = y -1
Loop While y >= 0
j = j -1
winKeyOutput = Mid(Chars, Cur + 1, 1) & winKeyOutput
Last = Cur
Loop While j >= 0
If (isWin10 = 1) Then
keypart1 = Mid(winKeyOutput, 2, Last)
insert = «N»
winKeyOutput = Replace(winKeyOutput, keypart1, keypart1 & insert, 2, 1, 0)
If Last = 0 Then winKeyOutput = insert & winKeyOutput
End If
a = Mid(winKeyOutput, 1, 5)
b = Mid(winKeyOutput, 6, 5)
c = Mid(winKeyOutput, 11, 5)
d = Mid(winKeyOutput, 16, 5)
e = Mid(winKeyOutput, 21, 5)
ConvertToKey = a & «-» & b & «-» & c & «-» & d & «-» & e
End Function
Должно получиться как на скриншоте ниже.
После этого сохраните документ с расширением .vbs (для этого в диалоге сохранения в поле «Тип файла» выберите «Все файлы».
Перейдите в папку, где был сохранен файл и запустите его — после выполнения вы увидите окно, в котором будут отображены ключ продукта и версия установленной Windows 10.
Как я уже отметил, программ для просмотра ключа есть множество — например, в Speccy, а также других утилитах для просмотра характеристик компьютера можно узнать эту информацию. Но, уверен, тех способов, что описаны здесь, будет достаточно практически в любой ситуации.