AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1560951
Accepted
MMM
MMM
Asked: 2020-06-16 06:11:32 +0800 CST2020-06-16 06:11:32 +0800 CST 2020-06-16 06:11:32 +0800 CST

Extraindo chaves de licença do Windows 10 de máquinas

  • 772

Em todo o escritório, temos vários computadores com Windows 10 (uma dúzia ou mais), mas não temos uma ideia clara de quais de nossas licenças estão ativadas em qual computador. É possível extrair a chave de licença usada atualmente de cada computador?

Não usamos AD ou KMS ou algo assim, cada computador é configurado exclusivamente para o indivíduo que trabalha nele. Estamos cientes de quais chaves possuímos, mas não sabemos quais estão em uso e onde. Temos uma combinação de licenças OEM, MSDN e "regulares".

windows-10 license
  • 6 6 respostas
  • 7952 Views

6 respostas

  • Voted
  1. Best Answer
    BramMooij
    2020-06-16T06:56:23+08:002020-06-16T06:56:23+08:00

    Você pode usar o 'ProduKey' do NirSoft. Você pode baixá-lo em nirsoft.net . Este é um utilitário freeware que permite não apenas ver as chaves do Windows, mas também várias outras chaves de produtos da Microsoft.

    Este método funciona para licenças de volume, bem como para OEM e outras licenças independentes.

    Observe que ele não oferece suporte oficial ao Windows 10, mas minha experiência até agora foi bem-sucedida.

    • 32
  2. Virtuality
    2020-06-16T06:22:01+08:002020-06-16T06:22:01+08:00

    Digitar:

    wmic path softwareLicensingService get OA3xOriginalProductKey 
    

    no Prompt de Comando (Admin) e pressione enter.

    Isso mostrará a chave de produto original do Windows 10 para cada máquina.

    NOTA: Isso só funciona para licenças OEM.

    • 15
  3. Nico Nekoru
    2020-06-17T10:13:43+08:002020-06-17T10:13:43+08:00

    Se você estiver executando o Windows em uma cópia genuína do Windows conectada à placa-mãe (uma chave OEM), poderá usar este comando no prompt de comando do administrador do Windows:

    wmic path softwareLicensingService get OA3xOriginalProductKey
    

    ou no Administrador Powershell

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

    no entanto, se você inseriu uma chave de produto ou possui uma licença digital conectada ao computador, isso não funcionará. Você pode obter a chave do produto que está em seu computador com um VBScript, conforme mostrado aqui , de autoria de Hackoo. Existem muitos VBScripts diferentes bem conhecidos para obter a chave do produto e a maioria deles é baseada no registro, pois o registro armazena a chave do produto formatada de uma maneira específica (semi-criptografada, mas não realmente, se você quiser).

    Às vezes, os valores do registro mudam ou são removidos, então, nesse caso, eu usaria software extra de terceiros se isso não fosse uma limitação ou preocupação. Meu favorito agora é ProduKey


    VBScript por Hackoo abaixo

    const HKEY_LOCAL_MACHINE = &H80000002
    
    strKeyPath = "SOFTWARE\Microsoft\Windows NT\CurrentVersion"
    strValueName = "DigitalProductId"
    strComputer = "."
    dim iValues()
    
    Set oReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _ 
      strComputer & "\root\default:StdRegProv")
    oReg.GetBinaryValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,iValues
    
    Dim arrDPID
    arrDPID = Array()
    For i = 52 to 66
      ReDim Preserve arrDPID( UBound(arrDPID) + 1 )
      arrDPID( UBound(arrDPID) ) = iValues(i)
    Next
    ' <--- Create an array to hold the valid characters for a microsoft Product Key --->
    Dim arrChars
    arrChars = Array("B","C","D","F","G","H","J","K","M","P","Q","R","T","V","W","X","Y","2","3","4","6","7","8","9")
    
    ' <--- The clever bit !!! (Decrypt the base24 encoded binary data) --->
    For i = 24 To 0 Step -1
      k = 0
      For j = 14 To 0 Step -1
        k = k * 256 Xor arrDPID(j)
        arrDPID(j) = Int(k / 24)
        k = k Mod 24
      Next
      strProductKey = arrChars(k) & strProductKey
      ' <--- add the "-" between the groups of 5 Char --->
      If i Mod 5 = 0 And i <> 0 Then strProductKey = "-" & strProductKey
    Next
    strFinalKey = strProductKey
    
    ' <--- This part of the script displays operating system Information and the license Key --->
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" _
      & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    Set colOperatingSystems = objWMIService.ExecQuery _
      ("Select * from Win32_OperatingSystem")
    For Each objOperatingSystem in colOperatingSystems
      strOS   = objOperatingSystem.Caption
      strBuild   = objOperatingSystem.BuildNumber
      strSerial   = objOperatingSystem.SerialNumber
      strRegistered  = objOperatingSystem.RegisteredUser
    Next
    
    Set wshShell=CreateObject("wscript.shell")
    strPopupMsg = strOS & vbNewLine & vbNewLine
    strPopupMsg = strPopupMsg & "Build Number:  " & strBuild & vbNewLine
    strPopupMsg = strPopupMsg & "PID:  " & strSerial & vbNewLine & vbNewLine
    strPopupMsg = strPopupMsg & "Registered to:  " & strRegistered & vbNewLine & vbNewLine & vbNewLine
    strPopupMsg = strPopupMsg & "Your Windows Product Key is:" & vbNewLine & vbNewLine & strFinalKey
    strPopupTitle = "Microsoft Windows License Information"
    wshShell.Popup strPopupMsg,,strPopupTitle,vbCancelOnly+vbinformation
    

    Outro VBScript que funciona

    Option Explicit
    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
    'Show messbox if save to a file
    If vbYes = MsgBox(ProductData & vblf & vblf & "Save to a file?", vbYesNo + vbQuestion, "BackUp Windows Key Information") then
    Save ProductData
    End If
    '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
    'Save data to a file
    Function Save(Data)
    Dim fso, fName, txt,objshell,UserName
    Set objshell = CreateObject("wscript.shell")
    'Get current user name
    UserName = objshell.ExpandEnvironmentStrings("%UserName%")
    'Create a text file on desktop
    fName = "C:\Users\" & UserName & "\Desktop\WindowsKeyInfo.txt"
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set txt = fso.CreateTextFile(fName)
    txt.Writeline Data
    txt.Close
    End Function
    
    • 4
  4. Wasif
    2020-06-16T07:58:01+08:002020-06-16T07:58:01+08:00

    Você pode usar este excelente código VBScript encontrado em https://stackoverflow.com/questions/30255656/vbscript-to-return-windows-product-key

    const HKEY_LOCAL_MACHINE = &H80000002
    
    strKeyPath = "SOFTWARE\Microsoft\Windows NT\CurrentVersion"
    strValueName = "DigitalProductId"
    strComputer = "."
    dim iValues()
    
    Set oReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _ 
      strComputer & "\root\default:StdRegProv")
    oReg.GetBinaryValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,iValues
    
    Dim arrDPID
    arrDPID = Array()
    For i = 52 to 66
      ReDim Preserve arrDPID( UBound(arrDPID) + 1 )
      arrDPID( UBound(arrDPID) ) = iValues(i)
    Next
    ' <--- Create an array to hold the valid characters for a microsoft Product Key --->
    Dim arrChars
    arrChars = Array("B","C","D","F","G","H","J","K","M","P","Q","R","T","V","W","X","Y","2","3","4","6","7","8","9")
    
    ' <--- The clever bit !!! (Decrypt the base24 encoded binary data) --->
    For i = 24 To 0 Step -1
      k = 0
      For j = 14 To 0 Step -1
        k = k * 256 Xor arrDPID(j)
        arrDPID(j) = Int(k / 24)
        k = k Mod 24
      Next
      strProductKey = arrChars(k) & strProductKey
      ' <--- add the "-" between the groups of 5 Char --->
      If i Mod 5 = 0 And i <> 0 Then strProductKey = "-" & strProductKey
    Next
    strFinalKey = strProductKey
    
    
    ' <--- This part of the script displays operating system Information and the license Key --->
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" _
      & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    Set colOperatingSystems = objWMIService.ExecQuery _
      ("Select * from Win32_OperatingSystem")
    For Each objOperatingSystem in colOperatingSystems
      strOS   = objOperatingSystem.Caption
      strBuild   = objOperatingSystem.BuildNumber
      strSerial   = objOperatingSystem.SerialNumber
      strRegistered  = objOperatingSystem.RegisteredUser
    Next
    
    Set wshShell=CreateObject("wscript.shell")
    strPopupMsg = strOS & vbNewLine & vbNewLine
    strPopupMsg = strPopupMsg & "Build Number:  " & strBuild & vbNewLine
    strPopupMsg = strPopupMsg & "PID:  " & strSerial & vbNewLine & vbNewLine
    strPopupMsg = strPopupMsg & "Registered to:  " & strRegistered & vbNewLine & vbNewLine & vbNewLine
    strPopupMsg = strPopupMsg & "Your Windows Product Key is:" & vbNewLine & vbNewLine & strFinalKey
    strPopupTitle = "Microsoft Windows License Information"
    wshShell.Popup strPopupMsg,,strPopupTitle,vbCancelOnly+vbinformation
    

    Ele exibirá uma mensagem incluindo a versão do sistema operacional, o número da compilação, a ID do produto OEM e a chave do produto do registro. A ativação é necessária antes de fazer isso, caso contrário, retornará a chave de produto errada. Para encontrar a chave do produto sem ativação, você pode tentar o KeyFinder https://www.magicaljellybean.com/keyfinder/

    • 0
  5. wgr
    2020-06-17T12:33:31+08:002020-06-17T12:33:31+08:00

    Você pode usar o Belarc Advisor, disponível para download em Belarc.com.

    Ele fornecerá uma lista abrangente do software no computador, bem como suas chaves de licença.

    • -3
  6. Nestor Fulcanelli
    2020-06-17T09:45:05+08:002020-06-17T09:45:05+08:00

    obtenha uma cópia de RecoverKeys retrieve-keys.com Ele também funcionará (se você escolher) para digitalizar através da rede ou em uma segunda unidade em nossa máquina (por exemplo, movi uma unidade C: antiga para minha nova máquina e RK encontrou os números de série e prod #'s nessa unidade também.

    Então você pode salvar todas as chaves em um banco de dados que ele mantém

    • -4

relate perguntas

  • O serviço de arbitragem USB da estação de trabalho VMware não inicia automaticamente

  • Como ativar o sensor de impressão digital no domínio e no diretório ativo do Linux

  • atalho do shell da área de trabalho no painel lateral do explorer

  • Por que não consigo enviar arquivos do Android para o Windows 10?

  • Abrir com em vários arquivos?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como posso reduzir o consumo do processo `vmmem`?

    • 11 respostas
  • Marko Smith

    Baixar vídeo do Microsoft Stream

    • 4 respostas
  • Marko Smith

    O Google Chrome DevTools falhou ao analisar o SourceMap: chrome-extension

    • 6 respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Martin Hope
    CiaranWelsh Como posso reduzir o consumo do processo `vmmem`? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Pesquisa do Windows 10 não está carregando, mostrando janela em branco 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    v15 Por que uma conexão de Internet gigabit/s via cabo (coaxial) não oferece velocidades simétricas como fibra? 2020-01-25 08:53:31 +0800 CST
  • Martin Hope
    fixer1234 O "HTTPS Everywhere" ainda é relevante? 2019-10-27 18:06:25 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve