You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于使用PowerShell脚本提取Windows产品密钥的技术咨询

关于使用PowerShell脚本提取Windows产品密钥的技术咨询

我找到一组可用于提取Windows产品密钥的PowerShell函数,能从系统的数字许可证信息中解析出有效密钥,下面是完整的可运行脚本代码:

function Get-WindowsProductKey {
    function Get-OSDigitalID($Key) {
        $KeyOffset = 52 
        $isWin8 = [Int]($Key[66] / 6) -bAND 1
        $HF7 = 0xF7
        $Key[66] = ($Key[66] -bAND $HF7) -bOR (($isWin8 -bAND 2) * 4)
        $i = 24
        [String]$Chars = 'BCDFGHJKMPQRTVWXY2346789' 
        do {
            $Current = 0 
            $j = 14
            do {
                $Current = $Current * 256    
                $Current = $Key[$j + $KeyOffset] + $Current
                $Key[$j + $KeyOffset] = [math]::Floor([double]($Current / 24))
                $Current = $Current % 24
                $j = $j - 1 
            } while ($j -ge 0)
            $i = $i - 1
            $KeyOutput = $Chars.SubString($Current, 1) + $KeyOutput
            $Last = $Current
        } while ($i -ge 0)
        
        $KeyPart1 = $KeyOutput.SubString(1, $Last)
        $KeyPart2 = $KeyOutput.SubString(1, $KeyOutput.Length - $Last)
        $ProductKey = $KeyPart1 + '-' + $KeyPart2 -replace '(.{5})','$1-'
        $ProductKey = $ProductKey.TrimEnd('-')
        return $ProductKey
    }

    $RegPath = "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion"
    $DigitalID = (Get-ItemProperty -Path $RegPath).DigitalProductId
    Get-OSDigitalID $DigitalID
}

使用小贴士

  • 建议以管理员身份打开PowerShell,避免权限不足的问题
  • 将上述代码粘贴到PowerShell窗口执行后,直接输入 Get-WindowsProductKey 命令,就能得到当前系统的Windows产品密钥

这个脚本的核心逻辑是读取注册表中存储的二进制数字产品ID,通过字符映射和进制转换,把它转换成我们熟悉的「XXXXX-XXXXX-XXXXX-XXXXX-XXXXX」格式的产品密钥,适配多数主流Windows版本。

备注:内容来源于stack exchange,提问作者Pendraig

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.16 08:33:09