How to Create Automatic System Restore Points Daily in Windows 10/11

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

  1. Download automatic_restore_point.zip, unzip and extract the enclosed VBScript file to your C:\Windows directory.
    Create Daily System Restore Points Automatically
  2. Launch Task Scheduler (taskschd.msc) and click Create Task… in the Actions pane.
    Create Daily System Restore Points Automatically
  3. Type the name and description for the task.
  4. Click Change User or Group…, type SYSTEM, and press ENTER. This makes the task run under the Local System account.
  5. Enable Run with highest privileges checkbox.
  6. Select Windows 10 in the Configure for: drop-down list box.
    Create Daily System Restore Points Automatically
  7. Click the Triggers tab, and click New.
  8. 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.
    Create Daily System Restore Points Automatically
  9. Click OK, and click the Actions tab
    Create Daily System Restore Points Automatically
  10. Click New… In the New Action dialog, either type or Browse to select the following file:
    C:\Windows\System32\Wscript.exe
  11. In the Add arguments (optional) field, type the path the script is moved, in this case:
    C:\Windows\automatic_restore_point.vbs
  12. Click OK.
    Create Daily System Restore Points Automatically
    This adds the entry to the Actions tab.
    Create Daily System Restore Points Automatically
  13. Click OK.
    Create Daily System Restore Points Automatically

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.

Create Daily System Restore Points Automatically

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.

Create Daily System Restore Points Automatically

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.)

system restore list of restore points in windows 11 - 24 hrs frequency

Additional Notes

  1. 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.
  2. 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

create daily restore point script or wmic

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!
So thank you so much for your support. It won't take more than 10 seconds of your time. The share buttons are right below. :)

Ramesh Srinivasan is passionate about Microsoft technologies and he has been a consecutive ten-time recipient of the Microsoft Most Valuable Professional award in the Windows Shell/Desktop Experience category, from 2003 to 2012. He loves to troubleshoot and write about Windows. Ramesh founded Winhelponline.com in 2005.

11 thoughts on “How to Create Automatic System Restore Points Daily in Windows 10/11”

  1. 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”.

    Reply
  2. 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.

    Reply
  3. 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?

    Reply
  4. 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

    Reply
    • @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.

Leave a Reply