Hklm software microsoft windows nt currentversion digitalproductid

Что делать если вы забыли ключ от Windows 10 или Windows 8? Как быть если предыдущий администратор не передал вам ключ от Windows Server 2012 R2? Ноутбук с Windows непонятной версии нужно откатить на заводские настройки, а ключ от операционной системы никто не помнит?

Profile picture for user Олег

Windows

Что делать если вы забыли ключ от 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 и запустите на нужной машине. Если повезёт, то скрипт определит ключ и версию системы.

Ключ продукта в BIOS

Лицензионный ключ может быть прописан в BIOS устройства. Узнать его можно через Powershell:

(Get-WmiObject -query 'select * from SoftwareLicensingService').OA3xOriginalProductKey

win

Или в командной строке:

wmic path softwarelicensingservice get OA3xOriginalProductKey

win

Цифровая лицензия

Если вы бесплатно обновили ОС Windows 7 или Windows 8.1 до Windows 10, вместо ключа продукта вы должны получить цифровую лицензию. Если у вас есть цифровая лицензия для устройства, вы можете переустановить тот же выпуск Windows 10 на этом устройстве без ввода ключа продукта.

В этом случае при попытке запустить скрипт для определения ключа вы получите это: BBBBB-BBBBB-BBBBB-BBBBB-BBBBB.

win

Открываем окно параметров.

Проверить состояния активации в параметрах

win

Надпись об активации может отличаться:

win

Ключ по умолчанию

Можно узнать ключ по умолчанию для текущей редакции. Он устанавливается, если вы не указываете свой ключ и сохраняется при получении цифровой лицензии.

Частично:

slmgr -dli
slmgr -dlv

win

Полную версия ключа можно посмотреть в реестре:

HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionSoftwareProtectionPlatformBackupProductKeyDefault

Скрипт VBS в помощь. Просто скопируйте текст ниже в файл winkey2.vbs и запустите на нужной машине. Скрипт определит ключ по умолчанию и версию системы.

Этот ключ позволит установить windows 10 без проведения активации. Потом автоматически должна активироваться цифровая лицензия, если она привязана к вашей учётной записи Microsoft.

Как узнать ключ продукта установленной операционной системы Windows? Конечно проще всего воспользоваться специализированными программами (ProduKey, ShowKeyPlus и т.п.), но мы не ищем легких путей 🙂 В поисках ключа нам поможет PowerShell.

Ключ продукта Windows хранится в системном реестре, в разделе HKLMSOFTWAREMicrosoftWindows NTCurrentVersion, в параметре DigitalProductID.

Примечание. На самом деле у Windows есть два ключа продукта. Кроме ключа активации есть еще ключ установки (generic), находящийся в разделе HKLMSOFTWAREMicrosoftWindows NTCurrentVersionDefaultProductKey. С этим ключом можно установить систему, но нельзя ее активировать.

раздел реестра

Но просто так ключ посмотреть не удастся. Данные в DigitalProductID хранятся в двоичном виде, сам ключ занимает байты с 52 по 66. Кроме того данные зашифрованы в кодировке base 24.

параметр реестра

Для того, чтобы узнать ключ, надо извлечь его из реестра и расшифровать. Для расшифровки используем следующий PowerShell скрипт. Сознаюсь, скрипт не мой 🙂  Я нашел его на просторах интернета и немного подправил, а также добавил комментарии. Кстати, в скрипте активно используются побитовые операторы.

# 24 символа, использующиеся в ключах продукта Microsoft
$base24 = ‘BCDFGHJKMPQRTVWXY2346789’;
# длина ключа продукта в символах
$decodeStringLength = 24;
# длина ключа продукта в байтах
$decodeLength = 14;
# строка с расшифрованным ключом
$decodedKey = ″ ″;

#Извлекаем зашифрованный ключ из реестра и сохраняем его в массив

$digitalProductId = (Get-Item ‘HKLM:SOFTWAREMicrosoftWindows NTCurrentVersion’).GetValue(‘DigitalProductId’)[52..66]

#Проверяем наличие в ключе буквы ‘N’ (для Windows 8 и старше)

#Если третий бит младшего байта массива равен 1, то в номере присутствует буква ‘N’
$containsN = ($digitalProductId[$decodeLength] -shr 3) -bAnd 1;

#Для корректной расшифровки номера этот бит необходимо сбросить
$digitalProductId[$decodeLength] = $digitalProductId[$decodeLength] -band 0xF7;

<# Расшифровка ключа. Заключается в том, что полученное из реестра значение $digitalProductId переводится в систему счисления с основанием 24, затем каждая цифра заменяется на символ из $base24, индексом которого является эта цифра #>

for ($i = $decodeStringLength; $i -ge 0; $i−−) {

# Переменная для хранения индекса текущего символа, перед началом вычисления обнуляем
$digitMapIndex = 0;

for ($j = $decodeLength; $j -ge 0; $j−−) {

<# Размерность в байтах, поэтому исходное основание 256. Умножаем на него остаток от предыдущей итерации и добавляем цифру из следующего разряда #>
$digitMapIndex = ($digitMapIndex -shl 8) -bXor $digitalProductId[$j];

<# Делим $digitMapIndex на количество символов в $base24. Частное попадает в $digitalProductId[$j],
а остаток от деления в $digitMapIndex #>
$digitalProductId[$j] = [System.Math]::DivRem($digitMapIndex, $base24.Length, [ref]$digitMapIndex);

}

# Находим в $base24 символ с полученным индексом и добавляем его в $decodedKey
$decodedKey = $decodedKey.Insert(0, $base24[$digitMapIndex]);

}

<# Если в ключе присутвует символ ′N′, то добавляем его. Для этого находим в расшифрованной строке первый символ и запоминаем его индекс в $base24. Затем удаляем первый символ, а в оставшуюся строку вставляем ′N′ в позицию с номером индекса удалённого символа #>

if ($containsN -eq 1) {

$index = $base24.IndexOf($decodedKey[0]);
$decodedKey = $decodedKey.Substring(1).Insert($index, ‘N’);

}

# Вставляем тире через каждые пять символов

for ($n = 20; $n -ge 5; $n -= 5){$decodedKey = $decodedKey.Insert($n, ‘-‘)}

