如何更改运行 Windows XP SP1 和更高版本 Windows XP 的计算机上的...

来源:百度文库 编辑:神马文学网 时间:2024/03/29 23:33:02

如何更改运行 Windows XP SP1 和更高版本 Windows XP 的计算机上的批量授权产品密钥

察看本文应用于的产品 文章编号 : 328874 最后修改 : 2006年8月16日 修订 : 6.0 重要说明:本文包含有关如何修改注册表的信息。修改注册表之前,一定要先进行备份,并且一定要知道在出现问题时如何还原注册表。有关如何备份、还原和修改注册表的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:256986 (http://support.microsoft.com/kb/256986/) Microsoft Windows 注册表说明

警告:本文所介绍的步骤只在批量许可证介质上有效。如果在 OEM 介质或零售介质上尝试这些步骤,您将无法更改产品密钥。
本页
简介更多信息使用激活向导使用脚本ChangeVLKeySP1.vbsChangeVLKey2600.vbs示例

简介

如果您在跨多台计算机部署 Microsoft Windows XP(批量授权安装)时使用“已泄漏”的产品密钥(即已知一般公众可使用的产品密钥),则可能无法安装 Windows XP Service Pack 1 (SP1) 或更高版本的 Windows XP,或无法从 Windows Update 网站自动获得更新。例如,您在安装 Windows XP SP1 或更高版本的 Windows XP 时可能遇到以下 Microsoft 知识库文章中描述的症状:326904 (http://support.microsoft.com/kb/326904/) 收到“The product key used to install Windows is invalid”(用于安装 Windows 的产品密钥无效)错误消息 本文介绍了如何在批量许可安装后更改 Windows XP 产品密钥。您可以使用 Windows 激活向导图形用户界面 (GUI) 或 Windows Management Instrumentation (WMI) 脚本。激活向导的方法更为简便,但是如果您需要为多台计算机更改产品密钥,则采用脚本方法效果更好。

回到顶端

更多信息

使用激活向导

警告:如果使用注册表编辑器或其他方法错误地修改了注册表,则可能导致严重问题。这些问题可能需要重新安装操作系统才能解决。Microsoft 不能保证您可以解决这些问题。修改注册表需要您自担风险。

如果只具有几个要更改的批量许可产品密钥,则可以使用激活向导。

注意:Microsoft 建议您在执行以下步骤前运行“系统还原”来创建新的还原点。有关如何通过使用“系统还原”创建还原点的信息,请参见“帮助和支持”中的“创建还原点”帮助主题。 1. 单击“开始”,然后单击“运行”。 2. 在“打开”框中,键入 regedit,然后单击“确定”。 3. 在左侧窗格中,找到以下注册表项,然后单击它: HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\Current Version\WPAEvents 4. 在右窗格中,右键单击“OOBETimer”,然后单击“修改”。 5. 更改此值的至少一个数字,以停用 Windows。 6. 单击“开始”,然后单击“运行”。 7. 在“打开”框中,键入以下命令,然后单击“确定”。 %systemroot%\system32\oobe\msoobe.exe /a 8. 单击“是,我要通过致电客户服务代表来激活 Windows”,然后单击“下一步”。 9. 单击“更改产品密钥”。 10. 在“新密钥”框中键入新的产品密钥,然后单击“更新”。

如果返回到了前一个窗口,请单击“以后提醒我”,然后重新启动计算机。 11. 重复执行步骤 6 和步骤 7 以验证 Windows 是否已被激活。您会收到以下消息: Windows 已激活。单击“确定”以退出。 12. 单击“确定”。 13. 安装 Windows XP SP1 或更高版本的 Windows XP。

如果您在安装 Windows XP SP1 或更高版本的 Windows XP 后无法重新启动 Windows,则在重新启动计算机时按 F8,选择“最后一次的正确配置”,然后重复此过程。

回到顶端

使用脚本

您可以创建更改批量许可产品密钥的 WMI 脚本,然后在启动脚本中部署此脚本。本节介绍的示例 ChangeVLKey2600.vbs 脚本和示例 ChangeVLKeySP1 脚本将您需要输入的新批量许可密钥以分为五个部分的字母数字形式作为一个单一参数使用。Microsoft 建议在未运行 Windows XP SP1 或更高版本 Windows XP 的基于 Windows XP 的计算机上使用 ChangeVLKey2600.vbs 脚本;在运行 Windows XP SP1 或更高版本 Windows XP 的基于 Windows XP 的计算机上使用 ChangeVLKeySP1.vbs 脚本。这两个脚本执行以下功能: • 它们会将分为五个部分的字母数字产品密钥中的连字符 (-) 删除。 • 它们创建 win32_WindowsProductActivation 类的一个实例。 • 它们使用新的批量许可产品密钥调用 SetProductKey 方法。 您可以创建使用以下两个示例脚本之一的批处理文件或 cmd 文件(新产品密钥作为参数一起创建),并且将其部署为启动脚本的一部分或从命令行运行它以更改单个计算机的产品密钥。

有关如何编写生成产品密钥的脚本的更多信息,请访问下面的 Microsoft 网站:http://www.microsoft.com/technet/prodtechnol/winxppro/deploy/wpadepl.mspx (http://www.microsoft.com/technet/prodtechnol/winxppro/deploy/wpadepl.mspx)

ChangeVLKeySP1.vbs

'' WMI Script - ChangeVLKey.vbs'' This script changes the product key on the computer''***************************************************************************ON ERROR RESUME NEXTif Wscript.arguments.count<1 thenWscript.echo "Script can't run without VolumeProductKey argument"Wscript.echo "Correct usage: Cscript ChangeVLKey.vbs ABCDE-FGHIJ-KLMNO-PRSTU-WYQZX"Wscript.quitend ifDim VOL_PROD_KEYVOL_PROD_KEY = Wscript.arguments.Item(0)VOL_PROD_KEY = Replace(VOL_PROD_KEY,"-","") 'remove hyphens if anyfor each Obj in GetObject("winmgmts:{impersonationLevel=impersonate}").InstancesOf ("win32_WindowsProductActivation")result = Obj.SetProductKey (VOL_PROD_KEY)if err <> 0 thenWScript.Echo Err.Description, "0x" & Hex(Err.Number)Err.Clearend ifNext

ChangeVLKey2600.vbs

'' WMI Script - ChangeVLKey.vbs'' This script changes the product key on the computer''***************************************************************************ON ERROR RESUME NEXTif Wscript.arguments.count<1 thenWscript.echo "Script can't run without VolumeProductKey argument"Wscript.echo "Correct usage: Cscript ChangeVLKey.vbs ABCDE-FGHIJ-KLMNO-PRSTU-WYQZX"Wscript.quitend ifDim VOL_PROD_KEYVOL_PROD_KEY = Wscript.arguments.Item(0)VOL_PROD_KEY = Replace(VOL_PROD_KEY,"-","") 'remove hyphens if anyDim WshShellSet WshShell = WScript.CreateObject("WScript.Shell")WshShell.RegDelete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WPAEvents\OOBETimer" 'delete OOBETimer registry valuefor each Obj in GetObject("winmgmts:{impersonationLevel=impersonate}").InstancesOf ("win32_WindowsProductActivation")result = Obj.SetProductKey (VOL_PROD_KEY)if err <> 0 thenWScript.Echo Err.Description, "0x" & Hex(Err.Number)Err.Clearend ifNext

示例

以下示例介绍了如何从命令行使用 ChangeVLKeySP1.vbs 脚本: 1. 单击“开始”,然后单击“运行”。 2. 在“打开”框中,键入下面的命令,其中 AB123-123AB-AB123-123AB-AB123 是您要使用的新产品密钥,然后单击“确定”: c:\changevlkeysp1.vbs ab123-123ab-ab123-123ab-ab123 有关更多信息,请访问下面的 Microsoft 网站:http://catalog.microsoft.com/genuine/purchase/UpdateInstructions.aspx (http://catalog.microsoft.com/genuine/purchase/UpdateInstructions.aspx)

回到顶端