Тема: VBA: изменение ключа продукта Windows XP
Добрый день.
Есть задача поменять ключ продукта XP на лицензионный. для этого патаюсь переделать скрипт от майкрософта
ON ERROR RESUME NEXT
if Wscript.arguments.count<1 then
Wscript.echo "Нельзя запустить сценарий без аргумента VolumeProductKey argument"
Wscript.echo "Правильное использование: Cscript ChangeVLKey.vbs xxxx-xxxxx-xxxxx-xxxxx-xxxxx"
Wscript.quit
end if
Dim VOL_PROD_KEY
VOL_PROD_KEY = Wscript.arguments.Item(0)
VOL_PROD_KEY = Replace(VOL_PROD_KEY,"-","") 'удалить дефисы, если они есть
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
Проблемма в том что если я явно указываю, а не через аргумент VOL_PROD_KEY, то он выдает общую ошибку
на строку result = Obj.SetProductKey (VOL_PROD_KEY)
Dim VOL_PROD_KEY
VOL_PROD_KEY = "3KGJ7-JPVFH-2KDK2-BH6CC-RHM8T"
VOL_PROD_KEY = Replace(VOL_PROD_KEY,"-","") 'удалить дефисы, если они есть
WScript.Echo VOL_PROD_KEY
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
подскажите, в чем моя ошибка.