如何變更大量授權產品金鑰

本文說明如何變更大量授權產品密鑰。

適用於:Windows Server 2012 R2、Windows 10 - 所有版本
原始 KB 編號: 328874

簡介

警告

本文中的步驟僅適用於大量授權媒體。 如果您在 OEM 媒體或零售媒體上嘗試這些步驟,則不會變更產品密鑰。

當您安裝 Windows XP 或 Windows Server 2003 時,媒體必須符合產品密鑰。 也就是說,通道 (MSDN、零售、OEM、大量授權等) 、SKU (Windows XP Professional、Windows XP Home Edition 等) ,以及英文、法文等 (語言,) 必須在產品密鑰與媒體之間相符。 您必須成功輸入產品金鑰。 如果安裝媒體不符合產品金鑰,您會收到下列錯誤訊息:

產品金鑰無效。

如果您使用「外泄」產品密鑰 (公用) 已知可在多部計算機上部署 Windows XP 的產品金鑰 (大量授權安裝) ,您可能無法安裝 Windows XP Service Pack 1 (SP1) 和更新版本的 Windows XP,或自動從 Windows Update 網站取得更新。 例如,當您安裝 Windows XP SP1 和更新版本的 Windows XP 時,可能會收到下列錯誤訊息:

用來安裝 Windows 的產品金鑰無效。 請立即連絡您的系統管理員或零售商,以取得有效的產品密鑰。 如果您認為您已購買購買的 Microsoft 軟體,也可以透過電子郵件 piracy@microsoft.com 連絡 Microsoft Corporation 的反毒小組。 請確定您傳送給 Microsoft 反毒小組的任何個人資訊都會保持嚴格的信賴度。

本文適用於進階計算機使用者。 如果您先列印本文,您可能會發現更容易遵循這些步驟。

其他相關資訊

必要條件

您必須具備有效的產品密鑰,才能使用本文中的資訊。 若要取得有效的產品密鑰,請按下列連結以連絡 Microsoft 大量授權服務中心:
https://www.microsoft.com/licensing/servicecenter/home.aspx

變更大量授權產品金鑰的步驟

本文說明如何在大量授權安裝之後變更 Windows XP 產品密鑰的兩種方法,以解決此問題。 其中一個方法使用 Windows 啟用精靈圖形使用者介面 (GUI) ,另一個方法則使用 Windows Management Instrumentation (WMI) 腳本。 啟用精靈方法比較容易。 不過,如果您必須變更多部計算機的產品密鑰,則腳本方法更適合。

方法 1:使用啟用精靈

重要事項

這個章節、方法或工作包含修改登錄的步驟。 然而,不當修改登錄可能會發生嚴重的問題。 因此,請務必謹慎地依照這些步驟執行。 為了有多一層保護,請先備份登錄再進行修改。 如此一來,您就可以在發生問題時還原登錄。 如需有關如何備份和還原登錄的詳細資訊,請按一下下列文章編號,檢視「Microsoft 知識庫」中的文章:
322756 如何在 Windows 中備份及還原登錄
如果您只有少數大量授權產品密鑰要變更,您可以使用啟用精靈。

注意事項

建議您先執行系統還原來建立新的還原點,再遵循這些步驟。

停用 Windows
  1. 按一下 [開始],再按一下 [執行]

  2. [開啟] 方塊中,鍵入「登錄編輯程式」,然後按一下 [確定]

  3. 在瀏覽窗格中,找出並按下列登錄機碼: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\WPAEvents

  4. 在主題窗格中,以滑鼠右鍵按兩下 [OOBETimer],然後按兩下 [ 修改]

  5. 變更此值的至少一位數,以停用 Windows。

重新啟用 Windows 並新增產品金鑰
  1. 按一下 [開始],再按一下 [執行]

  2. 在 [ 啟] 方塊中,輸入下列命令,然後按兩下列命令,然後按兩下 [ 確定]
    %systemroot%\system32\oobe\msoobe.exe /a

  3. 按兩下 [是,我想要連絡客戶服務代表以啟用 Windows],然後按 [ 下一步]

  4. 按兩下 [變更產品金鑰]

  5. 在 [ 新增金鑰 ] 方塊中輸入新產品密鑰,然後按兩下 [ 更新]

    如果您回到上一個視窗,請按兩下 [ 稍後提醒我],然後重新啟動計算機。

  6. 重複步驟 1 和 2,以確認 Windows 已啟用。 您會收到下列訊息:Windows 已啟用。 按兩下 [確定] 結束。

  7. 按一下確定

  8. 安裝 Windows XP Service Pack 1a 或更新版本的 Windows XP。

如果您在安裝 Windows XP SP1 或更新版本的 Windows XP 之後無法重新啟動 Windows,請嘗試下列步驟:

  1. 重新啟動計算機並開始按 F8,直到您看到 [Windows 進階選項] 選單為止。
  2. 從功能表中選取 [ 上次已知良好 設定],然後按 ENTER。 此選項會使用先前的良好設定來啟動 Windows。
  3. 重複「重新啟用 Windows 並新增產品金鑰」底下的步驟 1 到 8。

