如何變更大量授權產品金鑰
本文說明如何變更大量授權產品密鑰。
適用於: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
按一下 [開始],再按一下 [執行]。
在 [開啟] 方塊中,鍵入「登錄編輯程式」,然後按一下 [確定]。
在瀏覽窗格中,找出並按下列登錄機碼:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\WPAEvents
在主題窗格中,以滑鼠右鍵按兩下 [OOBETimer],然後按兩下 [ 修改]。
變更此值的至少一位數,以停用 Windows。
重新啟用 Windows 並新增產品金鑰
按一下 [開始],再按一下 [執行]。
在 [ 開 啟] 方塊中,輸入下列命令,然後按兩下列命令,然後按兩下 [ 確定]。
%systemroot%\system32\oobe\msoobe.exe /a
按兩下 [是,我想要連絡客戶服務代表以啟用 Windows],然後按 [ 下一步]。
按兩下 [變更產品金鑰]。
在 [ 新增金鑰 ] 方塊中輸入新產品密鑰,然後按兩下 [ 更新]。
如果您回到上一個視窗,請按兩下 [ 稍後提醒我],然後重新啟動計算機。
重複步驟 1 和 2,以確認 Windows 已啟用。 您會收到下列訊息:Windows 已啟用。 按兩下 [確定] 結束。
按一下確定。
安裝 Windows XP Service Pack 1a 或更新版本的 Windows XP。
如果您在安裝 Windows XP SP1 或更新版本的 Windows XP 之後無法重新啟動 Windows,請嘗試下列步驟:
- 重新啟動計算機並開始按 F8,直到您看到 [Windows 進階選項] 選單為止。
- 從功能表中選取 [ 上次已知良好 設定],然後按 ENTER。 此選項會使用先前的良好設定來啟動 Windows。
- 重複「重新啟用 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 文稿:
- 按一下 [開始],再按一下 [執行]。
- 在 [ 開 啟] 方塊中,輸入下列命令,其中 AB123-123AB-AB123-123AB-AB123 是您想要使用的新產品密鑰,然後按兩下 [ 確定]:
c:\changevlkeysp1.vbs ab123-123ab-ab123-123ab-ab123
資料收集
若您需要 Microsoft 支援,建議您按照使用 TSS 收集部署相關問題的資訊所述步驟來收集資訊。
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應