# Формируем вывод, добавляем в него дополнительную информацию об операционной системе

$Target = [System.Net.Dns]::GetHostName();
$win32os = Get-WmiObject -Class ‘Win32_OperatingSystem’ -ComputerName $target;
$product = New-Object -TypeName System.Object;

$product | Add-Member -MemberType ‘NoteProperty’ -Name ‘Computer’ -Value $target;
$product | Add-Member -MemberType ‘NoteProperty’ -Name ‘Caption’ -Value $win32os.Caption;
$product | Add-Member -MemberType ‘NoteProperty’ -Name ‘OSArch’ -Value $win32os.OSArchitecture;
$product | Add-Member -MemberType ‘NoteProperty’ -Name ‘BuildNumber’ -Value $win32os.BuildNumber;
$product | Add-Member -MemberType ‘NoteProperty’ -Name ‘ProductID’ -Value $win32os.SerialNumber;
$product | Add-Member -MemberType ‘NoteProperty’ -Name ‘ProductKey’ -Value $decodedKey;

Write-Output $product;

Сохраняем код в файлик с расширением .ps1, запускаем и получаем результат. Готовый скрипт getproductkey.ps1.

вывод скрипта

Ну и чтобы убедиться в том, что скрипт работает правильно, проверим полученный результат с помощью программы ProduKey. Как видите, она выдает такой же ключ.

вывод программы ProduKey

И еще. Если система была активирована корпоративным ключом (MAK) либо с помощью цифровой лицензии, то ключ не сохраняется в системе. В этом случае и скрипт выдаст что то вроде этого BBBBB-BBBBB-BBBBB-BBBBB-BBBBB.

Выбор редакции

Михаил Шрайбман

Ищем ключ Windows

Ищем ключ Windows

Все пользователи, которые сменили свою старую операционную систему на Виндовс 10, либо приобрели новое устройство с «Десяткой» задаются таким вопросом: как узнать ключ своей «винды».

Все очень просто.

Тем, пользователям, у которых раньше был 7 или 8 Виндовс, особенностями системы 10 Виндовс знать нет необходимости.

При первом запуске системы она должна активироваться в автоматическом режиме, если подключена к сети интернет. Если нет, то обновится при наличии Интернет-соединения.

Следует найти пункт: нет ключа активации. Это нужно сделать, если вы делаете обновления через внешний носитель.

Таким образом, активация осуществиться в автоматическом режиме. Она привяжется к учетной записи Майкрософт при помощи уникального идентификатора, который есть в конфигурации каждого компьютера.

Только людям, которые купили рилейт-редакцию надо ввести пароль.

Те, у кого было седьмая или восьмая версия операционной системы, могут просто ввести код, какой у них был при прежней версии.

Содержание

  • Активация и их виды
  • Проверка активации Виндовс 10
  • Ключ Виндовс — как его найти
  • Программы для бесплатной активации ключа
    • Power Shell
    • ShowKeyPlus
    • Product Key
    • Speccy

  • Программы для платной активации
  • Выводы

Активация и их виды

Существует два вида серийных номеров для операционной системы:

  1. По умолчанию «вшит» в память материнской платы. Он называется – ОЕМ-ключ.
  2. В цифровой версии продукта установлен Product Key.

Из-за этого клиенты часто не понимают особенности различия таких систем.

Они будут отличаться, если вы установите новую версию ОС поверх удаленной старой.

Более простой способ определения кода использовался перед выходом десятой версии Виндовс.

На наклейке устройства обратной части корпуса ноутбука либо же компьютера ранее всегда был серийный номер.

Но с запуском цифровой версией ключей эта необходимость отпала.

Наклейка с ключом

Наклейка с ключом

Официальную версию программного обеспечения вы сможете заказать на сайте компании.

Читайте также: Как перенести Windows на SSD — 6 лучших программ для миграции

Проверка активации Виндовс 10

Сразу проверяйте, активирована ли ваша копия перед тем, как начать поиск в системе.

Чтобы решить подобные проблемы выполните такие простые шаги:

В меню «Мой компьютер», нажмите пункт «Свойства» правой кнопкой мышки.

Как это сделать, смотрите в скриншоте ниже.

Поиск ключа в системе Виндовс

Поиск ключа в системе Виндовс

Все технические параметры вашей системы вы увидите в открывшемся окне.

«Активация Виндовс выполнена».

Такая надпись должна появится в подпункте «Активация Виндовс».

Как активировать Виндовс — смотрите ниже:

Активация Виндовс

Активация Виндовс

На данном рисунке показано, как проверяется активация установленной копии операционной системы.

Далее в операционной системе необходимо произвести поиск ключа.

Читайте также: Как узнать дату создания почты Gmail и аккаунта гугл (Google)? | 2 Проверенных способа

Ключ Виндовс — как его найти

При помощи стандартных инструментов Виндовс, а также с использованием «левых» программ осуществляется поиск данного ключа.

Можно искать такими способами:

  • извлечение из UEFI;
  • приложения по сбору данных о системе;
  • ShowKeyPlus;
  • программа Product Key;
  • расширенная командная строка (PowerShell);
  • скрипт VBS и многие другие. Некоторые из них мы рассмотрим ниже.
  1. Как найти при помощи скрипта.

В визуальном отделе скрипта производится базовая работа, а также результат этой работы.

В интернете можно найти ссылку на скачивание этого скрипта. Но можно воспользоваться нашим скриптом:


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.

Если с этой программкой возникнут проблемы, то её, возможно, установить вручную.

  1. Как достать из UEFI?

Для этой цели открывается от имени администратора командная строка.

Комбинацию:


wmic path softwarelicensingservice get OA3xOriginalProductKey

нужно ввести, чтобы прошло подтверждение операции.

Нажимаем Enter после ввода строки.

Извлечение ключа из UEFI

Извлечение ключа из UEFI

Читайте также: Как убрать рекламу в Ютубе (YouTube): платные и бесплатные способы | [Инструкция]

Программы для бесплатной активации ключа

Power Shell

Без загрузки стороннего софта попытаемся решить проблему.

Этот ключ интегрирован в обеспечение Виндовс 10.

Такие действия выполняются при помощи скрипта. Они отображены на скриншите.

  1. Сперва нужно скопировать скрипт: 
    #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
  2. Далее включаем управление от имени администратора. Его находим в поисковой строке.

