微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

windows-server-2003 – 如何从启动CD获取许可证密钥?

我们最近购买了一段时间使用的服务器,但没有相关的软件,登录等.我们试图删除管理员帐户密码,但这不起作用.我们还尝试对密码进行了一些更深入的编辑,但也没有用.

现在我要做的是现在使用服务器上现有的注册表项重新安装Windows.我已经读过您可以访问注册表中的产品密钥,并使用密码工具(Linux启动CD),我们可以查看注册表.当我尝试这个时,我得到了ProductId(哪个版本的Windows),而不是注册表项.

我试图在Windows Server 2003 R2中读取的操作系统.

好的我能够使用以下方法检索它:

下载AC2T keyviewer(http://www.ac2tech.com/tools/keyviewer/keyviewer.zip)

我使用了密码重置工具(不确定它是什么,它只是我多年来一直使用的那个),它在启动CD上有一个注册表查看器.我导航到了

Microsoft->Windows NT->Current Version->DigitalProductId

一旦我得到了这个值(它真的很长,大约12行十六进制),输入整个keyviewer应用程序的’Raw Key’选项卡.它应该吐出你的产品密钥.请注意,这在某些版本的Windows Server中不起作用.

我发现的另一个替代方案是以下powershell脚本:

# create table to convert in base 24
$map="BCDFGHJKMPQRTVWXY2346789"
# Read registry Key
$value = (get-itemproperty "HKLM:\\SOFTWARE\Microsoft\Windows NT\CurrentVersion").digitalproductid[0x34..0x42]
# Convert in Hexa to show you the Raw Key
$hexa = ""
$value | foreach {
  $hexa = $_.ToString("X2") + $hexa
}
"Raw Key Big Endian: $hexa"

# find the Product Key
$ProductKey = ""
for ($i = 24; $i -ge 0; $i--) {
  $r = 0
  for ($j = 14; $j -ge 0; $j--) {
    $r = ($r * 256) -bxor $value[$j]
    $value[$j] = [math]::Floor([double]($r/24))
    $r = $r % 24
  }
  $ProductKey = $map[$r] + $ProductKey 
  if (($i % 5) -eq 0 -and $i -ne 0) {
    $ProductKey = "-" + $ProductKey
  }
}
"Product Key: $ProductKey"

在此脚本中,您可以使用以下内容替换$value变量:

>从无法启动的计算机中找到上述注册表值中的内存位置34到42.
>将每对数字转换为十进制(即A1 = 161)
>使用这些值构建数组,例如. $value =(161,…)

运行脚本然后返回产品密钥.

原文地址:https://www.jb51.cc/windows/369173.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