This post tells you how to schedule the creation of daily System Restore point during startup or logon in all versions of Windows, including Windows 10.
The first method involves a VBScript that I wrote to create restore points, and the 2nd method uses the WMI command-line tool Wmic.exe. The script method has an advantage where you can force the creation of restore point even if a previous restore point was created within the last 24 hours.
The following screenshots and instructions below are from a Windows 10 computer.
How to Create Daily System Restore Points Using Task Scheduler
To create a daily restore point automatically, follow one of these methods:
Method 1: Using Task Scheduler and VBScript
- Download automatic_restore_point.zip, unzip and extract the enclosed VBScript file to your C:\Windows directory.
- Launch Task Scheduler (
taskschd.msc) and click Create Task… in the Actions pane.
- Type the name and description for the task.
- Click Change User or Group…, type SYSTEM and press ENTER. This makes the task to run under the Local System account.
- Enable Run with highest privileges checkbox.
- Select Windows 10 in the Configure for: drop-down list box.
- Click the Triggers tab, and click New.
- In the Begin the task, select either At startup, or At log on option. If selecting the latter, select Specific user: so that the task is triggered when logging on to the specific user account.
- Click OK, and click the Actions tab
- Click New… In the New Action dialog, either type or Browse to select the following file:
- In the Add arguments (optional) field, type the path the script is moved, in this case:
- Click OK.
This adds the entry to Actions tab.
- Click OK.
That’s it! You’ve configured Task Scheduler to create System Restore point daily.
More Information & Script Customization
To check if the scheduled creation of system restore point is working, open System Restore window.
Note that this script, by default, doesn’t create a restore point if a recent one exists and created in the last 24 hours. To force the script to create the restore point regardless of the last restore point creation date/time, open Notepad elevated (Run as Administrator) and change the following line in the script:
i24hrsLimit = 1
i24hrsLimit = 0
… and save the file.
The downside of setting it to
0 is that restore point will be created at every startup/login. For instance, if you reboot the computer 3 times a day, there will be 3 restore points.
Method 2: Using WMIC.exe at Startup or Login
Use the same procedure as above (Steps 1 through 9) for creating the task, but in the “New Action” window use the following Program name in the Program/script: text box.
In the Add arguments (optional), use the following parameters:
/Namespace:\\root\default Path SystemRestore Call CreateRestorePoint "Automatic Daily Restore Point", 100, 7
That’s it! Hope you found the script and article useful. Let me know what you think, in the Comments section below!
- The VBScript script used in this article is based on my earlier script at Create System Restore Points Using Script Or Command-Line, but slightly modified so as to make it run as a scheduled task.
- Windows has already a built-in System Restore task that is supposed to create regular system protection points. However, it may not be creating a restore point on a daily basis. Moreover, in Windows 8 and higher, automatic System Restore points are not created if one was already created in the last 24 hours.
Also, the frequency (24 hours) can be altered by setting the registry value
SystemRestorePointCreationFrequency, as specified in the MSDN article CreateRestorePoint method of the SystemRestore class.
About the author
Ramesh Srinivasan founded Winhelponline.com back in 2005. He is passionate about Microsoft technologies and he has been a Microsoft Most Valuable Professional (MVP) for 10 consecutive years from 2003 to 2012.