Відразу після виходу нової ОС, всі стали цікавитися, як дізнатися ключ встановленою Windows 10, хоча в більшості випадків він не потрібний. Проте, якщо вам все-таки потрібен ключ для тих чи інших цілей, його порівняно просто визначити, як для встановленої ОС, так і зашитий виробником в UEFI ключ продукту (вони можуть відрізнятися).
У цій інструкції описані прості способи дізнатися ключ продукту Windows 10 за допомогою командного рядка, Windows PowerShell, а також сторонніх програм. Заодно згадаю про те, чому різні програми показують різні дані, як окремо подивитися OEM ключ в UEFI (для ОС, яка спочатку була на комп'ютері) і ключ встановленої в даний момент системи.
Примітка: якщо ви зробили безкоштовне оновлення до Windows 10, а тепер хочете дізнатися ключ активації для чистої установки на тому ж комп'ютері, ви можете це зробити, але це не обов'язково (до того ж у вас буде ключ такий же, як і у інших людей , які отримали десятку шляхом поновлення). При установці Windows 10 з флешки або диска, вас попросять ввести ключ продукту, але ви можете пропустити цей крок, натиснувши у вікні запиту «У мене немає ключа продукту» (і Майкрософт пише, що так і треба робити).

Після установки і підключення до Інтернету, система буде автоматично активована, оскільки активація «прив'язується» до вашого комп'ютера після оновлення. Тобто поле для введення ключа в програмі установки Windows 10 є присутнім тільки для покупців Retail-версій системи. Додатково: для чистої установки Windows 10 можна використовувати ключ продукту від раніше встановленої на одному комп'ютері Windows 7, 8 і 8.1. Детальніше про таку активацію: Активація Windows 10. А при бажанні, можна використовувати Windows 10 і без активації.
Перегляд ключа продукту встановленої 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 для вас виявився невідповідним варіантом, можна використовувати наступні дві програми:
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, а також інших утилітах для перегляду характеристик комп'ютера можна дізнатися цю інформацію. Але, впевнений, тих способів, що описані тут, буде досить практично в будь-якій ситуації.