- Как узнать ключ активации Windows
- Определение ключа с помощью VBScript
- Команды для проверки активации
- VBS скрипт для определения ключа Windows
- Ключ продукта
- Ключ продукта в BIOS
- Цифровая лицензия
- Ключ по умолчанию
- eyecatchup / get-win7-productkey.vbs
- This comment has been minimized.
- sunsprite commented Dec 2, 2015
- This comment has been minimized.
- k00sa commented Jan 22, 2016
- This comment has been minimized.
- SinaAnderson commented Jul 28, 2016
- This comment has been minimized.
- ffansszi commented Oct 12, 2016
- This comment has been minimized.
- ghost commented Dec 30, 2016
- This comment has been minimized.
- ctooth16 commented Jan 21, 2017
- This comment has been minimized.
- cononda commented Jan 23, 2017 •
- This comment has been minimized.
- tRekiP commented Mar 3, 2017
- This comment has been minimized.
- windowskeys commented Mar 7, 2017
- This comment has been minimized.
- windowskeys commented Mar 15, 2017
- This comment has been minimized.
- Manskerty commented Jun 24, 2017
- This comment has been minimized.
- CristinaHopkins commented Sep 8, 2017
- This comment has been minimized.
- private2020 commented Feb 17, 2019
- Как узнать ключ Windows 8
- Получаем ключ активации Windows 8 с помощью VBScript
- Как узнать ключ активации Windows 8 с помощью Powershell
Как узнать ключ активации Windows
В данной статье показаны действия, с помощью которых можно узнать ключ активации в операционной системе Windows.
Нередко пользователи сталкиваются с необходимостью переустановить лицензионную Windows. Особенностью установки операционной системы, в данном случае, является необходимость ввода ключа активации, без которого система будет функционировать с некоторыми ограничениями. Что делать, если ключ активации потерян или наклейка на ноутбуке стерлась? Ответ на данный вопрос вы найдете ниже.
Определение ключа с помощью VBScript
Создайте в любом удобном месте текстовый файл, например на рабочем столе и переименуйте его в WindowsKey.
Откройте созданный ранее текстовый файл в текстовом редакторе (по умолчанию в блокноте) и скопируйте в него следующий код:
Set WshShell = CreateObject(«WScript.Shell»)
regKey = «HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\»
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
Затем нажмите сочетание клавиш Ctrl + S чтобы сохранить изменения в файле.
Далее измените расширение файла на .vbs
Теперь дважды щёлкните по файлу WindowsKey.vbs, и после этого появится окно с вашим ключом активации.
Далее нажмите кнопку OK, появится ещё одно окно с более подробной информацией.
Также при необходимости можно скачать zip-архив с файлом WindowsKey.vbs
Команды для проверки активации
slmgr /dli — отображение сведений о лицензии
slmgr /dlv — отображение подробных сведений о лицензии
slmgr /xpr — отображение даты окончания активации
Эти команды выполняются в командной строке открытой от имени администратора.
Для отображения сведений о лицензии выполните команду slmgr /dli
Откроется окно сведений о лицензии.
Для отображения подробных сведений о лицензии выполните команду slmgr /dlv
Откроется окно подробных сведений о лицензии.
Для отображения даты окончания активации выполните команду slmgr /xpr
Откроется окно отображения даты окончания активации.
VBS скрипт для определения ключа 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:
Или в командной строке:
Цифровая лицензия
Если вы бесплатно обновили ОС Windows 7 или Windows 8.1 до Windows 10, вместо ключа продукта вы должны получить цифровую лицензию. Если у вас есть цифровая лицензия для устройства, вы можете переустановить тот же выпуск Windows 10 на этом устройстве без ввода ключа продукта.
В этом случае при попытке запустить скрипт для определения ключа вы получите это: BBBBB-BBBBB-BBBBB-BBBBB-BBBBB.
Открываем окно параметров.
Надпись об активации может отличаться:
Ключ по умолчанию
Можно узнать ключ по умолчанию для текущей редакции. Он устанавливается, если вы не указываете свой ключ и сохраняется при получении цифровой лицензии.
Полную версия ключа можно посмотреть в реестре:
Скрипт VBS в помощь. Просто скопируйте текст ниже в файл winkey2.vbs и запустите на нужной машине. Скрипт определит ключ по умолчанию и версию системы.
Этот ключ позволит установить windows 10 без проведения активации. Потом автоматически должна активироваться цифровая лицензия, если она привязана к вашей учётной записи Microsoft.
eyecatchup / get-win7-productkey.vbs
‘ VBS Script to get the Windows(R) 7 Product Key from a PC’s registry. |
‘ |
‘ Save the VBScript as «getWin7Key.vbs» somewhere on your Windows7 PC. |
‘ Now, when you double-click the local script file an alertbox pops up |
‘ displaying the product key stored in the machine’s Windows registry. |
Set WshShell = WScript.CreateObject( «WScript.Shell» ) |
KeyPath = «HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DigitalProductId» |
MsgBox ExtractKey(WshShell.RegRead(KeyPath)) |
Function ExtractKey(KeyInput) |
Const KeyOffset = 52 |
i = 28 |
CharWhitelist = «BCDFGHJKMPQRTVWXY2346789» |
Do |
Cur = 0 |
x = 14 |
Do |
Cur = Cur * 256 |
Cur = KeyInput(x + KeyOffset) + Cur |
KeyInput(x + KeyOffset) = (Cur \ 24 ) And 255 |
Cur = Cur Mod 24 |
x = x — 1 |
Loop While x >= 0 |
i = i — 1 |
KeyOutput = Mid(CharWhitelist, 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 |
ExtractKey = KeyOutput |
End Function |
This comment has been minimized.
Copy link Quote reply
sunsprite commented Dec 2, 2015
Thank you so much! This is much better than using downloaded applications, which gave me concern that my Key would be pirated.
This comment has been minimized.
Copy link Quote reply
k00sa commented Jan 22, 2016
Can u explain me how to modify source code to load registry from custom folder. Fox example i exported registry to my C:\user\desktop.
and can i somehow load in that way ? (: or just put hex string from registry to .txt and then read ? (:
This comment has been minimized.
Copy link Quote reply
SinaAnderson commented Jul 28, 2016
Hi,
Thanks for the great code. How do you change it to save/add the output to a text file? I want to run this on my domain computers.
Many thanks,
Sina
This comment has been minimized.
Copy link Quote reply
ffansszi commented Oct 12, 2016
This comment has been minimized.
Copy link Quote reply
ghost commented Dec 30, 2016
To display key in console run cscript.exe get-win7-productkey.vbs
to save it to file: cscript.exe get-win7-productkey.vbs > key.txt
This comment has been minimized.
Copy link Quote reply
ctooth16 commented Jan 21, 2017
You can also just click on the MsgBox popup and press CTRL+C and paste the output into a text file.
This comment has been minimized.
Copy link Quote reply
cononda commented Jan 23, 2017 •
To dawjan
display key in console run cscript.exe get-win7-productkey.vbs
to save it to file: cscript.exe get-win7-productkey.vbs > key.txt
Thanks for this but I get the textfile as follow:
Microsoft (R) Windwos Script Host, Version 5.8
Copyright (R) Microsoft Corporation 1996-2001. Alle Rechte Vorbehalten.
No key written in the file. Any recommendations?
PS running the script only I get the Product Key displayed in a Popupwindows.
This comment has been minimized.
Copy link Quote reply
tRekiP commented Mar 3, 2017
Where i have to write it? Im newbie in these registry and others.. Start -> Registy (some file) -> copy that command -> past here?
This comment has been minimized.
Copy link Quote reply
windowskeys commented Mar 7, 2017
For friends who wanna windows 7 product key,visit this page: www.vip4sale.com Fast delivery, and the keys are genuine!
This comment has been minimized.
Copy link Quote reply
windowskeys commented Mar 15, 2017
Check here: http://www.microsoftonlinekey.com , you will find many CHEAP Microsoft keys.
This comment has been minimized.
Copy link Quote reply
Manskerty commented Jun 24, 2017
Never mind , the Windows Password recovery tool may be a effective software for us to solve this problem ,
Here is a tutorial that you can get more steps about how to recover Windows Password :https://www.recoverywindowspassword.com/reset-windows-7-login-password-in-3-ways.html
This comment has been minimized.
Copy link Quote reply
CristinaHopkins commented Sep 8, 2017
Go site http://www.vanskeys.com to get genuine windows key here.
This comment has been minimized.
Copy link Quote reply
private2020 commented Feb 17, 2019
‘ VBS Script to get the Windows(R) 7 Product Key from a PC’s registry.
‘ Save the VBScript as «getWin7Key.vbs» somewhere on your Windows7 PC.
‘ Now, when you double-click the local script file an alertbox pops up
‘ displaying the product key stored in the machine’s Windows registry.
Set WshShell = WScript.CreateObject(«WScript.Shell»)
KeyPath = «HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DigitalProductId»
Как узнать ключ Windows 8
В этой статье мы поговорим о том, как можно узнать ключ 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 хранится в системном реестре, но не в открытом виде, а в зашифрованном (кодировка base 24). И в принципе его можно оттуда извлечь, расшифровать и переписать на бумажку. Информация о ключе хранится в ключе реестра HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DigitalProductId, нам нужно лишь его извлечь и расшифровать.
В общем случае активированный ключ можно извлечь через WMI. Сделать это можно без использования сторонних программ средствами, средствами уже имеющимися в составе ОС Windows 8:VBScrit и Powershell. Ниже приведем оба способа, позволяющих определить ключ Windows 8.
Получаем ключ активации Windows 8 с помощью VBScript
- Создайте новый текстовый файл с именем get_windows_8_key.vbs и сохраните его на рабочем столе
- Вставьте в него следующий код
- Дважды щелкните по файлу, после чего должно появиться окно, с отображенным в нем ключом продукта. В нашем случае система активирована ключом Windows 8 Release Preview.
Готовый vbs скрипт можно скачать тут:get_windows_8_key_vbs.zip.
Как узнать ключ активации Windows 8 с помощью Powershell
Узнать ключ установленной Windows 8 можно также с помощью Powerhell.
- Создайте файл с расширением get_windows_8_key.ps1 и скопируйте в него следующий код:
- Запустите командную строку с правами администратора и для открытия консоли PoSh выполните в ней команду powershell
- В появившемся окне нужно разрешить выполнение неподписанных скриптов командой:
- Выполните команды
- В результате в окне Powershell отобразится ключ установленной Windows
- Если нужно узнать ключи активации на удаленных компьютерах, воспользуйтесь командой Get-WindowsKey «computer1», «serv-dc2», «romp-buh02»
Готовый powershell скрипт находится тут:get_windows_8_key_ps.zip
Спасибо! Ссылочки поправил, пользуйтесь!
Попробовал, чота фигню какую-то кажет 8-/
ключ лицензионный, а показывает что-то типа ProductKey : BBBBB-BBBBB-BBBBB-BBBBB-BBBBB
BBBBB-BBBBB это значит что ключ удалён из реестра, его уже ничем не достанешь
Q: Программа показывает мне BBBBB-BBBBB-BBBBB-BBBBB ключ для Windows вместо реального активационного ключа.
A: Для Vista, Windows 7, Windows Server 2008 операционных систем, этот ключ может быть показан вместо настоящего ключа активации, если это ключи MAK (Multiple Activation Keys) или VLK (Volume License Keys). Эти ключи не подлежат восстановлению, поскольку они вообще не сохраняются в системе.
Странно может просто все делать надо внимательно, у меня все вышло)
У меня билд 8ки 9200, и ключ не подходит. Последние символы ключа, что отображены во вкладке система, отличаются от выданных таким образом.
на win8 хрень показывает, а не ключ.
Интересно, давайте попробуем разбраться. На моей Win 8 и Win 7 ключ выдает корректный. Kapital ,Lecter . Укажите, пожалуйста, версию Windows 8 и тип активации (в командной строке с правами админа выполните команду slmgr /dli — поле Description)
Для win 8 другой код получения ключа.
Тут обсуждают
_http://forums.mydigitallife.info/threads/35723-C-Compatible-Windows-8-Product-Key-Decoder
Кууль! первый скрипт работает, ключик выдал правильный (Win8 OEM)! А второй пишет какую-то ерунду.
Большое спасибо за скрипт! Он реально помог. Что касается ключа продукта, то неделю назад купил ноутбук Toshiba c предустановленной Windows 8 Home. С нижней стороны корпуса есть наклейка, но не такая как была раньше, а просто с надписью Windows 8 и всё. Никаких других цифр и букв там нет и в помине. Так что, ваша статья пригодится теперь не только тем, кто случайно повредил этот лейбл.
Та же «проблема» — в купленном Асусе предустановленная 8-ка, и наклейка на дне корпуса не содержит ключа. Интересно, это распространенная практика? Смогу ли я «официально» переустановить Win8 в случае чего?
«Предустановленная 8-ка» постоянно хранит ключ в недрах UEFI, откуда считывает его при установке/восстановлении; для корректной («официальной») переустановки потребуется носитель с именно такой же как и предустановленная версией Windows — тогда вообще вводить ключ не понадобится, в противном случае (если версия не совпадёт с предустановленной) возникнет сообщение, что «ключ не подошёл» или «нет дистрибутива подходящего для введённого ключа»
Но ключ винды лучше все таки вытащить подобным способом и куда нибудь сохранить, особенно это актуально при обновлении UEFI или других экспериментов с ним.
Большое спасибо . Всё ..ok
у меня RETAIL.и ключ не совпадает..это может быть для другого ключа -активации
Попробуйте сравнить ключ, полученный скриптом с результатом команды slmgr.vbs /dli (эта команда выдает кусочек ключа windows 8 — последние 5 символов). Есть совпадения?
Да я это понял slmgr.vbs /dli..вот именно не совпадает..у меня коробочная версия windows 8..вот поэтому наверно ..хотя не знаю…но ключ совершенно другой показывает..интересно)))
у меня retail..и ключ не совпадает..может это для другого вида ключа -активации
ой..извиняюсь за столько сообщений..заело что то у меня)))
Спасибо! Работает! Win 8 Single Lang.
Для корпоративных ключей(МАК) всегда будет показываться BBBBB-BBBBB-BBBBB-BBBBB так как Windows хранит только последнюю группу ключа.
В предустановленной Windows 8 ключ хранится в БИОСе. Он не совпадёт с ключом на наклейке. Переустановить систему используя ключ с наклейки не получится.
Спасибо! Все сработало как и говорилось Вами выше. Последние символы выданные при помощи Вашего скрипта,и те что были совпали полностью! Очень Вам благодарен! Очень полезный сайт, особенно тем у кого Win 8. Сохраню Вас в закладках на всякий пожарный!
Спасибо!! Первый вариант подошел на ноут с предустановленной windows 8. Acer Aspire
Первый скрипт работает (win7). Спасибо большое.
Все здорово, только с msgbox’ами не удобно. приходится потом ручками переписывать.
лучше использовать inputbox:
закомментить (поставить одинарную кавычку в начале строки) строки с msgbox и дописать на строчку ниже:
InputBox «Product Key», «Product Key», Win8ProductKey
InputBox «Product ID», «Product ID», Win8ProductID
Из msbox просто делаешь Ctrl-C и все сообщение из него копируется в буфер
Advance Token Manager показывает полный ключ, который совпадает с последней группой частичного ключа. Второй скрипт показывает другой ключ. хотя ID продукта совпадает с кодом продукта в свойствах системы. Каой же ключ все-таки правильный? Может MS проверяет ключи по реестру?
Большое спасибо 🙂 Купил комп а ключа нет. Через код узнал.Помогли 🙂
Windows 8 нашел с вашей помощью и ключ активации и ключ активации microsoft office.
спасибо. крипт первый мне помог 🙂
Ключ не совпадает с последними цифрами ключа, указанными в системе.Команда выдает последние 5 цифр, которые совпадают с куском ключа, но отличаются от того, что удалось получить плагином. Что делать?
Всем привет..купила ноутбук, а ключа от винды 8 нигде не нашла, если есть кто может помочь, буду очень. признательна
И еще нашла буке последние цифры ключа…если это поможет
При покупке ноутбука из всех наклеек стоит просто голограмма ВИН 8 и всё.Испытал все 2 способа,не один не помог,хотя делал всё,как описано в статье!В первом случае текстовый файл при нажатии остается таким же текстовым файлом,никаких окон не появляется. Во-втором же случае,после введения в командную строку предпоследней команды выдает надпись — мол данный модуль не был загружен……посоветуйте ещё что-нить.
Ну тупи..
В первом случае. окончания файла должно быть именно .vbs
А не .txt
Если это не так, то конечно у тебя ничего не поменяется..
Для виндовс 8.. Заходишь в
Мой компьютер->вид->параметры->изменить параметры папок и поиска->вид->скрывать расширения для зарегистрированных типов файлов (снимаешь эту галку и нажимаешь применить).
потом переименовываешь текстовый файл так, как описано в первом варианте и тип файла поменяется.. дальше, просто кликаешь на файле и всё ок.
Не груби у меня тоже самое было,что я сделал по первому способу скачал готовый ,там архив,достал файл .vbs из архива на рабочий стол ,тыкнул по нему 2 раза ,потом ок и ешо ок. По второму способу ,скачал Готовый powershell скрипт ,есть выше,выташил его из архива в диск D ,переименовал его в myfile.ps1 ,и тока тогда всё зароботало, а то дохера гуру появилось один другого грубее ,проше будте
спасибо за вашу статейку! лна из всех что я просмот
еще раз спасибо за полезную статью, все сделала как вы и говорили и ключ появился да только начала активировать а он пишет «этот ключ не являеться допустимым ключом для продукта офис» подскажите что делать а тоя уже так замучилась что и сама не рада. спасибо
Спасибо! Помогли очень
Самый верный способ узнать ключ win8, если не помогли эти скрипты, это посмотреть серийник через AIDA64. Сам так делал. Ключ выдает 100% валидный. Надеюсь помог кому-то 🙂
Пробывал на Wind 7 выбивает «ввввв-ввввв-ввввв-ввввв-ввввв», а не ключ ,как на 7 посмотреть можно?
Если скрипт выдает BBBBB-BBBBB-BBBBB-BBBBB, это означает что система была активирована с помощью ключа MAK (Multiple Activation Keys) или VLK (Volume License Keys). Эти ключи не подлежат восстановлению, т.к. они вообще не сохраняются в системном реестре
привет дайте пожалуйста ключ на 8
Большое спасибо, использовал для win2008 сервер, все показал.
Полезная статья
1) проверил работает, win 8 с media center
Вин 8 один язык, скачал готовый скрипт (1 способ), запустил, выдал код продукта и ключ активации
привет даите клуч windows 8 pro
Ребят помогите. Я скачал винду 8 и у меня просит ключ. Воспользовался 2 способом, и послудние буквы с цифрами совпадают, но пишут что ключ неверный. Что делать?
Скорее всего ключ от другой версии Windows. Ну, например, ключ от Single Langauage, а ставишь Professional. Скачай другой образ Windows 8
спасибочки…..все работает как и показано…
скачал zip……и будет вам счастье……
у меня W8 oem предустановленная….
Респект itpro, тестил на предустановленной W8, 8Pro, 7Pro — 1способ везде в цвет и последние группы совпадают))) огромное спасибо автору, а 2 нигде не пошел((
В скрипте для PowerShell допущена «ошибка» — он не работает на Windows 8.
Я поправил скрипт:
Странно, в моем случае работают оба скрипта. С Вашего разрешения опубликую также и Вашу версию Poweshell скрипта для определения ключа W8
Пожалуйста, публикуйте! Я всего лишь перевел код C# найденный по ссылке из поста выше на язык PS.
Суть в том, что ключ Windows 8/Office 2013 может содержать букву ‘N’. Такой ключ требует дополнительной обработки.
$containsN = ($digitalPorductId[14] -shr 3) -bAnd 1
— эта строка с опечаткой! Надо $digitalProductId
>>$containsN = ($digitalProductId[$decodeLength] / 8) -bAnd 1
так как в конце накладывается битовое и то возможны значения 0 и 1
>>$digitalProductId[$decodeLength] = … -bOr (($containsN -bAnd 2) * 4))
учитывая что переменная либо 0 либо 1, то значение этого выражения ВСЕГДА равно 0…
толи в скрипте ошибка, толи я чего-то не понимаю… :))
Кстати. В VB скрипте:
>>isWin8 = (regKey(66) \ 6) And 1
а у Вас деление на 8 всесто 6.
Какой вариант является правильным?
1) ‘-bOr 0’ — это действительно лишнее 🙂 Вот что бывает, когда тупо берешь чужой код не вникая. Я по своей ссылке убрал эту лажу.
2) В VBS не простое деление на 6 а целочисленное. Но не в этом суть — бит на самом деле может содержать либо ноль либо восемь. Автор VB-скрипта просто поигрался с тремя шестерками для красоты. Если туда воткнуть 5, 7 или собственно 8 ничего не изменится.
Спасибо!
целочисленное деление на 8 это значение 4 бита.
при целочисленном делении на 6 подходят еще числа 6 и 7,
т.е. 0110 и 0111.
Так какой признак правильный для нового алгоритма кодирования номера?
P.S. Я просто попытался найденный в инете vb script переложить на дельфи. Когда уидел -bor 0 полез в инет разбираться. В результате еще больше запутался… :))
Ну, откровенно скажу — я знаю алгоритм кодирования 🙂
Дык вот, там насильно в этот байт прописывается 0x08 и ничего больше. То есть что бы получить нужный результат применяется правый сдвиг на 3. Целочисленное деление — это просто костыль для VBScript, который сдвигать не умеет (как и PowerShell до третьей версии, кстати).
Прекрасно работает, а для офисов как поправит скрипт. очень надо
Прекрасно работает, а для офисов как надо скрипт поправить. очень надо
Win 8 по первому скрипту не подходит ключ, пишет возможно это от другой версии, офис 13, есть предлложение ? или ключ)))
Значит версия Windows 8 не подходит ну например диск с Windows 8 Ultimate, а ключ от Windows 8 Home.
У меня Lenovo P585 встроенная восьмёрка тоже просто наклейка с надписью Windows 8 и ключа не было ваш сайт очень помог. Большое спасибо.
Спасибо огромное автору очень нужная вещь.
если в первом вариантом пользоваться, то не удобно его переписывать, если добавить после строк
MsgBox(Win8ProductKey)
MsgBox(Win8ProductID)
вот такие, то откроется блокнот и в него впечатается само, тока язык по умолчанию, наверное, надо выставить английский:
WshShell.run «notepad»
WshShell.sendkeys Win8ProductID
Попробовал ваш get_windows_8_key_vbs
Та же самая ошибка только в 13й строке «WshShell.run notepad»
Зашёл сюда именно за этим,
Но не работает почему-то,
показывает в MsgBox ключи а потом выдаёт ошибку в 11ой строке симв.1 «недопустимый вызов или аргумент» код. 800А0005
мой скрипт
Set WshShell = CreateObject(«WScript.Shell»)
regKey = «HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\»
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)
WshShell.run notepad
WshShell.sendkeys 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
Можно сделать чтоб создавал %computername%Win8.TXT рядом или в указанной папке ?
нашёл ещё такой,
Option Explicit
Dim objshell,path,DigitalID, Result
Set objshell = CreateObject(«WScript.Shell»)
‘Set registry key path
Path = «HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\»
‘Registry key value
DigitalID = objshell.RegRead(Path & «DigitalProductId»)
Dim ProductName,ProductID,ProductKey,ProductData
‘Get ProductName, ProductID, ProductKey
ProductName = «Product Name: » & objshell.RegRead(Path & «ProductName»)
ProductID = «Product ID: » & objshell.RegRead(Path & «ProductID»)
ProductKey = «Installed Key: » & ConvertToKey(DigitalID)
ProductData = ProductName & vbNewLine & ProductID & vbNewLine & ProductKey
‘Show messbox if save to a file
If vbYes = MsgBox(ProductData & vblf & vblf & «Save to a file?», vbYesNo + vbQuestion, «BackUp Windows Key Information») then
Save ProductData
End If
‘Convert binary to chars
Function ConvertToKey(Key)
Const KeyOffset = 52
Dim isWin8, Maps, i, j, Current, KeyOutput, Last, keypart1, insert
‘Check if OS is Windows 8
isWin8 = (Key(66) \ 6) And 1
Key(66) = (Key(66) And &HF7) Or ((isWin8 And 2) * 4)
i = 24
Maps = «BCDFGHJKMPQRTVWXY2346789»
Do
Current= 0
j = 14
Do
Current = Current* 256
Current = Key(j + KeyOffset) + Current
Key(j + KeyOffset) = (Current \ 24)
Current=Current Mod 24
j = j -1
Loop While j >= 0
i = i -1
KeyOutput = Mid(Maps,Current+ 1, 1) & KeyOutput
Last = Current
Loop While i >= 0
keypart1 = Mid(KeyOutput, 2, Last)
insert = «N»
KeyOutput = Replace(KeyOutput, keypart1, keypart1 & insert, 2, 1, 0)
If Last = 0 Then KeyOutput = insert & KeyOutput
ConvertToKey = Mid(KeyOutput, 1, 5) & «-» & Mid(KeyOutput, 6, 5) & «-» & Mid(KeyOutput, 11, 5) & «-» & Mid(KeyOutput, 16, 5) & «-» & Mid(KeyOutput, 21, 5)