Microsoft Monday

System Restore Generation The Windows System Restore functionality has been around since the days of Windows ME, and it was pretty rough around the edges. At that time I remember having issues with it storing viruses into the restore points that it created, and it made cleaning up other people’s computers a pain because you had to wipe out all of their restore points.

System Restore has come a long way in Windows XP, and even further in Windows Vista. Ashley has shown us how System Restore can now be used for restoring individual files and folders in some versions of Vista, and that is an incredibly powerful feature to have. I’ve also shown how System Restore stacks up against the Last Known Good Configuration feature, and today we’re going to demonstrate how to get the most out of System Restore.

–How it Works–

Windows is good about automatically creating restore points which is wonderful since a large majority of computer users would never touch the feature otherwise. Users can create restore points on-demand, and later on we’ll show you how to make a shortcut for quickly creating restore points.

Aside from manually creating restore points Windows will create them when [via Wikipedia]:

  • A piece of software is installed
  • Windows Update installs new updates to Windows
  • The user installs a driver that is not digitally signed by Windows Hardware Quality Labs
  • 24 hours has passed

If you ever run into a problem on your machine the restore points might come to the rescue. In Windows XP you’ll still have to bootup into Windows before being able to roll back to a restore point, but Vista users can do it straight from the installation disc (or with the recovery disc). Rolling back to a previous restore point will replace newly modified system files with older copies. The Registry and drivers will also be taken back to the time of the restore point. Generally all of user’s documents will remain untouched.

–Shortcut for On-Demand Restore Points–

You can manually create restore points by opening the System Restore wizard at any time. The problem is that this can get rather tedious if you have to do it frequently, but we’ve got your back. As it turns out there is a quick Visual Basic script that you can whip up to create a restore point anytime you click on it. Here’s how:

  1. Open Notepad and enter in these two lines of code:

    rp = "Scripted Restore Point by " & WScript.ScriptName
    GetObject("winmgmts:\\.\root\default:Systemrestore").CreateRestorePoint rp, 0, 100

    System Restore Shortcut

  2. Save the file as restorepoint.vbs
  3. Vista Users Only: Vista users need to create a shortcut to the script that was just saved. This can be done by right-clicking on the desktop, and then choosing New -> Shortcut. In the box enter:

    wscript.exe "C:\path to script\restorepoint.vbs"

    Where “path to script” is the location of the script. Complete the shortcut wizard, and when you run the shortcut right-click on it and select the Run as Administrator option.

–Changing the Restore Point Interval–

By default the System Restore automatically creates restore points every 24 hours. This value can be modified, but you want to be careful not to set it too low. At an interval of 24 hours System Restore will likely be able to hold restore points for a week or more. If you have it create restore points, for example, every hour you would only be able to access a a day or so worth of restore points. Take this into consideration before continuing.

To change the Restore Point interval you’ll need to dive into the Registry to modify a value, or you can use this simple tool created by Vista4Beginners. Once you download the program you can immediately start using it. It’s very simple, and you just have to specify the interval at which you want the restore points to be created:

Change System Restore Frequency

If you’re a Registry buff and want to do the editing manually here’s the info you’ll need:

  1. Open the Registry editor and navigate to HKLM\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\SystemRestore
  2. Find the value RPGlobalInterval and set it to whatever interval you would like. By default the value is 86,400 (seconds), which is equal to 24 hours.
  3. There are also some other values you can freely modify if you wish:
    • RPLifeInterval – This is the maximum life of a restore point. The value is specified in seconds, and by default it is set to a very large amount (equals about 136 years). If you set it to 2,592,000 restore points older than 30 days will automatically be deleted. Remember, old restore points are deleted to make room for new ones, so adjusting this probably isn’t necessary.
    • RPSessionInterval – This value is specified in seconds, and it only slightly differs from the value in Step 2. A restore point will be created at the interval that you specify here, except this is in terms of computer usage. For example, setting this to 43,200 would force a restore point to be created every 12 hours that you use the computer.

Now you should have your System Restore setup the way you want it! Just make sure you give it some love and attention, because it will be your best friend when you’re in a bind. ;)