2

I'm attempting to deactivate a Windows XP SP3 install in order to test configuration scripts.

I've tried to modify the HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\Current Version\WPAEvents\OOBETimer registry key, however after changing the value, the system still shows as being activated when the command: %systemroot%\system32\oobe\msoobe.exe /a is run. Furthermore, when I reboot the machine, the OOBETimer key reverts to the previous value.

Any advice would be appreciated.

xelco52
  • 143
  • 8
  • Please provide some clarity on what you mean by "deactivate" an XP install, and what you're trying to do. My gut says you're looking for sysprep, but it's hard to say with more detailed information. – HopelessN00b Jun 29 '12 at 16:04
  • I'm looking to bring a windows xp sp3 machine to a state where running the msoobe command prompts you to "activate" the operating system. I am attempting to test scripts to check to see if the OS is activated. – xelco52 Jun 29 '12 at 16:07
  • That is weird. Have you tried sysprep? If not, why not? – HopelessN00b Jun 29 '12 at 16:21

1 Answers1

4

You should be able to trigger that by removing and re-adding the product key using ChangeVLKeySP1.vbs and restarting the system.

cscript changevlkeysp1.vbs <your-prod-uct-key>
shutdown /r /f /t 0

Listing ChangeVLKeySP1.vbs from KB328846:

' 
' 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

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
the-wabbit
  • 40,737
  • 13
  • 111
  • 174