Як дізнатися ключ продукту Windows 10

 

Відразу після виходу нової ОС, всі стали цікавитися, як дізнатися ключ встановленою Windows 10, хоча в більшості випадків він не потрібен. Тим не менше, якщо вам все-таки потрібен ключ для тих чи інших цілей, його порівняно просто визначити, як для встановленою ОС, так і зашитий виробником в UEFI ключ продукту (вони можуть відрізнятися).

У цій інструкції описані прості способи дізнатися ключ продукту Windows 10 з командного рядка Windows PowerShell, а також сторонніх програм.

  • Перегляд ключа продукту Windows 10 в ShowKeyPlus (ключ встановленої системи і ключ з UEFI)
  • Ще дві програми, щоб дізнатися ключ продукту Windows 10
  • Як дізнатися ключ з допомогою PowerShell
  • З допомогою скриптів VBS

Примітка: якщо ви зробили безкоштовне оновлення до Windows 10, а тепер хочете дізнатися ключ активації для чистої установки на тому ж комп’ютері, ви можете це зробити, але це не обов’язково (до того ж у вас буде ключ такий же, як і у інших людей, які отримали десятки шляхом оновлення). При установці Windows 10 з флешки або диска, вас попросять ввести ключ продукту, але ви можете пропустити цей крок, натиснувши у вікні запиту «У мене немає ключа продукту» (і Microsoft пише, що так і потрібно робити).

Після установки і підключення до Інтернету, система буде автоматично активується, оскільки активація «прив’язується» до вашого комп’ютера після оновлення. Тобто поле для введення ключа в програмі установки 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).

Читайте також  Покинутий кошик Mailchimp: гайд для ледачих

Все, що потрібно зробити — запустити програму і подивитися відображаються дані:

  • 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 value registry 
 $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 to a file info 
 $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

Читайте також  A/B тест — це просто

Після цього, запустіть 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, а у форматі DOS (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

Має вийти як на скріншоті нижче.

Читайте також  Як змінити розширення екрана Windows 10

Після цього збережіть документ з розширенням .vbs (для цього в діалозі збереження в полі «Тип файлу» виберіть «Всі файли».

Перейдіть в папку, де був збережений файл і запустіть його — після виконання ви побачите вікно, в якому будуть відображені ключ продукту і версія встановленої Windows 10.

Як я вже зазначив, програм для перегляду ключа є безліч — наприклад, в Speccy, а також інших утиліт для перегляду характеристик комп’ютера можна дізнатися цю інформацію. Але, впевнений, тих способів, що описані тут, буде достатньо практично в будь-якій ситуації.

Степан Лютий

Обожнюю технології в сучасному світі. Хоча частенько і замислююся над тим, як далеко вони нас заведуть. Не те, щоб я прям і знаюся на ядрах, пікселях, коллайдерах і інших парсеках. Просто приходжу в захват від того, що може в творчому пориві вигадати людський розум.

You may also like...

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *