Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS Windows > command-line: get Product key & software


Автор: tcg2 25.5.2007, 16:54
Добры ден! Как через командную строку можно будет получить Product Key (Windows) и утсановленного софта..Вот и все вобщем то. Читал форум но не нашел.

Автор: localhost 25.5.2007, 20:10
Ключ хранится в реестре в зашифрованном виде. Непосредственно с консоли получить его не удастся.
Можно попробовать использовать скрипт:
Код

'---xp-viewkey.vbs---
' by PaulD
Set WshShell = WScript.CreateObject("WScript.Shell")
strDigitalProductId="HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DigitalProductId"
strOffXPRU="HKLM\SOFTWARE\Microsoft\Office\10.0\Registration\{91110419-6000-11D3-8CFE-0050048383C9}\DigitalProductId"
 
strXPKey=GetKey(WshShell.RegRead(strDigitalProductId))
'strOffXPRUKey=GetKey(WshShell.RegRead(strOffXPRU))
 
'CopytoClipboard
set ie=CreateObject("internetExplorer.application")
ie.navigate "about:blank"
do until ie.readystate=4: wscript.sleep 1: loop
ie.document.parentwindow.clipboardData.setData "Text", strXPKey
 
 
MsgBox "WinXP:"&strXPKey&chr(13)&_
"key in clipboard"
' "OffXP:"&strOffXPRUKey
 
Function GetKey(rpk)
 
Const rpkOffset=52:i=28
szPossibleChars="BCDFGHJKMPQRTVWXY2346789"
 
Do 'Rep1
dwAccumulator=0 : j=14
Do 
dwAccumulator=dwAccumulator*256 
dwAccumulator=rpk(j+rpkOffset)+dwAccumulator
rpk(j+rpkOffset)=(dwAccumulator\24) and 255 
dwAccumulator=dwAccumulator Mod 24
j=j-1
Loop While j>=0
i=i-1 : szProductKey=mid(szPossibleChars,dwAccumulator+1,1)&szProductKey
if (((29-i) Mod 6)=0) and (i<>-1) then 
i=i-1 : szProductKey="-"&szProductKey
End If
Loop While i>=0 'Goto Rep1
 
GetKey=szProductKey
End Function

Если нужен именно консольный вывод, не составит труда переделать данный скрипт с выводом в стандартный поток.  smile 

Автор: tcg2 28.5.2007, 17:34
Спасибо за предложеного варианта, благодарен, но если честно не силен я в программированию! Разобратся наверника смогу, но уйдет кучу времени, если не сложно подскажите готовый код, ..а то функцию ставить в другой код ...ето для меня как-будто :Эверест: smile!Спасибо все равно!

Автор: Klin 28.5.2007, 21:42
А в настроках системы (свойства папки "Мой компьютер") разве нет?

Автор: tcg2 28.5.2007, 23:07
Klin, это ProductID, его я знаю как получить даже из command-line (WMI), а мне нужен Product Key тот самый для регистрация Винда localhost правильно сказал что он зашифрованный, но нужно его расшифровать smile ! Вот вчем дело smile !

Автор: Klin 29.5.2007, 16:25
Воть оно как smile Возможно http://www.n-admin.com/n27-478.html поможет.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)