本文适用于 Microsoft Windows XP Professional Microsoft Windows XP Professional SP 本文是用于描述如何更改Windows XP中的序列号你有个方法来修改在已经安装完毕的Windows XP上更改序列号一个是使用GUI界面里面的激活向导一个是使用WMI(Windows Management Instrumentation)来实现的 使用激活向导修改 微软强烈建议你在修改之前作一个系统还原点以免遭受不测 点击[开始]再点击[运行] 输入regedit以后回车打开注册表编辑器 定位到HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\Current Version\WPAEvents在右边右键单击OOBETimer然后选择修改 至少修改一个字节确定保存 点击[开始]再点击[运行] 输入%systemroot%\system\oobe\msoobeexe /a 选择通过电话激活以后点击下一步 点击修改序列号 输入新的序列号以后选择更新 如果退回到前一个画面那么选择稍后激活并重新启动 反复步一直到修改成功为止 重新激活 点击确定 安装SP 如果你安装SP以后不能重新启动那么启动的时候按F选择使用[最后一次正确的配置]然后重复以上流程 使用脚本 以下有个脚本一个是用于没有安装SP的WinXP一个是用于已经安装了SP的WinXP 下面是用于已经安装了SP的WinXP的脚本(ChangeVLKeySpvbs)使用方法同没有安装SP的WinXP的脚本一起放在本文的最后一段里面(例子)
WMI Script ChangeVLKeySpvbs
Windows XP With SP
This script changes the product key on the computer
*************************************************************************** ON ERROR RESUME NEXT if Wunt<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 下面的脚本是用于没有安装SP1的WinXP(ChangeVLKey2600.vbs)。 ' ' WMI Script - ChangeVLKey2600.vbs ' ' This script changes the product key on the computer ' '*************************************************************************** ON ERROR RESUME NEXT if Wunt<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 例子:脚本使用方法 以下的例子描述了在命令行里面如何使用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.然后点击[确定]即可。 |