Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Клиентские ОС Microsoft » Microsoft Windows 2000/XP » Разное - [решено] Как узнать ключ продукта установленной ОС

Ответить
Настройки темы
Разное - [решено] Как узнать ключ продукта установленной ОС

Аватара для Sirko9

Ветеран


Сообщения: 1676
Благодарности: 226


Конфигурация

Профиль | Цитировать


забыл, где можно посмотреть ключ продукта?

-------
Дякуйте Богу за прожитий день. За спожитий хліб, за здоров`я, і ласки які Він нам посилає.


Отправлено: 12:18, 16-10-2008

 


Moderator


Сообщения: 53441
Благодарности: 15497

Профиль | Отправить PM | Цитировать


RockXP
ProduKey
и т. д.
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:22, 16-10-2008 | #2



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

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


Новый участник


Сообщения: 2
Благодарности: 2

Профиль | Отправить PM | Цитировать


Можно при помощи вот такого скрипта:
читать дальше »

Код: Выделить весь код
'========================================================================== 
' NAME      :   SoftWareAudit.vbs 
' AUTHOR    :   Павел Б. 
' DATE      :   29.01.2009 
' 
' COMMENT   :   используется для проведения инвентаризации программного 
'               обеспечения 
'========================================================================== 
ResultReWrite = 0   'флаг перезаписи фаила результатов 1 - перезапись 0 -нет 
strPathFileResultat =".\"' "C:\" '".\" \\domenserver\datainventory$\ здесь указываем путь куда будут сохраняться отчёты по инветаризации ПО 
strRazdelitel = vbTab '";"'vbTab 'для разделения полей применить символ табуляции (vbTab) 
Const HKEY_CURRENT_CONFIG = &H80000005 
Const HKEY_LOCAL_MACHINE = &H80000002 
Const HKEY_CLASSES_ROOT = &H80000000 
Const HKEY_CURRENT_USER = &H80000001 
Const HKEY_USERS = &H80000003 
Dim strSearchKey(100) 
Dim strKey_soft 
Dim sSoftware(200,3), sSoftware_i 'значения массива с данными ProductId и LicenseKey, счетчика текущей строки массива 
strComputer = "." 
sSoftware_i = 0 
strRegKey = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\"  'strKey 
strWinkey = "SOFTWARE\Microsoft\Windows NT\CurrentVersion" 
strSearchKey(1) = "DisplayName" 
strSearchKey(2) = "QuietDisplayName" 
strSearchKey(3) = "InstallDate" 
strSearchKey(4) = "DisplayVersion" 
strSearchKey(5) = "VersionMajor" 
strSearchKey(6) = "VersionMinor"  
strSearchKey(7) = "EstimatedSize" 
strSearchKey(8) = "ProductID" 
strSearchKey(9) = "DigitalProductId" 
strSearchKey(10) = "DisplayVersion" 
strSearchKey(11) = "ProductName"         
strDate = DateFormat(Date) 
strTime = TimeFormat(Time) 
strParamComputerName = "не_найдено" 
strFull = "" 
strMACadress = "" 
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 
Set objReg      =   GetObject("winmgmts://" & strComputer & "/root/default:StdRegProv") 
Set colSettings =   objWMIService.ExecQuery ("SELECT * FROM Win32_ComputerSystem") 
Set colSoftware =   objWMIService.ExecQuery ("SELECT * FROM Win32_Product")  
Set colItems    =   objWMIService.ExecQuery ("SELECT * FROM Win32_NetworkAdapterConfiguration",,48)  
Dim oWS : Set oWS = CreateObject("WScript.Shell") 
Dim oFSO : Set oFSO = CreateObject("Scripting.FileSystemObject") 
Dim i, ii                           'просто счётчик 
Dim sRegTitle, sRegKey              'переменные для работы cо строками выгруженного реестра 
Dim objLineText, LineText           'переменные для загрузки информации из техтового файла (ansi) 
Dim shDefKey 
sRegDataSearch=Array("HKEY_CURRENT_USER","HKEY_USERS","HKEY_LOCAL_MACHINE","HKEY_CLASSES_ROOT","HKEY_CURRENT_CONFIG") ' используються при выгрузке реестра 
strPath = oWS.Environment("Process")("Temp") 
For i=0 To UBOUND(sRegDataSearch) 
oWS.Run "regedit /e /a " & strPath & "\" & sRegDataSearch(i)& ".tmp " & sRegDataSearch(i), , True 'выгрузка реестра в файлы (ansi) для поиска 
With oFSO.GetFile(strPath & "\" & sRegDataSearch(i) & ".tmp ") 
objLineText = Split(.OpenAsTextStream(1, 0).Read(.Size), vbcrlf) 
End With 
oFSO.DeleteFile(strPath & "\" & sRegDataSearch(i) & ".tmp ") 'удаление не нужных файлов 
For Each LineText In objLineText 
If InStr(1,LineText,"[",1) > 0 Then  
sRegTitle = LineText 
End if 
If InStr(1,LineText,strSearchKey(9),1) > 0 Then 
If sRegTitle <> LineText Then 
If (InStr(1,sRegTitle,"[") > 0) And (InStr(1,sRegTitle,"]") > 0) Then 
sRegTitle = Mid(sRegTitle, InStr(1,sRegTitle,"[")+1, InStr(1,sRegTitle,"]")-InStr(1,sRegTitle,"[")-1) 
GetDataReg (sRegTitle) 
End If  
End If 
End If 
Next 
Erase objLineText 
Next 
objReg.EnumKey HKLM, strRegKey, arrSubkeys 
For Each objItem in colItems 
If objItem.DNSHostName <> "" Then 
If strMACadress <> "" Then strMACadress = strMACadress & "," End If 
strMACadress = strMACadress & objItem.MACAddress                         
End If         
Next 
For Each objComputer In colSettings 
strComputerRole =  "88" 'значение для нераcпределенного ПК 
strUserName = objComputer.UserName 
strParamComputerName = objComputer.Name 
Select Case objComputer.DomainRole  
Case 0 strComputerRole = "01"'"Standalone Workstation" одиночный ПК 
Case 1 strComputerRole = "02"'"Member Workstation" доменный ПК 
Case 2 strComputerRole = "11"'"Standalone Server" одиночный сервер 
Case 3 strComputerRole = "12"'"Member Server" - сервер домена 
Case 4 strComputerRole = "13"'"Backup Domain Controller" - Сервер BDC 
Case 5 strComputerRole = "14"'"Primary Domain Controller" - Сервер PDC 
End Select 
Next 
If ResultReWrite = 0 Then 
strFileSoftwareAudit = strPathFileResultat & "SoftwareAudit_" & strParamComputerName & "_" & strDATE &  strTime & ".txt" 
Else 
strFileSoftwareAudit = strPathFileResultat & "SoftwareAudit_" & strParamComputerName & ".txt" 
End If 
Set objFSO = CreateObject("Scripting.FileSystemObject") 
Set objTextFile = objFSO.CreateTextFile(strFileSoftwareAudit, True) 
Set objReg = GetObject("winmgmts://" & strComputer & "/root/default:StdRegProv") 
On Error Resume Next  
For Each objOS in GetObject("winmgmts:").InstancesOf ("Win32_OperatingSystem") 
strFull = _ 
strComputerRole & _ 
strRazdelitel & strParamComputerName & _ 
strRazdelitel & strMACadress & _ 
strRazdelitel & strUserName & _ 
strRazdelitel & objOS.Caption & _ 
strRazdelitel & objOS.Version & _ 
strRazdelitel & Mid(objOS.InstallDate,1,8) & _ 
strRazdelitel & objOS.SerialNumber & _ 
strRazdelitel & GetKey(oWS.RegRead("HKLM\" & strWinkey & "\" & strSearchKey(9))) 
If strFull <> "" Then objTextFile.WriteLine strFull End If            
Next 
'назначение ПК (01,02 - ПК, 11,12,13,14 - сервер) 
'сетевое имя ПК 
'MAC адрес ПК 
'пользователь ПК (текущий на момент аудита) 
'лицензионное наименование ПО 
'версия ПО 
'дата установки ПО 
'PID ПО 
'лицензионный ключ ПО 
objReg.EnumKey HKEY_LOCAL_MACHINE, strRegKey, arrSubkeys 
For Each strSubkey In arrSubkeys 
If objReg.GetStringValue(HKEY_LOCAL_MACHINE, strRegKey & strSubkey, strSearchKey(1), strValue1) <> 0 Then  
objReg.GetStringValue HKEY_LOCAL_MACHINE, strRegKey & strSubkey, strSearchKey(2), strValue1   
End If  
objReg.GetStringValue HKEY_LOCAL_MACHINE, strRegKey & strSubkey, strSearchKey(3), strValue2 
objReg.GetDWORDValue  HKEY_LOCAL_MACHINE, strRegKey & strSubkey, strSearchKey(5), intValue3 
objReg.GetDWORDValue  HKEY_LOCAL_MACHINE, strRegKey & strSubkey, strSearchKey(6), intValue4 
objReg.GetDWORDValue  HKEY_LOCAL_MACHINE, strRegKey & strSubkey, strSearchKey(7), intValue5 
objReg.GetStringValue HKEY_LOCAL_MACHINE, strRegKey & strSubkey, strSearchKey(8), intValue6 
objReg.GetStringValue HKEY_LOCAL_MACHINE, strRegKey & strSubkey, strSearchKey(10), intValue10 
If strValue1 <> ""  Then    
For i = 0 To sSoftware_i 
If strValue1 = sSoftware(i,3) Or intValue6 = sSoftware(i,1)  Then  
strKey_soft = sSoftware(i,2)  
intValue6 = sSoftware(i,1) 
End If 
Next 
End If 
If intValue10 = "" Then intValue10 = intValue3 & "." & intValue4  End If 
strFull = _ 
strComputerRole & _ 
strRazdelitel & strParamComputerName & _ 
strRazdelitel & strMACadress & _         
strRazdelitel & strUserName & _ 
strRazdelitel & strValue1 & _ 
strRazdelitel & intValue10 & _ 
strRazdelitel & strValue2 & _ 
strRazdelitel & intValue6 & _ 
strRazdelitel & strKey_soft 
If strValue1 <> "" Then objTextFile.WriteLine strFull End If 
strKey_soft = "" 
intValue6 = "" 
'назначение ПК (01,02 - ПК, 11,12,13,14 - сервер) 
'сетевое имя ПК 
'MAC адрес ПК 
'пользователь ПК (текущий на момент аудита) 
'лицензионное наименование ПО 
'версия ПО 
'дата установки ПО 
'PID ПО 
'лицензионный ключ ПО 
Next 
objTextFile.Close 
Cleanup() 
Sub Cleanup() 
Set oWS = Nothing 
Set oFSO = Nothing 
WScript.Quit 
End Sub 
 
Function GetKey(rpk) 
 
Dim szPossibleChars, dwAccumulator, j, i, szProductKey 
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 
 
Function FormatNum(NumVal) 
strNum = Trim(NumVal) 
If Len(strNum) = 1 Then strNum = "0" + strNum 
FormatNum = strNum 
End Function 
 
Function DateFormat(DateVal) 
strNY = FormatNum(Year(DateVal)) 
strNM = FormatNum(Month(DateVal)) 
strND = FormatNum(Day(DateVal)) 
'DateFormat = strNY + "_" + strNM + "_" + strND 
DateFormat = strNY + strNM + strND 
End Function 
 
Function TimeFormat(TimeVal) 
strNH = FormatNum(Hour(TimeVal)) 
strNMin = FormatNum(Minute(TimeVal)) 
strNS = FormatNum(Second(TimeVal)) 
'TimeFormat = strNH + "_" + strNMin + "_" + strNS 
TimeFormat = strNH + strNMin + strNS 
End Function 
 
Function GetDataReg (ssRegTitle) 
Dim sID_soft, sKey_soft, sName_soft 
sID_soft = "" 
sKey_soft = "" 
sName_soft = "" 
sRegTitle = ssRegTitle 
Select Case Mid(sRegTitle, 1, InStr(1,sRegTitle,"\")-1) 
Case "HKEY_CURRENT_USER" 
shDefKey=HKEY_CURRENT_USER 
Case "HKEY_USERS" 
shDefKey=HKEY_USERS 
Case "HKEY_LOCAL_MACHINE" 
shDefKey=HKEY_LOCAL_MACHINE 
Case "HKEY_CLASSES_ROOT" 
shDefKey=HKEY_CLASSES_ROOT 
Case "HKEY_CURRENT_CONFIG" 
shDefKey=HKEY_CURRENT_CONFIG 
End Select  
If objReg.EnumValues (shDefKey, Mid(sRegTitle, InStr(1,sRegTitle,"\")+1, Len(sRegTitle)-InStr(1,sRegTitle,"\")), arrEntryNames, arrValueTypes) = 0 Then 
For ii=0 To UBound(arrEntryNames) 
If (LCase(arrEntryNames(ii)) = LCase(strSearchKey(8))) And (arrValueTypes(ii)= 1) Then  
sID_soft = oWS.RegRead(sRegTitle & "\" & strSearchKey(8)) 
End If 
If (LCase(arrEntryNames(ii)) =  LCase(strSearchKey(9))) And (arrValueTypes(ii)= 3) Then 
sKey_soft = GetKey(oWS.RegRead(sRegTitle & "\" & strSearchKey(9))) 
End If 
If (LCase(arrEntryNames(ii)) =  LCase(strSearchKey(11))) And (arrValueTypes(ii)= 1) Then 
sName_soft = oWS.RegRead(sRegTitle & "\" & strSearchKey(11)) 
End If 
Next 
End If 
If (sID_soft <> "") And (sKey_soft <> "") Then 
sSoftware(sSoftware_i,1) = sID_soft 
sSoftware(sSoftware_i,2) = sKey_soft 
sSoftware(sSoftware_i,3) = sName_soft 
sSoftware_i = sSoftware_i + 1 
End If 
End Function


Плюс за одно покажет какие проги установленны
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:56, 29-01-2012 | #3


Пользователь


Сообщения: 80
Благодарности: 1

Профиль | Отправить PM | Цитировать


Petya V4sechkin,
У меня на ProduKey ругается антивирус. Это нормально?

Отправлено: 18:40, 30-01-2012 | #4



Moderator


Сообщения: 53441
Благодарности: 15497

Профиль | Отправить PM | Цитировать


Silumin, нормально, документацию почитайте:

Цитата Nir Sofer:
When running produkey.exe, Some Antivirus programs displays an alert and/or block you from running it. Click here to read more about false alerts in Antivirus programs
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:43, 30-01-2012 | #5


Пользователь


Сообщения: 80
Благодарности: 1

Профиль | Отправить PM | Цитировать


Спасибо я так и подумал.

Отправлено: 18:49, 30-01-2012 | #6


Аватара для pingUIN

Пользователь


Сообщения: 137
Благодарности: 7

Профиль | Отправить PM | Цитировать


Цитата garey:
Можно при помощи вот такого скрипта: »
Уважаемый, подскажите, пожалуйста имя файла каким образом задать, в котором будет содержаться отчет?
С лёту, понять не могу.

-------
здесь был администратор 8)


Отправлено: 17:24, 15-04-2016 | #7


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата pingUIN:
Уважаемый, подскажите, пожалуйста имя файла каким образом задать, в котором будет содержаться отчет?
С лёту, понять не могу. »
Имя файла определяется здесь:
Код: Выделить весь код
If ResultReWrite = 0 Then 
	strFileSoftwareAudit = strPathFileResultat & "SoftwareAudit_" & strParamComputerName & "_" & strDATE &  strTime & ".txt" 
Else 
	strFileSoftwareAudit = strPathFileResultat & "SoftwareAudit_" & strParamComputerName & ".txt" 
End If
Путь «strPathFileResultat» к нему — выше:
Код: Выделить весь код
strPathFileResultat =".\"' "C:\" '".\" \\domenserver\datainventory$\ здесь указываем путь куда будут сохраняться отчёты по инветаризации ПО

Отправлено: 20:56, 15-04-2016 | #8



Компьютерный форум OSzone.net » Клиентские ОС Microsoft » Microsoft Windows 2000/XP » Разное - [решено] Как узнать ключ продукта установленной ОС

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - [решено] Изменение ключа продукта для легализации уже установленной системы .:[все вопросы]:. Blast Лицензирование продуктов Microsoft 145 27-08-2015 09:21
Разное - [решено] Как узнать ключ системы Windows XP erka Microsoft Windows 2000/XP 22 08-04-2011 10:18
7 / 2008 R2 - [решено] Неверный ключ продукта mifrith Автоматическая установка Windows 11 / 10 / 8 / 7 / Vista 2 27-11-2009 21:32
2008 - Чем можно просмотреть ключ продукта в установленной ситеме __sa__nya Windows Server 2008/2008 R2 1 26-01-2009 17:44
[решено] подскажите куда надо ключ продукта прописать krazy Автоматическая установка Windows 2000/XP/2003 1 06-12-2008 22:45




 
Переход