Запуск скрипта

Запуск скрипта

«Set-ExecutionPolicy RemoteSigned» – такую команду прописываем в поле командной строки.

Клавиши Y и «Ввод» нажимаем, чтобы подтвердить запуск команды.

«Import-Module prodect_key.ps1» – после выполнения такой команды импортируется скачанный файл скрипта.

Указываем расширение рs1.

Так будет выглядеть команда, когда ее сохранить на рабочий стол:

C:Users имя пользователяDesktopwinkey.ps1

Где находить путь файла

Где находить путь файла

25-значный код системы будет указан в строке Installed Key. В отдельный текстовый файл можно сохранить этот код.

Полный путь к файлу пишем перед названием после ввода этой строки:

prodect_key.ps1.

Запуск командной строки

Запуск командной строки

Дальше вызываем специальную команду «Get-WindowsKey», чтобы активировать ключи.

Если система не предложит сохранить ключ в предложенном файле, то придется выполнить его экспорт и детализацию.

Необходимая информация должна появиться в последней строчке командной строки.

ShowKeyPlus

Она отображает ключ системы, который существует на вашем персональном компьютере.

Ключ UEFI способен извлекать информацию с предыдущей версии Виндовс.

Действие доступно, даже если в папке: Windows.old расположены файлы.

Загружаем программу.

Скачать

Всю необходимая информация появляется при загрузке этой программы.

Функционал программы ShowKeyPlus

Функционал программы ShowKeyPlus

  1. Лицензионный ключ, который предназначен для десятой Виндовс: Installed Key.
  2. Если у вас предыдущая версия операционной системы, то показывает ключ прежней Виндовс. Если OEM Key не предоставлен, то появится системное уведомление.

При необходимости вы можете перенести текстовый файл в архив.

Кнопка «save» дает осуществить такое действие.

Существуют также особенности определения ключей Виндовс 10: одни экспортируются с UEFI, иные читают информацию с реестра.

Product Key

Задача программы – отображение в текущей версии Виндовс экспорта Product Key.

Скачать

С архива запускается эта утилита без установки софта. Ключ программного обеспечения, а также его название вы сможете увидеть в окне после совершения запуска.

Также эту программу можно использовать с другими программными продуктами корпорации Майкрософт.

Извлечение OEM-кода из UEFI

Извлечение OEM-кода из UEFI

Ключ вшит в UEFI ноутбука или материнской платы, если при приобретении аппарата была установлена Виндовс 10.

Вызываем командную строку:

wmic path softwarelicensingservice get OA3xOriginalProductKey

Это действие необходимо для извлечения ключа.

Пустая строка появляется, если код UEFI отсутствует.

Последовательность символов ОЕМ обычно отличается от используемых ключей активации.

Кроме этого старую версию операционной системы можно восстановить при использовании ОЕМ-ключа.

Speccy

В ней можно также найти ключи. При ее помощи пользователи смогут найти подробную информацию обо всех элементам устройства.

Также возможно распечатать информацию на своем принтере или сохранить в формате txt или xml.

лиенту предоставляются данные о таких элементах и инструментах в его компьютере:

  • Операционная система;
  • Жесткие диски;
  • Процессор
  • Оперативная память.

Еще одним преимуществ этой утилиты является то, что с ней можно работать напрямую со съемных носителей: цифровых, флэшек, DVD-дисков и прочих мультимедийных устройств.

Как находить номер, при помощи программы Speccy. (Он обведен красной линией)

Как находить номер, при помощи программы Speccy. (Он обведен красной линией)

Читайте также: Бесплатные аудио-плееры для Виндовс (Windows 7/10) | ТОП-15 Лучших

Программы для платной активации

Этих программ существует несколько.

Мы перечислим их основные названия: Direct Access, Education Home Pro Enterprise, Microsoft Application Virtualization и многие другие.

Такие программы можно найти на сайте: ElStore.

Все они находятся под полной защитой Виндовс.

Подобные программы способны обеспечить безопасность ваших файлов.

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

Единственный минус – не все могут люди позволить купить такое аппаратное обеспечение.

Читайте также: 6 вариантов отключения Secure Boot на разных системах и моделях ноутбуков

Выводы

Существует огромное количество способов для нахождения ключей в операционной системе.

Читатель, благодаря этой статье, сможет выбрать абсолютно любой удобный для него способ.

Вы можете изменить способ получения кода, если он у вас не получается.

Чтобы получилось найти код, используйте автоматическое программное обеспечение.

Это – Product Key и другие вспомогательные приложения.

Найти ключ при помощи скрипта или командной строки смогут только продвинутые пользователи.

Как узнать ключ продукта Windows 10 - Все способы определения

Как узнать ключ Windows 10

Посмотреть свой ключ активации Виндовс

9 Оценка

У многих при переустановке Windows 10 практически всегда производится автоматическая активация операционной системы. Лишь те, кто недавно приобрел Видвовс, обязаны узнать этот активационный ключ. Остальным же – он вшит автоматически. Существует много способов, с помощью которых возможно активировать лицензионный ключ Виндовс. В статье детально рассмотрено много способов активации ключа для «десятки», включая платные и бесплатные способы получения лицензии.

ПЛЮСЫ

  • Можно быстро найти ключ Windows

МИНУСЫ

  • Некоторые способы слишком сложны

Добавить отзыв

windows10_logo

This article describes how to decode Windows Product Key from DigitalProductId value which is stored in the registry. This may be useful when we have corrupted system that won’t boot up or we just want or need to get the key from system where it is not possible to run key decoder. All we need is to get the DigitalProductId value form the registry of the offline system. Let’s read more about it in this article.

There are plenty of tools to get Windows Procduct Key Number from the running (online) system, but what if this is not our case and we need to get Windows Product Key Number from the system that won’t boot up or we are just not able to run key decoder there? Well it is possible to decode key from such a system as long as we are able to access offline registry database files from that system and as long as that registry database files are not corrupted.

Decoding the Windows Product Key Number

The process of getting Windows Product Key Number consist of two steps, first is obtaining DigitalProductId from the registry, the second is decoding that DigitalProductId as Windows Product Key Number.

We can get DigitalProductId value from the registry programmatically (as key decoders usually do) or we can find and export the value using Regedit.exe tool, which is part of every Windows instalation.

