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 and Windows 11.
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.
Create Restore Points Daily 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 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:
C:\Windows\System32\Wscript.exe
- In the Add arguments (optional) field, type the path the script is moved, in this case:
C:\Windows\automatic_restore_point.vbs
- Click OK.
This adds the entry to the Actions tab.
- Click OK.
That’s it! You’ve configured Task Scheduler to create a System Restore point daily.
More Information & Script Customization
To check if the scheduled creation of the system restore point has worked, open the System Restore (rstrui.exe
) window.
Note that this script, by default, doesn’t create a restore point if a recent one exists and is 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
to
i24hrsLimit = 0
… and save the file.
The downside of setting it to 0
is that a restore point will be created at every startup/login. For example, if you reboot the computer 3 times a day, there will be 3 restore points.
(As you can see in the following screenshot, the script has been run twice and has successfully created two restore points on the same day bypassing the 24 hrs limit. The screenshot is from a Windows 11 device.)
Additional Notes
- 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.
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.
wmic.exe
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!
One small request: If you liked this post, please share this?
One "tiny" share from you would seriously help a lot with the growth of this blog. Some great suggestions:- Pin it!
- Share it to your favorite blog + Facebook, Reddit
- Tweet it!
I get a operation failed not enough storage space to complete even though System Restore only shows 2 GB of 13 available
Scott, Does creating a manual restore point work?
Both won’t work for me.
I tried both versions with my ASUS notebook running Windows 10 Pro 1607 14393.321.
Starting the task or rather the script would result in heavy read-write activity of the harddisk for round about 1 minute but checking the list of recently created restore points shows that no new restore point has been created.
Of course “i24hrsLimit” had been set to “0”.
@Frank: Something may have changed in the Anniversary Update. A parameter had to be changed. Pls download the modified script and try again.
Yes, works! Thanx a lot!
But there’s still a titchy thing:
The attempt to change the script file text:
sDesc
in order to modify the description for the restore point will not affect the final name in the list of restore points.
Seems as if the name is recklessly generated by the system.
It’s somewhat astonishing, isn’t it?
My (German) system always calls the new restore point “Automatischer Wiederherstellungspunkt” (means: automatic restorepoint) and it is not for love or money willing to accept changes.
@Frank: Something seems to have changed in the Windows 10 anniversary update. In previous builds and previous versions of Windows, custom restore point description works fine.
Hi, If I have 2 protection drives (C and D), will it be 1 restore point created for 2 drives?
Is it possible to schedule to create separate restore points for both drives?
Was well running under Win 10, but doesn’t work with win 11.
Is there an update ?
@French: The script has been updated to include support for Windows 11. Please check now.
I tried both of your methods in the past couple weeks, and neither worked for me.
I followed instructions exactly. I’m wondering if the zip extraction needs to be more specific than just c:\windows
@rich: It works fine here (Screenshot: https://imgur.com/a/VtJCNn6). I tested it in the latest build. Can you try setting
i24hrsLimit = 0
and see if that helps. If not, run the VBScript from Admin Command Prompt instead of a scheduled task to see if it correctly creates a restore point.