如果您可以安裝 SP1 或更新版本的 Windows XP,而且可以重新啟動 Windows,您已解決問題。 如果問題尚未解決,請嘗試方法 2 或參閱一節,以取得更多疑難解答資源。

方法 2:使用腳本

如果您必須變更多部計算機的產品密鑰,建議您使用此方法。 您可以建立 WMI 腳本來變更大量授權產品金鑰,然後在啟動腳本中部署此腳本。

本節所述的範例 ChangeVLKey2600.vbs 腳本和範例 ChangeVLKeySP1 腳本,會使用您想要輸入為單一自變數的新大量授權密鑰。 它是五部分的英數位元形式。

建議您在未執行 Windows XP SP1 和更新版本 Windows XP 的 Windows XP 型電腦上使用 ChangeVLKey2600.vbs 腳本,並在執行 Windows XP SP1 和更新版本 Windows XP 的 Windows XP 型電腦上使用 ChangeVLKeySP1.vbs 腳本。 這些文稿會執行下列功能:

  • 它們會從五部分的英數位元產品密鑰中移除連字元 ( ) 。
  • 他們會建立win32_WindowsProductActivation類別的實例。
  • 他們會使用新的大量授權產品密鑰來呼叫 SetProductKey 方法。 您可以建立批處理檔或使用下列其中一個範例腳本的 Cmd 檔案,以及新的產品密鑰作為自變數。

您可以將它部署為啟動文本的一部分,或從命令行執行它,以變更單一計算機上的產品密鑰。

範例

如需如何編寫產品密鑰腳本的詳細資訊,請造訪下列 Microsoft 網站:
https://technet.microsoft.com/library/bb457096.aspx

ChangeVLKeySP1.vbs
'  
' WMI Script - ChangeVLKey.vbs  
'  
' This script changes the product key on the computer  
'  
'***************************************************************************  
ON ERROR RESUME NEXT  

if Wscript.arguments.count<1 then  
   Wscript.echo "Script can't run without VolumeProductKey argument"  
   Wscript.echo "Correct usage: Cscript ChangeVLKey.vbs ABCDE-FGHIJ-KLMNO-PRSTU-WYQZX"  
   Wscript.quit  
end if  

Dim VOL_PROD_KEY  
VOL_PROD_KEY = Wscript.arguments.Item(0)  
VOL_PROD_KEY = Replace(VOL_PROD_KEY,"-","")'remove hyphens if any  

for each Obj in GetObject("winmgmts:{impersonationLevel=impersonate}").InstancesOf ("win32_WindowsProductActivation")  
   result = Obj.SetProductKey (VOL_PROD_KEY)  
   if err <> 0 then  
      WScript.Echo Err.Description, "0x" & Hex(Err.Number)  
      Err.Clear  
   end if  
Next
ChangeVLKey2600.vbs
'  
' WMI Script - ChangeVLKey.vbs  
'  
' This script changes the product key on the computer  
'  
'***************************************************************************  
ON ERROR RESUME NEXT  
if Wscript.arguments.count<1 then  
   Wscript.echo "Script can't run without VolumeProductKey argument"  
   Wscript.echo "Correct usage: Cscript ChangeVLKey.vbs ABCDE-FGHIJ-KLMNO-PRSTU-WYQZX"  
   Wscript.quit  
end if  

Dim VOL_PROD_KEY  
VOL_PROD_KEY = Wscript.arguments.Item(0)  
VOL_PROD_KEY = Replace(VOL_PROD_KEY,"-","")'remove hyphens if any  
Dim WshShell  
Set WshShell = WScript.CreateObject("WScript.Shell")  
WshShell.RegDelete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WPAEvents\OOBETimer" 'delete OOBETimer registry value  
for each Obj in GetObject("winmgmts:{impersonationLevel=impersonate}").InstancesOf ("win32_WindowsProductActivation")  

   result = Obj.SetProductKey (VOL_PROD_KEY)  
   if err <> 0 then  
      WScript.Echo Err.Description, "0x" & Hex(Err.Number)  
      Err.Clear  
   end if  

Next

下列範例示範如何從命令行使用 ChangeVLKeySP1.vbs 文稿:

  1. 按一下 [開始],再按一下 [執行]
  2. 在 [ 啟] 方塊中,輸入下列命令,其中 AB123-123AB-AB123-123AB-AB123 是您想要使用的新產品密鑰,然後按兩下 [ 確定]
    c:\changevlkeysp1.vbs ab123-123ab-ab123-123ab-ab123

資料收集

若您需要 Microsoft 支援,建議您按照使用 TSS 收集部署相關問題的資訊所述步驟來收集資訊。