PDA

View Full Version : Thay đổi Product Key cho Windows XP SP1



Cuni
03-10-2009, 08:43 AM
Volume License Key (VLK) là một thuật ngữ được các nhà cung cấp phần mềm máy tính sử dụng biểu thị key sản phẩm khi cài đặt phần mềm được cấp phép theo Volume Licensing cho phép sử dụng một key duy nhất cho nhiều bản cài đặt.

Có hai phương pháp người có thể áp dụng để thay đổi Product Key với các phương tiện Volume Licensing sau khi cài đặt. Phương pháp thứ nhất là sử dụng giao diện đồ họa (GUI) Windows Activation Wizard, và phương pháp thứ hai là sử dụng lệnh trong Windows Management Instrumentation (WMI).

Phương pháp sử dụng Windows Activation Wizard đơn giản hơn so với dùng dòng lệnh. Sử dụng phương pháp này trong trường hợp bạn chỉ có một vài máy tính cần thay đổi Product Key. Nhưng trong trường hợp cần thay đổi Product Key cho nhiều máy tính thì phương pháp lệnh là phương pháp hiệu quả nhất.

Sử dụng Windows Activation Wizard

Lưu ý: Trước khi thực hiện các thao tác dưới đây bạn cần tạo một điểm khôi phục trong System Restore đề phòng có sự cố xảy ra với hệ thống.

Bạn thực hiện các thao tác sau:


Click Start | Run.
Trong hộp Open, nhập Regedit rồi nhấn OK.
Sau đó cửa sổ Registry Editor sẽ hiện ra. Trong bảng bên trái, vào key sau:

HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\Cu rrent Version\WPAEvents

Trong bảng bên phải, phải chuột lên OOBETimer chọn Modify.
Thay đổi ít nhất một số của giá trị này để hủy kích hoạt Windows.
Click vào menu Start | Run.
Trong hộp Open, nhập lệnh sau rồi nhấn OK:

%systemroot%\system32\oobe\msoobe.exe /a

Click vào mục Yes, I want to telephone a customer service representative to activate Windows sau đó click tiếp Next.
Click vào Change Product Key.
Nhập Product Key mới trong các hộp New key rồi click Update. Nếu quay lại cửa sổ trước đó, click vào Remind me later sau đó khởi động lại hệ thống.
Thực hiện lại bước 6 và 7 để kích hoạt lại Windows. Khi kích hoạt thành công bạn sẽ nhận được thông báo Windows is already activated. Click OK thoát khỏi wizard.
Click OK.
Cài đặt SP1 cho Windows XP.

Sử dụng tập lệnh

Bạn có thể tạo một tập lệnh WMI để thay đổi VLK, sau đó triển khai tập lệnh này trong một tập lệnh khởi động. Tập lệnh mẫu ChangeVLKey2600.vbs và ChangeVLKeySP1.vbs được mô tả trong mục này sẽ sử dụng một VLK mới mà bạn muốn nhập. Microsoft đề xuất sử dụng tập lệnh ChangeVLKey2600.vbs cho những máy tính sử dụng Windows XP không sử dụng SP1 và sử dụng tập lệnh ChangeVLKeySP1.vbs trên những máy tính sử dụng bản SP1 của Windows XP. Hai tập lệnh này thực hiện các chức năng sau:


Xóa kí tự gạch ngang (-) từ chuỗi Product Key gồm 5 phần.

Tạo một lớp win32_WindowsProductActivation. Chúng sẽ gọi hàm SetProductKey với VLK mới.

Bạn có thể tạo một file batch hay một file CMD sử dụng một trong những tập lệnh mẫu cúng với Product Key mới như một đối số sau đó triển khai nó như một phần của một tập lệnh khởi động hay chạy nó từ dòng lệnh để thay đổi Product Key trên một máy tính nào đó.

Tập ChangeVLKeySP1.vbs gồm những đoạn mã sau:

\
\WMI Script - ChangeVLKey.vbs
\
\ This script changes the product key on the computer
\
\************************************************* **************************
[netshelter]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
Tập lệnh ChangeVLKey2600.vbs có mã như sau:

\
\ 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
Ví dụ, để sử dụng tập lệnh ChangeVLKeySP1 từ dòng lệnh bạn hãy vào menu Start rồi nhập lệnh sau vào hộp Run rồi nhấn OK:
c:\changevlkeysp1.vbs ab123-123ab-ab123-123ab-ab123
Trong đó AB123-123AB-AB123-123AB-AB123 là Product Key mới muốn sử dụng.

Theo Xian (Theo PetriKB) - QTM