Что делать если вы забыли ключ от Windows 10 или Windows 8? Как быть если предыдущий администратор не передал вам ключ от Windows Server 2012 R2? Ноутбук с Windows непонятной версии нужно откатить на заводские настройки, а ключ от операционной системы никто не помнит?
В зависимости от того, как вы получили свою копию Windows 10, для активации может потребоваться 25-значный ключ продукта или цифровая лицензия.
- Цифровая лицензия (в Windows 10 версии 1511 носит название цифрового разрешения) — это способ активации в Windows 10, который не требует ввода ключа продукта.
- Ключ продукта представляет собой 25-значный код, используемый для активации Windows. Вы увидите КЛЮЧ ПРОДУКТА: XXXXX-XXXXX-XXXXX-XXXXX-XXXXX.
Ключ продукта
Если у вас установлен ключ продукта, то можно его узнать. Просто скопируйте текст ниже в файл winkey.vbs и запустите на нужной машине. Если повезёт, то скрипт определит ключ и версию системы.
-
winkey.vbs
Set WshShell = CreateObject("WScript.Shell") regKey = "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\" DigitalProductId = WshShell.RegRead(regKey & "DigitalProductId") WinProductName = "Windows Product Name: " & WshShell.RegRead(regKey & "ProductName") & vbNewLine WinProductID = "Windows Product ID: " & WshShell.RegRead(regKey & "ProductID") & vbNewLine WinProductKey = ConvertToKey(DigitalProductId) strProductKey ="Windows Key: " & WinProductKey WinProductID = WinProductName & WinProductID & strProductKey MsgBox(WinProductKey) MsgBox(WinProductID) Function ConvertToKey(regKey) Const KeyOffset = 52 isWin8 = (regKey(66) \ 6) And 1 regKey(66) = (regKey(66) And &HF7) Or ((isWin8 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 (isWin8 = 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
Ключ продукта в BIOS
Лицензионный ключ может быть прописан в BIOS устройства. Узнать его можно через Powershell:
(Get-WmiObject -query 'select * from SoftwareLicensingService').OA3xOriginalProductKey
Или в командной строке:
wmic path softwarelicensingservice get OA3xOriginalProductKey
Цифровая лицензия
Если вы бесплатно обновили ОС Windows 7 или Windows 8.1 до Windows 10, вместо ключа продукта вы должны получить цифровую лицензию. Если у вас есть цифровая лицензия для устройства, вы можете переустановить тот же выпуск Windows 10 на этом устройстве без ввода ключа продукта.
В этом случае при попытке запустить скрипт для определения ключа вы получите это: BBBBB-BBBBB-BBBBB-BBBBB-BBBBB.
Открываем окно параметров.
Проверить состояния активации в параметрах
Надпись об активации может отличаться:
Ключ по умолчанию
Можно узнать ключ по умолчанию для текущей редакции. Он устанавливается, если вы не указываете свой ключ и сохраняется при получении цифровой лицензии.
Частично:
slmgr -dli
slmgr -dlv
Полную версия ключа можно посмотреть в реестре:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\BackupProductKeyDefault
Скрипт VBS в помощь. Просто скопируйте текст ниже в файл winkey2.vbs и запустите на нужной машине. Скрипт определит ключ по умолчанию и версию системы.
-
winkey2.vbs
Set WshShell = CreateObject("WScript.Shell") regKey = "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\" regKey2 = "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\" WinProductKey = WshShell.RegRead(regKey2 & "BackupProductKeyDefault") WinProductName = "Windows Product Name: " & WshShell.RegRead(regKey & "ProductName") & vbNewLine WinProductID = "Windows Product ID: " & WshShell.RegRead(regKey & "ProductID") & vbNewLine strProductKey ="Windows Key: " & WinProductKey WinProductID = WinProductName & WinProductID & strProductKey MsgBox(WinProductKey) MsgBox(WinProductID)
Этот ключ позволит установить windows 10 без проведения активации. Потом автоматически должна активироваться цифровая лицензия, если она привязана к вашей учётной записи Microsoft.
В отличие от Windows 7 компьютеры с предварительно установленной системой Windows 8 и Windows 10 не имеют наклейку с ключом продукта на ней. Это потому, что ключ продукта встроен в микропрограмму UEFI.
При использовании Windows 10 PC, вам не нужно знать ваш ключ продукта Windows 10, даже после чистой установки или переустановки того же выпуска Windows 10 на одном компьютере система активирует вашу копию без необходимости вводить ключ продукта.
Могут быть случаи, когда вы хотите посмотреть ваш ключ продукта Windows 10. Может быть, вы хотите удалить ключ продукта и использовать его на другом компьютере, также ключ необходим перед внесением существенных изменений аппаратного обеспечения вашего компьютера.
Существует много программ для просмотра ключа продукта Windows. Но не все из них работают в Windows 10. Вот 2 способа просмотра ключа продукта Windows 10.
Способ 1
ProduKey — просмотр ключа продукта Windows 10
Шаг 1: Посетите эту страницу, найдите ссылки на скачивание и нажмите на последнюю версию ProduKey, загрузите zip-файл. Распакуйте zip-архив в новую папку.
Шаг 2: Запустите файл ProduKey.exe, чтобы посмотреть ваш ключа продукта Windows 10.
Способ 2
Просмотр ключа Windows 10 с помощью простого скрипта.
Шаг 1: Скопируйте текст скрипта в блокнот и поменяйте расширение файла .тхт на .vbs чтобы получить файл W10Key.vbs или загрузите архив с готовым скриптом W10Key.zip
Содержание скрипта:
Set WshShell = CreateObject(«WScript.Shell»)
MsgBox ConvertToKey(WshShell.RegRead(«HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DigitalProductId»))
Function ConvertToKey(Key)
Const KeyOffset = 52
i = 28
Chars = «BCDFGHJKMPQRTVWXY2346789»
Do
Cur = 0
x = 14
Do
Cur = Cur * 256
Cur = Key(x + KeyOffset) + Cur
Key(x + KeyOffset) = (Cur \ 24) And 255
Cur = Cur Mod 24
x = x -1
Loop While x >= 0
i = i -1
KeyOutput = Mid(Chars, Cur + 1, 1) & KeyOutput
If (((29 — i) Mod 6) = 0) And (i <> -1) Then
i = i -1
KeyOutput = «-» & KeyOutput
End If
Loop While i >= 0
ConvertToKey = KeyOutput
End Function
Шаг 2:Разархивируйте скачанный скрипт и Дважды щелкните файл Win10Key.vbs для просмотра вашего ключа продукта.
А вы сделали резервное копирование ключа продукта Windows 10?
Сразу после выхода новой ОС, все стали интересоваться, как узнать ключ установленной Windows 10, хотя в большинстве случаев он не требуется. Тем не менее, если вам все-таки требуется ключ для тех или иных целей, его сравнительно просто определить, как для установленной ОС, так и зашитый производителем в UEFI ключ продукта (они могут отличаться).
В этой инструкции описаны простые способы узнать ключ продукта Windows 10 с помощью командной строки, Windows PowerShell, а также сторонних программ. Заодно упомяну о том, почему разные программы показывают разные данные, как отдельно посмотреть OEM ключ в UEFI (для ОС, которая изначально была на компьютере) и ключ установленной в данный момент системы.
Примечание: если вы произвели бесплатное обновление до Windows 10, а теперь хотите узнать ключ активации для чистой установки на том же компьютере, вы можете это сделать, но это не обязательно (к тому же у вас будет ключ такой же, как и у других людей, получивших десятку путем обновления). При установке Windows 10 с флешки или диска, вас попросят ввести ключ продукта, но вы можете пропустить этот шаг, нажав в окне запроса «У меня нет ключа продукта» (и Майкрософт пишет, что так и нужно делать).
После установки и подключения к Интернету, система будет автоматически активирована, поскольку активация «привязывается» к вашему компьютеру после обновления. То есть поле для ввода ключа в программе установки Windows 10 присутствует только для покупателей Retail-версий системы. Подробнее про такую активацию: Активация 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.
Скачать ShowKeyPlus можно со страницы https://github.com/Superfly-Inc/ShowKeyPlus/releases/, также с недавних пор приложение доступно для загрузки в Microsoft Store.
Еще две программы, чтобы узнать ключ продукта Windows 10
Если по той или иной причине ShowKeyPlus для вас оказался неподходящим вариантом, можно использовать следующие две программы:
Просмотр ключа установленной Windows 10 с помощью PowerShell
Там, где можно обойтись без сторонних программ, я предпочитаю обходиться без них. Просмотр ключа продукта Windows 10 — одна из таких задач. Если же вам проще использовать бесплатную программу для этого, пролистайте руководство ниже. (Кстати, некоторые программы для просмотра ключей отправляют их заинтересованным лицам)
Простой команды PowerShell или командной строки, для того чтобы узнать ключ установленной в настоящий момент времени системы не предусмотрено (есть такая команда, показывающая ключ из UEFI, покажу ниже. Но обычно требуется именно ключ текущей системы, отличающийся от предустановленной). Но можно воспользоваться готовым скриптом PowerShell, который отображает необходимую информацию (автор скрипта Jakob Bindslet).
Вот что потребуется сделать. Прежде всего, запустите блокнот и скопируйте в него код, представленный ниже.
#Main function Function GetWin10Key { $Hklm = 2147483650 $Target = $env:COMPUTERNAME $regPath = "Software\Microsoft\Windows NT\CurrentVersion" $DigitalID = "DigitalProductId" $wmi = [WMIClass]"\\$Target\root\default: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:Software\Microsoft\Windows NT\CurrentVersion" -Name "ProductName").ProductName $ProductID = (Get-itemproperty -Path "HKLM:Software\Microsoft\Windows NT\CurrentVersion" -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 = "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\" 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, а также других утилитах для просмотра характеристик компьютера можно узнать эту информацию. Но, уверен, тех способов, что описаны здесь, будет достаточно практически в любой ситуации.
Provide feedback
Saved searches
Use saved searches to filter your results more quickly
Sign up
function Get-WindowsKey { ## function to retrieve the Windows Product Key from any PC
## by Jakob Bindslet (jakob@bindslet.dk)
param ($targets = «.»)
$hklm = 2147483650
$regPath = «Software\Microsoft\Windows NT\CurrentVersion»
$regValue = «DigitalProductId»
Foreach ($target in $targets) {
$productKey = $null
$win32os = $null
$wmi = [WMIClass]»\\$target\root\default:stdRegProv»
$data = $wmi.GetBinaryValue($hklm,$regPath,$regValue)
$binArray = ($data.uValue)[52..66]
$charsArray = «B»,»C»,»D»,»F»,»G»,»H»,»J»,»K»,»M»,»P»,»Q»,»R»,»T»,»V»,»W»,»X»,»Y»,»2″,»3″,»4″,»6″,»7″,»8″,»9″
## decrypt base24 encoded binary data
For ($i = 24; $i -ge 0; $i—) {
$k = 0
For ($j = 14; $j -ge 0; $j—) {
$k = $k * 256 -bxor $binArray[$j]
$binArray[$j] = [math]::truncate($k / 24)
$k = $k % 24
}
$productKey = $charsArray[$k] + $productKey
If (($i % 5 -eq 0) -and ($i -ne 0)) {
$productKey = «-» + $productKey
}
}
$win32os = Get-WmiObject Win32_OperatingSystem -computer $target
$obj = New-Object Object
$obj | Add-Member Noteproperty Computer -value $target
$obj | Add-Member Noteproperty Caption -value $win32os.Caption
$obj | Add-Member Noteproperty CSDVersion -value $win32os.CSDVersion
$obj | Add-Member Noteproperty OSArch -value $win32os.OSArchitecture
$obj | Add-Member Noteproperty BuildNumber -value $win32os.BuildNumber
$obj | Add-Member Noteproperty RegisteredTo -value $win32os.RegisteredUser
$obj | Add-Member Noteproperty ProductID -value $win32os.SerialNumber
$obj | Add-Member Noteproperty ProductKey -value $productkey
$obj
} }
PS; I`m not trying to steal our clients product keys, sometimes they do not have them as they damaged the sticker