本文適用於:Microsoft Windows XP Professional Microsoft Windows XP Professional SP1 本文是用於描述如何更改Windows XP中的序列號,你有2個方法來修改在已經安裝完畢的Windows XP上更改序列號,一個是使用GUI界面裡面的激活向導,一個是使用WMI(Windows Management Instrumentation)來實現的。
使用激活向導修改
微軟強烈建議你在修改之前作一個系統還原點,以免遭受不測。
1.點擊[開始],再點擊[運行];
2.輸入regedit以後回車打開注冊表編輯器;
3.定位到HKEY_LOCAL_MacHINE\Software\Microsoft\WindowsNT\Current Version\WPAEvents,在右邊右鍵單擊OOBETimer,然後選擇修改;
4.至少修改一個字節,確定保存。
5.點擊[開始],再點擊[運行];
6.輸入%systemroot%\system32\oobe\msoobe.exe /a
7.選擇通過電話激活以後點擊下一步;
8.點擊修改序列號;
9.輸入新的序列號以後選擇更新;
如果退回到前一個畫面,那麼選擇稍後激活,並重新啟動;
10.反復5---8步一直到修改成功為止;
11.重新激活。
12.點擊確定。
13.安裝SP1。
如果你安裝SP1以後不能重新啟動,那麼啟動的時候按F8,選擇使用[最後一次正確的配置],然後重復以上流程。
<FONT face=Verdana>
使用腳本
以下有2個腳本,一個是用於沒有安裝SP1的WinXP,一個是用於已經安裝了SP1的WinXP。
下面是用於已經安裝了SP1的WinXP的腳本(ChangeVLKeySp1.vbs),使用方法同沒有安裝SP1的WinXP的腳本,一起放在本文的最後一段裡面(例子)。
'
' WMI Script - ChangeVLKeySp1.vbs
'
' Windows XP With SP1
'
' 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:").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的WinXP(ChangeVLKey2600.vbs)。
'
' WMI Script - ChangeVLKey2600.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:").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
例子:腳本使用方法
以下的例子描述了在命令行裡面如何使用VBS腳本程序。
1.點擊[開始],然後點擊[運行];
2.輸入C:\ChangeVLKeySp1.vbs ABCDE-ABCDE-ABCDE-ABCDE-ABCDE-ABCDE
假設 ChangeVLKeySp1.vbs 放在C:根目錄下
ABCDE-ABCDE-ABCDE-ABCDE-ABCDE-ABCDE 是新的序列號
以上 ChangeVLKeySp1.vbs 適用於已經安裝了SP1的WinXP,沒有安裝SP1的 ChangeVLKey2600.vbs 的使用方法同樣是這樣的。
3.然後點擊[確定]即可。