Windows 10: Reading windows 10 key from bios

  1.    01 Aug 2016 #1

    Reading windows 10 key from bios


    I work for a company that we get vendor pc's all the time. We need to be able to get the key from the bios and from the registry. With this we can then see if there is a key in the bios and if it is being used in the OS...
    example will be vendors sending in Windows 7 pc's but win10 key is in bios... we know we can attempt to upgrade.

    thanks for any help...

    I have a teste machine that RW and oem_key.exe work and show my key in the bios. This key is different than what is in the OS.

    from googling and trying various things... it seems that I thought I had it but it doesnt work.
    here is the code I am using and top part is for bios key and bottom lengthy part is from the registry...

    On Error Resume Next
    strGetKey = "Not in Bios"
    strComputer = "."


    Set objWMIService = GetObject("winmgmts:" & strComputer & "\root\cimv2")
    Set colItems = objWMIService.ExecQuery("Select * from SoftwareLicensingService")
    For Each objItem in colItems
    Set GetOSKey = objItem.OA3xOriginalProductKey
    Next
    If GetOSKey = "" Then
    GetOSKey = strGetKey
    End If


    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 & vbNewLine & "Key in Bios: " & GetOSKey
    MsgBox(ProductData)
    'MsgBox(GetOSKey)

    '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

    If (isWin8 = 1) Then
    keypart1 = Mid(KeyOutput, 2, Last)
    insert = "N"
    KeyOutput = Replace(KeyOutput, keypart1, keypart1 & insert, 2, 1, 0)
    If Last = 0 Then KeyOutput = insert & KeyOutput
    End If


    ConvertToKey = Mid(KeyOutput, 1, 5) & "-" & Mid(KeyOutput, 6, 5) & "-" & Mid(KeyOutput, 11, 5) & "-" & Mid(KeyOutput, 16, 5) & "-" & Mid(KeyOutput, 21, 5)
    End Function
    Attached Thumbnails Attached Thumbnails BiosKey.jpg  
      My ComputerSystem Spec

  2.    01 Aug 2016 #2

    @Superfly ^^^^
      My ComputerSystem Spec


  3. Posts : 3,506
    Win_8.1-Pro, Win_10.1607-Pro, Mint_17.3
       01 Aug 2016 #3

    NavyLCDR said: View Post
    @Superfly ^^^^
    -- OR --

    View Product Key in Windows 10
      My ComputerSystem Spec

  4.    01 Aug 2016 #4

    Slartybart said: View Post
    Im looking for a way to script it. Ill give you more info...
    We us Altiris and I am going to setup a custom inventory that will automatically grab this info...

    So a tool that I need to run manually wont work. Also that one needs .Net which I do not have and wouldnt run. You can see in my pic I have 2 tools that you manually run for the info.
      My ComputerSystem Spec

  5.    01 Aug 2016 #5

    TeleFragger said: View Post
    Im looking for a way to script it. Ill give you more info...
    We us Altiris and I am going to setup a custom inventory that will automatically grab this info...

    So a tool that I need to run manually wont work. Also that one needs .Net which I do not have and wouldnt run. You can see in my pic I have 2 tools that you manually run for the info.

    It is much more complicated to do than using a simple script.

    Showkeyplus tells you version, if it is an oem-slp key, COA key, system builder key, retail key, volume licence key etc.

    For example, if a user has windows 7 preinstalled by a major vendor, then extracting a key will give an oem-slp generic key which is of no use. You need to COA key which is normally on a blue sticker. if that key has not been used, no keyfinder can determine it.

    Similarly, with Windows 10, if you have upgraded from 7/8 for example, the key is again just a useless generic key as licence is mobo bound.

    Then you get complications of upgrades from XP, Vista etc which give you upgrade keys which cannot be used to reinstall OS without going back to base OS.

    Superfly has spent years refining showkeyplus, and has a lot of knowledge that is probably not common knowledge without a lot of web searching. It will certainly be more than 100 lines of VBS script by at least one order of magnitude.
      My ComputerSystem Spec

  6.    02 Aug 2016 #6

    Yup I touched on it here: Showkey - Page 46 - Windows 10 Forums

    ...OA3xOriginalProductKey was introduced with Win 8.1, it is not in Win 7's WMI. (BTW that script looks a lot like the ShowKey1.1 script with a few name changes... LOL)

    ShowKeyPlus uses native API's as I said in the link above as well as minimum .Net 4.0 client redist. which Win 7 downloads as part of recommend updates. I'm not aware of any script/commandline app that will work on Win 7, thus I added that functionality which will allow it to be run in a script (with .Net ofc).

    PS: I could try targeting .Net 3.5, I suppose, and see if there any compilation errors...
      My ComputerSystem Spec

  7.    02 Aug 2016 #7

    Superfly said: View Post

    ...OA3xOriginalProductKey was introduced with Win 8.1, it is not in Win 7's WMI. (BTW that script looks a lot like the ShowKey1.1 script with a few name changes... LOL)
    ya know that was funny... i took the vbscript for the registry and then edited that. Started adding in the other part and when I got done (help with a coworker) .. we both looked at it.. then we found that Showkey1.1 script and was like.... woah... we read his mind!!!!!! HAHAHAHAA



    Superfly said: View Post
    Yup I touched on it here: Showkey - Page 46 - Windows 10 Forums

    ...OA3xOriginalProductKey was introduced with Win 8.1, it is not in Win 7's WMI. (BTW that script looks a lot like the ShowKey1.1 script with a few name changes... LOL)

    ShowKeyPlus uses native API's as I said in the link above as well as minimum .Net 4.0 client redist. which Win 7 downloads as part of recommend updates. I'm not aware of any script/commandline app that will work on Win 7, thus I added that functionality which will allow it to be run in a script (with .Net ofc).

    PS: I could try targeting .Net 3.5, I suppose, and see if there any compilation errors...
    so do you think you could add a feature to run this as a command line with output log options?
      My ComputerSystem Spec


 

Related Threads
Windows 10 Reading List App in Software and Apps
Windows 10 Reading List App update ready in store Version 6.3.9654.21199 Updated and installed OK
Windows not reading monitor EDID in Drivers and Hardware
Hi, I recently got a new monitor, an Eizo EV2750, which Windows only recognizes as a generic PnP monitor. I've tried connecting it thorugh DisplayPort, HDMI and DVI without any luck. The often mentioned sollution, to unlplug everything and...
Ok so here's what I have done so far. 1) created a bootable USB with Windows 10(64 bit) upgrade 2) installed the upgrade successfully with no issues 3) when I check system info it shows only 24 GB of ram and 16 GB of this is "usable". However when I...
Windows edge reading view in Browsers and Email
Can you set reading view as a default in windows edge? Don
Read more: A closer look at Spartans new reading mode and reading list
Our Sites
Site Links
About Us
Windows 10 Forums is an independent web site and has not been authorized, sponsored, or otherwise approved by Microsoft Corporation. "Windows 10" and related materials are trademarks of Microsoft Corp.

Designer Media Ltd
All times are GMT -5. The time now is 17:02.
Find Us