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

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.

Теги

 

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

Установка Windows Vista Ultimate

Снёс с компа Windows 10 и поставил Windows Vista. Есть у меня старенький комп. С каждым очередным крупным обновлением Windows 10 операционная система работала всё медленнее и медленнее. В какой-то момент я даже подумал, что ресурсы пожирает вирус, троян или криптомайнер. Были мысли, что начались проблемы в железе. После анализа производительности выяснилось, что ресурсы жрёт ОС Windows 10. Было принято решение поставить Windows Vista. Забегая вперёд можно сказать, что проблемы с тормозами после перехода на Vista сразу прекратились.

Теги

Тюнинг Windows Terminal

Windows Terminal — новое терминальное приложение в Windows для разработчиков и системных администраторов. Инструмент позволяет в одном окне в режиме вкладок запускать различные оболочки командной строки, PowerShell и WSL. В одной вкладке может отображаться несколько панелей.

Теги