Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

變更 Windows XP 產品金鑰(序號)完整教學:GUI 與 WMI 兩大法

編輯:XP 系統基礎知識

適用版本

  • Microsoft Windows XP Professional
  • Microsoft Windows XP Professional SP1

前言

因授權遷移、批量授權轉換等原因,有時需要在已安裝的 XP 系統上更換產品金鑰。微軟提供兩種官方支援方式:啟動精靈(GUI)與 WMI 腳本。操作前強烈建議建立系統還原點。

方法一:啟動精靈介面法(適用 SP1 前後)

  1. 執行 regedit,定位 HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\WPAEvents
  2. 右鍵 OOBETimer 選擇「修改」,至少變更一個位元組,確定儲存
  3. 執行 %systemroot%\system32\oobe\msoobe.exe /a 啟動啟動精靈
  4. 選擇「透過電話啟動」→「下一步」→「變更產品金鑰」
  5. 輸入新金鑰 →「更新」
  6. 若返回上一畫面,選「稍後啟動」並重開機
  7. 重複步驟 3-5 直到成功
  8. 完成啟動流程
  9. 若安裝 SP1 後無法開機,進入「最後一次正確配置」重試

方法二:WMI 腳本法(適合批次部署)

提供兩支 VBScript,分別針對已安裝 SP1與未安裝 SP1的環境:

已安裝 SP1 版本 (ChangeVLKeySp1.vbs)

' WMI Script - ChangeVLKeySp1.vbs
' Windows XP With SP1
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,"-","")
for each Obj in GetObject("winmgmts:").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

未安裝 SP1 版本 (ChangeVLKey2600.vbs)

' WMI Script - ChangeVLKey2600.vbs
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, WshShell
VOL_PROD_KEY = Wscript.arguments.Item(0)
VOL_PROD_KEY = Replace(VOL_PROD_KEY,"-","")
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.RegDelete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WPAEvents\OOBETimer"
for each Obj in GetObject("winmgmts:").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

使用範例

  1. 將腳本存為 C:\ChangeVLKeySp1.vbs(或 2600 版)
  2. 執行 → 輸入:C:\ChangeVLKeySp1.vbs XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
  3. 按確定,腳本自動完成金鑰變更

重要提醒

請確保使用合法授權產品金鑰。盜版金鑰可能導致系統不穩、無法更新、法律風險。企業環境建議使用批量授權媒體與金鑰,並搭配腳本進行大量部署自動化。
Copyright © Windows教程網 All Rights Reserved