Windows-Server-2003

如何從引導 CD 中獲取我的許可證密鑰?

  • April 14, 2015

我們最近購買了一台已經使用了一段時間的伺服器,但沒有相關的軟體、登錄名等。我們試圖將管理員帳戶密碼設為空白,但沒有成功。我們還嘗試對密碼進行更深入的編輯,但也無濟於事。

現在我要做的是現在使用伺服器上的現有系統資料庫項重新安裝 Windows。我讀到您可以訪問系統資料庫中的產品密鑰,並使用密碼工具(Linux 引導光碟)我們可以查看系統資料庫。當我嘗試這個時,我得到的是 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 應用程序的“原始密鑰”選項卡。它應該吐出您的產品密鑰。請注意,這在某些版本的 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 變數替換為以下內容:

  1. 從無法啟動的機器上找到上述系統資料庫值中的記憶體位置 34 到 42。
  2. 將每對數字轉換為十進制(即 A1=161)
  3. 用這些值建構一個數組,例如。$值 = (161,…)

執行腳本然後返回您的產品密鑰。

引用自:https://serverfault.com/questions/38359