Please do not confuse DigitalProductId with Product ID, which can be found in the System dialog. They are not the same. Windows 10 has ProductId in this format: 00330-00000-00000-00000.

Loading registry hive from offline registry

Regedit.exe can load and edit offline registry databases. Registry databases are located in the following location:

%windir%/System32/config/

We need to access HKEY_LOCAL_MACHINESOFTWARE registry hive that is located in the following path:

%windir%/System32/config/SOFTWARE

Please note that «SOFTWARE» is the name of the registry database file, %windir% points to the system Windows directory, for example «C:Windows».

To load offline registry database, do the following steps:

  1. Press the Win+R key combination, Run dialog appears.
  2. Type in «regedit» (without quotes) and press Enter.
  3. Confirm UAC prompt to elevate user rights (regedit needs administrator rights to run).
  4. Regedit tool will appear on the screen.
  5. Select HKEY_LOCAL_MACHINE key as this will be the place where we will load the offline hive.
  6. Click on File menu and Load Hive… option. If you have this option greyed out, please make sure you have selected (active) HKEY_LOCAL_MACHINE key.
  7. Locate and open the offline registry database SOFTWARE file.
  8. When prompted for a name give it a name you like (e.g. TEST). The name will be used to create a new node in the tree so we can browse the offline registry.

Exporting DigitalProductId from the registry

We can find DigitalProductId in the following registry key:

HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersion

As we have loaded the offline registry as the «TEST» node, we can actually find DigitalProductId in the following location:

HKEY_LOCAL_MACHINETESTMicrosoftWindows NTCurrentVersion

