Перейти к основному содержанию

VBS скрипт для определения ключа Windows

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

  • Set WshShell = CreateObject("WScript.Shell")
    regKey = "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\"
    DigitalProductId = WshShell.RegRead(regKey & "DigitalProductId")
    
    WinProductName = "Windows Product Name: " & WshShell.RegRead(regKey & "ProductName") & vbNewLine
    WinProductID = "Windows Product ID: " & WshShell.RegRead(regKey & "ProductID") & vbNewLine
    WinProductKey = ConvertToKey(DigitalProductId)
    strProductKey ="Windows Key: " & WinProductKey
    WinProductID = WinProductName & WinProductID & strProductKey
    
    MsgBox(WinProductKey)
    MsgBox(WinProductID)
    
    Function ConvertToKey(regKey)
    Const KeyOffset = 52
    isWin8 = (regKey(66) \ 6) And 1
    regKey(66) = (regKey(66) And &HF7) Or ((isWin8 And 2) * 4)
    j = 24
    Chars = "BCDFGHJKMPQRTVWXY2346789"
    Do
    Cur = 0
    y = 14
    Do
    Cur = Cur * 256
    Cur = regKey(y + KeyOffset) + Cur
    regKey(y + KeyOffset) = (Cur \ 24)
    Cur = Cur Mod 24
    y = y -1
    Loop While y >= 0
    j = j -1
    winKeyOutput = Mid(Chars, Cur + 1, 1) & winKeyOutput
    Last = Cur
    Loop While j >= 0
    If (isWin8 = 1) Then
    keypart1 = Mid(winKeyOutput, 2, Last)
    insert = "N"
    winKeyOutput = Replace(winKeyOutput, keypart1, keypart1 & insert, 2, 1, 0)
    If Last = 0 Then winKeyOutput = insert & winKeyOutput
    End If
    a = Mid(winKeyOutput, 1, 5)
    b = Mid(winKeyOutput, 6, 5)
    c = Mid(winKeyOutput, 11, 5)
    d = Mid(winKeyOutput, 16, 5)
    e = Mid(winKeyOutput, 21, 5)
    ConvertToKey = a & "-" & b & "-" & c & "-" & d & "-" & e
    End Function

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

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

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

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_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\BackupProductKeyDefault

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

  • Set WshShell = CreateObject("WScript.Shell")
    regKey = "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\"
    regKey2 = "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\"
    WinProductKey = WshShell.RegRead(regKey2 & "BackupProductKeyDefault")
    
    WinProductName = "Windows Product Name: " & WshShell.RegRead(regKey & "ProductName") & vbNewLine
    WinProductID = "Windows Product ID: " & WshShell.RegRead(regKey & "ProductID") & vbNewLine
    strProductKey ="Windows Key: " & WinProductKey
    WinProductID = WinProductName & WinProductID & strProductKey
    
    MsgBox(WinProductKey)
    MsgBox(WinProductID)

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

Теги

 

Похожие материалы

Окно открылось за пределами экрана

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

Теги

Zabbix шаблон для мониторинга RAID контроллеров Intel RSTe и VROC в Windows

Делюсь полезным шаблоном для мониторинга программных RAID контроллеров Intel RST (Rapid Storage Technology), Intel RSTe (Intel Rapid Enterprise), Intel VROC (Virtual RAID on CPU).