Now to export this key, do following steps:

  1. Navigate to the HKEY_LOCAL_MACHINETESTMicrosoftWindows NTCurrentVersion key (you can copy and paste the key name in the key bar under the menu.
  2. On the right pane you will see registry values for the selected key and you should see the DigitalProductId value as REG_BINARY.
  3. To export the value, we need to export whole key. Right click on the CurrentVersion key in the left pane and select Export in the context menu that will appear.
  4. Export Registry File dialog will appear, choose exported file name and location as needed. Keep «Save as type: Registration files (*.reg)» option and check that «Export range: Selected branch» is selected. You should see selected branch HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersion under this option.
  5. Click Save.
  6. Registry key will be exported in the .reg file. Now we can open this file in any text editor, for example in Notepad.

Opening exported .reg file in the notepad

To open exported .reg file in the notepad, do follwing steps:

  1. Press the Win+R key combination, Run dialog appears.
  2. Type in «notepad» (without quotes) and press Enter.
  3. Notepad will appear.
  4. Now you can simply drag and drop exported file on the Notepad window, or you can use File — Open… (Ctrl+O) menu to browse the file. If you can’t see exported .reg file, select «All files» from the file type selection drop down.

Locating DigitalProductId exported from registry

Now when you have open exported .reg file in the Notepad, you should see DigitalProductId value among other key values in the following format:

"DigitalProductId"=hex:a4,00,00,00,03,00,00,00,30,30,33,33,30,2d,38,30,30,30,
  30,2d,30,30,30,30,30,2d,41,41,33,32,38,00,ec,0c,00,00,5b,54,48,5d,58,31,39,
  2d,39,38,38,34,31,00,00,00,ec,0c,00,00,00,00,a8,d2,7b,6e,89,81,4f,6d,09,00,
  00,00,00,00,f0,87,99,58,20,9a,d7,4d,00,00,00,00,00,00,00,00,00,00,00,00,00,
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,ff,a1,85,e6

Selected DigitalProductId section and copy it to the clipboard (Ctrl+C).

Decoding DigitalProductId exported from registry

To decode the value, you can use my tool «Windows Product Key Finder» (you can read more about it here: (Yet Another) Product Key Number Finder for Windows). Since version 1.3 this tool is able to decode DigitalProductId exported from registry. You can download the tool directly here: WinProdKeyFind_v1.3.zip.

Windows Product Key Finder is open source, no-install, portable and very simple tool that look like this:

Windows Product Key Finder 1.3

Click Decode DigitalProductId button. Decode Windowss Product Key from DigitalProductId value dialog will appear. Paste DigitalProductId from the clipboard to the DigitalProductId key text box as in the following example:

Windows Product Key Finder 1.3

Please note that it is important to keep exported DigitalProductId in the format as shown in the examples.

If you are decoding DigitalProductId for Windows 7 or older Windows systems (Vista and XP), please select Up to Windows 7 (old) option, otherwise keep Windows 8 and newer (new) option in the version selection drop down.

Finally press the Parse DigitalProductId button to parse the DigitalProductId. Now you should see decoded Windows Product Key Number in the text box.

Final words

We’ve seen how to export DigitalProductId value from the offline registry database file and how to decode Windows Product Key Number from that value.

Let me know what you think about down below in the comments!

Как посмотреть ключ Windows 10Сразу после выхода новой ОС, все стали интересоваться, как узнать ключ установленной 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 8 (8.1) (подойдет и для Windows 10), но мне больше других приглянулась найденная недавно ShowKeyPlus, которая не требует установки и отдельно показывает сразу два ключа: установленной в текущий момент системы и OEM ключ в UEFI. Заодно сообщает, для какой именно версии Windows подходит ключ из UEFI. Также с помощью этой программы можно узнать ключ из другой папки с Windows 10 (на другом жестком диске, в папке Windows.old), а заодно проверить ключ на валидность (пункт Check Product Key).

Все, что нужно сделать — запустить программу и посмотреть отображаемые данные:

Посмотреть ключ Windows 10 в ShowKeyPlus

 

  • Installed Key — ключ установленной системы.
  • OEM Key (Original Key) — ключ предустановленной ОС, если она была на компьютере, т.е. ключ из UEFI.

Также эти данные можно сохранить в текстовый файл для дальнейшего использования или архивного хранения, нажав кнопку «Save». Кстати, проблема с тем, что порой разные программы показывают разные ключи продукта для Windows, как раз и появляется из-за того, что некоторые из них смотрят его в установленной системе, другие в UEFI.

Как узнать ключ продукта Windows 10 в ShowKeyPlus — видео

Скачать ShowKeyPlus можно со страницы https://github.com/Superfly-Inc/ShowKeyPlus/releases/

Еще две программы, чтобы узнать ключ продукта Windows 10

Если по той или иной причине ShowKeyPlus для вас оказался неподходящим вариантом, можно использовать следующие две программы:

Просмотр ключа установленной 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 от имени администратора

В PowerShell введите следующую команду: Set-ExecutionPolicy RemoteSigned и подтвердите ее выполнение (ввести Y и нажать Enter в ответ на запрос).

Следующим шагом, введите команду: C:win10key.ps1 (в данной команде указывается путь к сохраненному файлу со скриптом).

Получение ключа Windows 10 в PowerShell

В результате выполнения команды вы увидите информацию о ключе установленной 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

Должно получиться как на скриншоте ниже.

Скрипт чтобы узнать ключ Windows 10 в блокноте

После этого сохраните документ с расширением .vbs (для этого в диалоге сохранения в поле «Тип файла» выберите «Все файлы».

Сохранение скрипта VBS в блокноте

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

Ключ продукта Windows 10, полученный с помощью скрипта VBS

Как я уже отметил, программ для просмотра ключа есть множество — например, в Speccy, а также других утилитах для просмотра характеристик компьютера можно узнать эту информацию. Но, уверен, тех способов, что описаны здесь, будет достаточно практически в любой ситуации.

  • Небольшие технические трудности. В ближайшее время мы появимся в сети и сайт станет чуточку лучше

Ключ продукта Windows (product key) — это 25-значный цифробуквенный код, который используется при активации системы.

До выхода Windows 8 наклейку с ключом производители размещали на корпусе ноутбуков и ПК, поэтому никаких сложностей с его определением не возникало.

Сейчас от этой практики отказались, поэтому владельцам «десятки» приходится искать иные, неочевидные решения.

Рассмотрим 5 способов, позволяющих узнать ключ продукта Windows 10 быстро, просто и бесплатно.

Узнаем ключ Windows 10 с помощью VBScript

Этот скрипт был создан для извлечения product key из Windows 8, но с успехом работает и на Windows 10. Ключи обеих систем хранятся в реестре в зашифрованном виде, а средства VBScrit, входящие в состав Windows, позволяют их расшифровать.

Порядок запуска скрипта

  • Откройте блокнот и скопируйте в него приведенный ниже код.

Set WshShell = CreateObject(«WScript.Shell»)
regKey = «HKLMSOFTWAREMicrosoftWindows NTCurrentVersion»
DigitalProductId = WshShell.RegRead(regKey & «DigitalProductId»)

Win8ProductName = «Windows Product Name: » & WshShell.RegRead(regKey & «ProductName») & vbNewLine
Win8ProductID = «Windows Product ID: » & WshShell.RegRead(regKey & «ProductID») & vbNewLine
Win8ProductKey = ConvertToKey(DigitalProductId)
strProductKey =»Windows 8 Key: » & Win8ProductKey
Win8ProductID = Win8ProductName & Win8ProductID & strProductKey

MsgBox(Win8ProductKey)
MsgBox(Win8ProductID)

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

  • Сохраните файл под любым именем с расширением .vbs. При сохранении необходимо выбрать тип «все файлы».
  • Дважды кликните по созданному vbs-файлу. Лицензионный ключ Windows 10 будет показан в небольшом окне на рабочем столе.

К преимуществам этого способа можно отнести простоту, безопасность и полную прозрачность операций. К недостаткам — возможность ошибок при копировании, которые сделают скрипт невыполнимым.

Узнаем ключ Windows 10 через PowerShell

PowerShell — еще один системный инструмент, с помощью которого можно автоматически расшифровать данные реестра, в частности — ключ продукта. Поблагодарим за эту возможность автора скрипта для PowerShhell — Jakob Bindslet.

Порядок выполнения

  • Скопируйте в блокнот приведенный ниже код.

function Get-WindowsKey {
## get the Windows Product Key from any PC

param ($targets = «.»)
$hklm = 2147483650
$regPath = «SoftwareMicrosoftWindows NTCurrentVersion»
$regValue = «DigitalProductId»
Foreach ($target in $targets) {
$productKey = $null
$win32os = $null
$wmi = [WMIClass]»\$targetrootdefault: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
}
}

  • Сохраните файл с расширением .ps1 под любым именем.
  • Запустите командную строку с правами администратора или откройте консоль Windows PowerShell (кликните по значку «Поиск» в панели быстрого запуска, наберите в поисковой строке слово powershell и запустите приложение от имени администратора).
  • В окно командной строки введите команду powershell, нажмите Enter и дождитесь появления запроса ввода PS C:Windowssystem32>. Пропустите это, если вы работаете в консоли Windows PowerShell.
  • Далее введите инструкцию Set-ExecutionPolicy RemoteSigned и, если будет запрос, подтвердите выполнение нажатием клавиши «Y«.
  • После этого поочередно выполните еще 2 команды: Import-Module «Путь_к _файлу_*.ps1», например, Import-Module D:win-key.ps1 и Get-WindowsKey.
  • Ключ продукта отобразится в окне консоли в строке «ProductKey».

Преимущества этого способа — безопасность и универсальность. Недостатки — более сложное выполнение, чем скрипта VB, и не стопроцентная точность. На некоторых системах ключ продукта определяется неправильно, поэтому желательна перепроверка другими средствами.

«ProduKey» от NirSoft для определения ключа Windows 10 и не только

Те, кто не любит работать с консольными приложениями, могут использовать для определения ключа «десятки» сторонний софт.

Таких программ довольно много, мы отобрали наиболее простые из них, которые не показывают лишнего и не вызывают затруднений даже у новичков. Одна из них — утилита «ProduKey» от NirSoft.

Она позволяет узнать не только ключ системы, но и приложений Microsoft Office, и браузера Internet Explorer (ныне переименованного в Edge).

«ProduKey» от NirSoft не требует установки — достаточно скачать утилиту с официального сайта и запустить с правами админа. Ключ Windows 10, как и остальные, отображается в главном окне. При желании его можно сохранить в файл.

Кроме того, «ProduKey» от NirSoft умеет определять ключи других копий Windows, установленных на локальном и удаленных компьютерах, в том числе на всех машинах в домене. Также он может вытащить ключ из реестра незагруженной системы.

Последнее бывает необходимо при переустановке ОС, чтобы повторно активировать Windows 10, когда она потребует ключ продукта.

Чтобы выбрать, из какой копии Windows загружать данные, кликните в панели инструментов кнопку «Select source».

Преимущества «ProduKey» от NirSoft — это максимальная простота, отсутствие необходимости установки, возможность работать с незагруженными копиями Windows и удаленными компьютерами.

«Magical Jelly Bean Keyfinder» достанет ключ продукта из дистрибутива Windows 10

Утилита «Magical Jelly Bean Keyfinder» имеет уникальную функцию определения product key как в установленной системе, так и в дистрибутивах Windows — на компакт-дисках и в образах формата .ico. Найденный ключ с ее помощью можно сохранить в файл.

«Magical Jelly Bean Keyfinder» выпускается в двух версиях — бесплатной и коммерческой. Чтобы вытянуть ключ из загруженной Windows 10, достаточно бесплатной.

Коммерческая версия позволяет сканировать системы на удаленных компьютерах, вытягивать ключи из BIOS (UEFI), определять серийные номера продуктов Adobe и пользоваться техподдержкой. Цена лицензии — от $ 29.95.

Важно! В отличие от «ProduKey», бесплатная версия «Magical Jelly Bean Keyfinder» требует инсталляции на ПК и помимо себя пытается установить ненужное рекламное ПО. В этом, пожалуй, и есть его главный недостаток.

«ShowKeyPlus» подскажет ключ текущей Windows 10 и ее предшественника

Небольшая, простая утилитка «ShowKeyPlus» — единственный продукт, который смог определить ключ установленной ОС Windows 10 и ее предшественницы Windows 7 («семерка» в нашем примере была обновлена до «десятки»).

Как и «ProduKey» от NirSoft, она не требует инсталляции и не распространяет рекламу, ее достаточно скачать и запустить. Ключи продуктов отображаются в основном окне. Нажатием «Save» их можно скопировать и сохранить в текстовом файле.

Кроме того, «ShowKeyPlus» умеет извлекать product key из реестра незагруженной ОС. Кликните для этого «Retrieve key from backup» и укажите путь к источнику — файлу Software, который находится в каталоге Буква_разделаWindowssystem32config.

Обратите внимание! Еще одна полезная ее функция — это определение версии Windows по известному product key. Она незаменима, когда имеющиеся у вас ключи не подходят для активации Windows 10, поскольку принадлежат другой системе. Чтобы использовать возможность, перейдите во вкладку «Check product key».

Утилита «ShowKeyPlus», как и «ProduKey» от NirSoft, отлично справляется со своими задачами и не имеет недостатков.

Все упомянутые в обзоре программы необходимо скачивать только с официальных сайтов. Продукты, загруженные непонятно откуда, могут передать product key вашей системы злоумышленникам.

Как узнать ключ продукта Windows 7, 8.1, 10

Сразу после выхода новой ОС Windows 10, все стали интересоваться, как узнать ключ установленной Windows 10, хотя в большинстве случаев он не требуется

Источник

В этой статье мы поговорим о том, как можно узнать ключ Windows 8, с помощью которого активирована система. Напомним, в Windows 8, как и в предыдущих ОС семейства Microsoft – ключ продукта представляет собой последовательность из 25 символов, разделенных на 5 групп по 5 символов в каждой (XXXXX-XXXXX-XXXXX-XXXXX-XXXXX). Данный ключ используется для активации всех версий Windows 8.

При активации Windows 8 нужно учитывать следующие моменты:

  • Ключ Windows 8 можно использовать только для активации той редакции Windows 8, для которой он предназначен, и не для какой другой (т.е. с помощью ключа Windows 8 Pro не получится активировать Windows 8 home).
  • OEM ключ можно использовать для активации OEM-ной копии Windows 8 на том же самом компьютере, на котором он был активирован впервые и ни на каком другом
  • Ключом retail можно активировать Windows 8 на любом компьютере, но только на одном одновременно

При покупке retail версии Windows 8 ключ продукта поставляется в виде наклейки, которую можно наклеить на системный блок или ноутбук, в случае покупке устройства с предустановленной Windows 8, OEM— ключ уже будет приклеен к корпусу девайса. Эта наклейка называется Certificate of Authenticity (COA).

Как узнать ключ windows 8

Однако нередко случается, что по какой-либо «трагической причине», текст на такой лицензионной наклейке становится нечитаемым (пролился кофе, стерся об коленки, просто потерялся и т.д.). Как в этом случае можно программно найти ключ Windows 8, чтобы можно было в дальнейшем при переустановке системы ее вновь активировать? Кроме того может возникнуть необходимость проверки системы на лицензионность и совпадение установленного в системе ключа и ключа на наклейке.

Ключ активации Windows 8 хранится в системном реестре, но не в открытом виде, а в зашифрованном (кодировка base 24). И в принципе его можно оттуда извлечь, расшифровать и переписать на бумажку. Информация о ключе хранится в ключе реестра HKLMSOFTWAREMicrosoftWindows NTCurrentVersionDigitalProductId, нам нужно лишь его извлечь и расшифровать.

Ключ Windows 8 хранится в реестре

В общем случае активированный ключ можно извлечь через WMI. Сделать это можно без использования сторонних программ средствами, средствами уже имеющимися в составе ОС Windows 8:VBScrit и Powershell. Ниже приведем оба способа, позволяющих определить ключ Windows 8.

Получаем ключ активации Windows 8 с помощью VBScript

  1. Создайте новый текстовый файл с именем get_windows_8_key.vbs и сохраните его на рабочем столе
  2. Вставьте в него следующий код
    Set WshShell = CreateObject("WScript.Shell")
    regKey = "HKLMSOFTWAREMicrosoftWindows NTCurrentVersion"
    DigitalProductId = WshShell.RegRead(regKey & "DigitalProductId")
    
    Win8ProductName = "Windows Product Name: " & WshShell.RegRead(regKey & "ProductName") & vbNewLine
    Win8ProductID = "Windows Product ID: " & WshShell.RegRead(regKey & "ProductID") & vbNewLine
    Win8ProductKey = ConvertToKey(DigitalProductId)
    strProductKey ="Windows 8 Key: " & Win8ProductKey
    Win8ProductID = Win8ProductName & Win8ProductID & strProductKey 
    
    MsgBox(Win8ProductKey)
    MsgBox(Win8ProductID)
    
    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
  3. Дважды щелкните по файлу, после чего должно появиться окно, с отображенным в нем ключом продукта. В нашем случае система активирована ключом Windows 8 Release Preview.

Получить ключ windows 8 с помощью vbs

Готовый vbs скрипт можно скачать тут:get_windows_8_key_vbs.zip.

Как узнать ключ активации Windows 8 с помощью Powershell

Узнать ключ установленной Windows 8 можно также с помощью Powerhell.

  1. Создайте файл с расширением get_windows_8_key.ps1 и скопируйте в него следующий код:
    function Get-WindowsKey {
    ## get the Windows Product Key from any PC
    
    param ($targets = ".")
    $hklm = 2147483650
    $regPath = "SoftwareMicrosoftWindows NTCurrentVersion"
    $regValue = "DigitalProductId"
    Foreach ($target in $targets) {
    $productKey = $null
    $win32os = $null
    $wmi = [WMIClass]"\$targetrootdefault: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
    }
    }
  2. Запустите командную строку с правами администратора и для открытия консоли PoSh выполните в ней команду powershell
  3. В появившемся окне нужно разрешить выполнение неподписанных скриптов командой:
    Set-ExecutionPolicy RemoteSigned
  4. Выполните команды
    Import-Module d:myfile.ps1;
    Get-WindowsKey
  5. В результате в окне Powershell отобразится ключ установленной Windowsкак найти ключ windows 8 с помощью powershell
  6. Если нужно узнать ключи активации на удаленных компьютерах, воспользуйтесь командой Get-WindowsKey «computer1», «serv-dc2», «romp-buh02»

Готовый powershell скрипт находится тут:get_windows_8_key_ps.zip

Еще одна версия Powershell скрипта из комментариев от akaNeo

 

## Декларация функции получения ключа продукта Windows

## Скрипт предназначен PowerShell версии 2.0 (актуальна для всех версии Windows)

Function Get-WindowsProduct {

## Функция возвращает ключ установленной Windows с любой машины в сети, плюс краткую инфу по установленной версии. Вызов без ключей подразумевает обращение к хосту

param ($Targets = [System.Net.Dns]::GetHostName())

function PIDDecoderFromRegistry($digitalProductId) {

New-Variable -Name base24 -Value 'BCDFGHJKMPQRTVWXY2346789' ## -Option Const ## <24> символа использующиеся в ключах продукта Windows и Office

New-Variable -Name decodeStringLength -Value 24 ## -Option Const ## ‘Чистая’ длина зашифрованного ключа продукта

New-Variable -Name decodeLength -Value 14 ## -Option Const ## Длина зашифрованного ключа продукта в байтах (символы хранятся в полубайтах)

New-Variable -Name decodedKey -Value ([System.String]::Empty) ## Строка содержащая расшифрованный ключ продукта

## Проверка, содержит ли ключ продукта ‘N’ (такое возможно для Windows 8 и Office 15)

$containsN = ($digitalProductId[$decodeLength] / 8)  -bAnd 1 ## ($digitalProductId[$decodeLength] -shr 3)  -bAnd 1 ## PS 4.0

$digitalProductId[$decodeLength] = [System.Byte]($digitalProductId[$decodeLength] -bAnd [System.Convert]::ToByte('F7', 16)) ## 247

## Собственно процесс расшифровки

for ($i = $decodeStringLength; $i -ge 0; $i--)

{

$digitMapIndex = 0

for ($j = $decodeLength; $j -ge 0; $j--)

{

$digitMapIndex = $digitMapIndex * 256 -bXor $digitalProductId[$j] ## $digitMapIndex -shl 8 -bXor $digitalProductId[$j] ## PS 4.0

$digitalProductId[$j] = [System.Math]::Truncate($digitMapIndex / $base24.Length)

$digitMapIndex = $digitMapIndex % $base24.Length

}

$decodedKey = $decodedKey.Insert(0, $base24[$digitMapIndex])

}

## Удаление первого символа в ключе и помещение ‘N’ в нужную позицию

if ([System.Boolean]$containsN)

{

$firstLetterIndex = 0

for ($index = 0; $index -lt $decodeStringLength; $index++)

{

if ($decodedKey[0] -ne $base24[$index]) {continue}

$firstLetterIndex = $index

break

}

$keyWithN = $decodedKey

$keyWithN = $keyWithN.Remove(0, 1)

$keyWithN = $keyWithN.Substring(0, $firstLetterIndex) + 'N' + $keyWithN.Remove(0, $firstLetterIndex)

$decodedKey = $keyWithN;

}

$returnValue = $decodedKey

## Вставка тире через каждые пять символов

for ($t = 20; $t -ge 5; $t -= 5)

{

$returnValue = $returnValue.Insert($t, '-')

}

return $returnValue

}

## Main

New-Variable -Name hklm -Value 2147483650 ## -Option Const

New-Variable -Name regPath -Value 'SoftwareMicrosoftWindows NTCurrentVersion' ## -Option Const

New-Variable -Name regValue -Value 'DigitalProductId' ## -Option Const

Foreach ($target in $Targets) {

$win32os = $null

$wmi = [WMIClass]"\$targetrootdefault:stdRegProv"

$binArray = $wmi.GetBinaryValue($hklm,$regPath,$regValue).uValue[52..66]

$win32os = Get-WmiObject -Class 'Win32_OperatingSystem' -ComputerName $target

$product = New-Object -TypeName System.Object

## Конструктор

$product | Add-Member -MemberType 'NoteProperty' -Name 'Computer' -Value $target

$product | Add-Member -MemberType 'NoteProperty' -Name 'Caption' -Value $win32os.Caption

$product | Add-Member -MemberType 'NoteProperty' -Name 'CSDVersion' -Value $win32os.CSDVersion

$product | Add-Member -MemberType 'NoteProperty' -Name 'OSArch' -Value $win32os.OSArchitecture

$product | Add-Member -MemberType 'NoteProperty' -Name 'BuildNumber' -Value $win32os.BuildNumber

$product | Add-Member -MemberType 'NoteProperty' -Name 'RegisteredTo' -Value $win32os.RegisteredUser

$product | Add-Member -MemberType 'NoteProperty' -Name 'ProductID' -Value $win32os.SerialNumber

$product | Add-Member -MemberType 'NoteProperty' -Name 'ProductKey' -Value (PIDDecoderFromRegistry($binArray))

Write-Output $product

}

} ## End Get-WindowsProduct

Описанные выше методики, позволяющие узнать ключ установленной Windows, будут работать на всех системах с ОС: Windows XP, Vista, Windows 7 и Windows 8.

Как узнать ключ установленной Windows 10/8/7/XP? Этого многие не могут сделать и не понимают, куда делся этот самый код, когда он вдруг стал востребован. Наклейка на компьютере истёрлась от времени, а записать его забыли. Что делать?

Product key (лицензионный ключ)

Product key (лицензионный ключ) — это 25 символов, которые вводятся при покупке какого-либо продукта от «Майкрософт» либо другого ПО. Это то, что делают нашу «Винду» 10 или какую-нибудь ещё полностью легальной, а не пиратской, как большинство ОС используемых в России. Поэтому особенно важно его не терять. Вот только в Microsoft по необъяснимым причинам сделали так, что на компьютере его найти нельзя. Поэтому при востребовании многие не знают, как узнать ключ установленной Windows 10, 8, 7.

Случаев, когда люди теряют свой лицензионный ключ продукта достаточно много. Кроме того, есть ситуации, когда мы его даже не узнаём. Например, при покупке нового компьютера и последующем обновлении до более старшей ОС: с восьмой «Винды» на Windows 10.

Однако не всё так плохо. Чтобы понять, как узнать ключ продукта, вам нужно просто читать дальше.

Способы без использования сторонних программ

Существует довольно лёгкий метод, который многими рекомендуется, плюс не требует устанавливать никаких утилит на компьютер. Но подойдёт он только тем, кто ищет, как узнать ключ продукта установленной Windows 7, 8 или 8.1.

Для этого нужно запустить специальный скрипт:

  1. Создаём новый текстовый документ («Блокнот»)
  2. Вставляем текст скрипта:

Set WshShell = CreateObject(«WScript.Shell»)
regKey = «HKLMSOFTWAREMicrosoftWindows NTCurrentVersion»
DigitalProductId = WshShell.RegRead(regKey & «DigitalProductId»)

Win8ProductName = «Windows Product Name: » & WshShell.RegRead(regKey & «ProductName») & vbNewLine
Win8ProductID = «Windows Product ID: » & WshShell.RegRead(regKey & «ProductID») & vbNewLine
Win8ProductKey = ConvertToKey(DigitalProductId)
strProductKey =»Windows 8 Key: » & Win8ProductKey
Win8ProductID = Win8ProductName & Win8ProductID & strProductKey

MsgBox(Win8ProductKey)
MsgBox(Win8ProductID)

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

  1. Нажимаем «Сохранить как».
  2. Задаём любое имя файла, но в его конце пишем «.vbs».
  3. Выбираем тип файла «Все файлы», нажимаем «Сохранить».

Теперь при нажатии на файл откроется окно, где вы увидите ключ «Винды» 7, 8, или 8.1. Стоит заметить, что иногда этот способ может подействовать для продукта Windows 10.

Кроме этого скрипта есть ещё несколько, служащих для такой же цели. Но возиться с ними придётся дольше: использовать командную строку, различные другие служебные утилиты на компьютере. При том, что результат выходит один и тот же. Поэтому мы приводим для вас только один.

Тем, у кого такой метод не подействовал — читать статью дальше.

Способы с использованием сторонних программ

Вопросом поиска ключа, видимо, задавались многие, поэтому в интернете сейчас можно найти довольно много различных утилит, предлагающих вывести коды многих программ, в том числе и операционных систем. Как правило, все они бесплатные и весят от нескольких килобайт до нескольких мегабайт, но вполне хорошо справляются с поставленной задачей. Далее приведено несколько примеров утилит, которые можно использовать для этой цели.

ProduKey

ProduKey

Окно ProduKey

При помощи этой программы вы сможете найти утраченные лицензионные коды для Windows 10 или любой другой «Винды», а также для ряда платного ПО.

Всё, что вам потребуется сделать, это скачать утилиту с официального сайта, разархивировать, запустить. Далее вы увидите ключ вашей Windows.

Кроме того, ProduKey показывает также productkeysследующего ПО:

  • Microsoft Office
  • Exchange Server
  • SQL Server

ShowKeyPlus

ShowKeyPlus

ShowKeyPlus

Ещё одна утилита с довольно говорящим названием, которая также позволяет узнать ключ продукта Windows 10 или любой другой «Винды».

Для этого нам просто нужно её скачать (программа бесплатная) и запустить. В открывшемся окне сразу появится вся необходимая информация.

WinKeyFinder

WinKeyFinder

WinKeyFinder

Хорошая программа, которая является одним из вариантов при поиске способов, как узнать ключ «Винды» 7 или XP. Она выводит номера продукта самой ОС и «Офиса». Воспользоваться ей довольно легко. Она распространяется бесплатно, поэтому просто скачиваем, а затем запускаем. Вы сразу увидите нужные наборы символов.

Помимо этих утилит существует ещё неограниченное множество, но, на самом деле, для того, чтобы узнать свой productkey установленной Windows XP, 7, 8 или 10, хватит одной из вышеописанных.

Последние 5 символов

Напоследок можно заметить, что просмотреть последние пять символов номера продукта можно без хитрых манипуляций. Достаточно лишь вызвать командную строку (Win+R), а затем вбить в ней следующее: «slmgr.vbs /dlv». Затем высветится окно с несколькими строчками, в одной из которых будет написана последняя часть лицензионного кода «Винды» 10 либо какой-то другой.

Теперь вы с лёгкостью можете восстановить свой Productkey, если он вдруг был утерян.

Понравилась статья? Поделить с друзьями:
  • Hkey local machine software microsoft windows currentversion hwid
  • Hklm software microsoft windows currentversion policies system credssp parameters
  • Hklm software microsoft windows currentversion personalizationcsp
  • Hklm software microsoft windows currentversion mmdevices audio render
  • Hklm software microsoft windows currentversion explorer folderdescriptions