Before making any major changes to the system , we usually create a copy of the current working state of the Operating system image called system restore point so that in-case something fails we can revert back to the previous working state. If we are going to make these kind of changes regularly , we must create a restore point very often. Doing this manually every single time may be time-consuming and tiresome. To avoid this, we can simply schedule a task to Create System Restore Points on a regular basis. Like , you can schedule a task every week / Month / daily to create a restore points in your system. In this article , let us see how to do that in different ways.
Pre-requisites :
Before scheduling creation of the system restore point automatically , please ensure to :
1. Turn on System Protection
Step 1 : Open run window using the shortcut key Windows+r
Step 2: Type sysdm.cpl and hit Enter
Step 3: In the System Properties window, from the System Protection tab click on Configure
Step 4: In the appearing window,
- Tick the Turn on System protection
- Press Apply
- Click on OK
2. Disable System Restore Point frequency in Registry Editor
You can create a single restore point in 24 hrs. If you try to create one more within that span, system throws a warning stating “A new restore point cannot be created”. In order to overcome this we have to disable System restore point frequency setting in the registry editor. To do so , Follow the below steps :
Step 1: Open the run window. Hold the keys Windows+r simultaneously
Step 2: Write regedit and press OK
NOTE: Registry editing can have adverse effect on the system even with a slightest mistake. It is advised to take the backup of the system before proceeding. To take a backup, In the Registry Editor–> Go to File –> Export –> Save your Backup file.
Step 3: In the Editor window , copy-paste or navigate to the following location,
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SystemRestore
Check if the DWORD key named SystemRestorePointCreationFrequency exists. If not create one.
- Right Click anywhere on the right hand side
- Click on New
- Choose DWORD (32-bit) Value
Step 4: Name the DWORD as SystemRestorePointCreationFrequency. It should have the value 0.
In case the value is not 0 , edit the key.
1. Right-click on the key SystemRestorePointCreationFrequency
2. Click on Modify
3.In the Edit window that opens, Set the value 0 and Press OK
Method 1 : From Task Scheduler
Step 1: Open the run window by holding Windows+r keys
Step 2: Write taskschd.msc and press Enter
Step 3: In the Task Scheduler window, Under Actions in the right-hand side, click on Create Task
Step 4: In the Create Task Window that opens , Under General Tab, do the following:
- Give a Name to the Task
- Check the option Run whether user is logged on or not
- Check the option Run with highest privileges
- In the Configure for drop-down choose Windows 10
Step 5: In the Triggers tab, to do the following
- Click on the New to open New Trigger window.
- Choose On a schedule from Begin the task drop-down.
- Set Frequency at which you want to execute the task. Example Daily
- Specify the Start Date and Time as shown in the below image.
- Press OK
Step 6: Under the Actions Tab ,
- Click on New to open New Action window.
- Under Action drop down, Choose Start a program
- Type powershell.exe under Program/script section
- Copy paste the following command for Add arguments (optional)
-ExecutionPolicy Bypass -Command "Checkpoint-Computer -Description \"<Name_Of_Your_RestorePoint>\" -RestorePointType \"MODIFY_SETTINGS\""
For Example, if the name of the restore point you want to create is Restore_Point tweak the command as follows:
-ExecutionPolicy Bypass -Command "Checkpoint-Computer -Description \"Restore_Point\" -RestorePointType \"MODIFY_SETTINGS\""
Step 7 : Under the Condition tab,
- Untick the option Stop if the computer switches to battery power
- Untick the option Start the task only if the computer is on AC power
- Press OK
Step 8: A window pops out asking for the system password. Enter your password and press Enter
With these changes a restore point will be created in the system that would automatically run on a daily schedule.
Method 2: From Command Prompt
Step 1: Press the keys Windows+r to open the Run window.
Step 2: Type cmd and press Ctrl+Shift+Enter together. This opens Elevated Command Prompt(Command Prompt with Admin rights)
Step 3: To Schedule the task to run automatically , enter the following command
schtasks /create /sc <Frequency> /tn <Name_Of_Task> /tr "wmic.exe /Namespace:\\root\default Path SystemRestore Call CreateRestorePoint "<Name_of_Restore_Point>", 100, 7" /st <Scheduled Time> /sd <StartDate>
OR
schtasks /create /sc <Frequency> /tn <Name_Of_Task> /tr "powershell.exe -ExecutionPolicy Bypass -NoExit -Command "Checkpoint-Computer -Description "<Name_of_Restore_Point>" -RestorePointType 'MODIFY_SETTINGS'" /st <Scheduled Time> /sd <StartDate>
NOTE: In the above command ,
- Frequency tell us How frequently the the task has to run. You could give values like DAILY,WEEKLY, MONTHLY etc.
- Scheduled Time should be in HH:MM::SS format
- Start Date should be in MM/DD/YYYY format
For more details on the above command refer to this link
To have a clarity, lets look at several examples:
1. To Schedule a task named Test Task so that it runs daily at 10:00 AM starting from 10th Feb 2021 to Create a System restore point Test Restore Point, we tweak the command as :
schtasks /create /sc DAILY /tn "Test Task" /tr "wmic.exe /Namespace:\\root\default Path SystemRestore Call CreateRestorePoint "Test Restore Point", 100, 7" /st 10:00 /sd 02/10/2021
OR
schtasks /create /sc DAILY /tn "Test Task" /tr "powershell.exe -ExecutionPolicy Bypass -NoExit -Command "Checkpoint-Computer -Description "Restore Point 1" -RestorePointType 'MODIFY_SETTINGS'" /st 10:00 /sd 02/10/2021
2. To Schedule a task named Test Task so that it runs Weekly at 11:00 AM starting from 12th Feb 2021 to Create a System restore point Restore Point 1, we tweak the command as :
schtasks /create /sc WEEKLY /tn "Test Task" /tr "wmic.exe /Namespace:\\root\default Path SystemRestore Call CreateRestorePoint "Restore Point 1", 100, 7" /st 11:00 /sd 02/12/2021
OR
schtasks /create /sc WEEKLY /tn "Test Task" /tr "powershell.exe -ExecutionPolicy Bypass -NoExit -Command "Checkpoint-Computer -Description "Restore Point 1" -RestorePointType 'MODIFY_SETTINGS'" /st 11:00 /sd 02/12/2021
3. To Schedule a task named Create_Restore_Task so that it runs DAILY at 11:00 AM starting from 12th Feb 2021 to Create a System restore point Restore_Point, we tweak the command as :
schtasks /create /sc DAILY /tn "Create_Restore_Task" /tr "wmic.exe /Namespace:\\root\default Path SystemRestore Call CreateRestorePoint "Restore_Point", 100, 7" /st 11:00 /sd 02/12/2021
OR
schtasks /create /sc DAILY /tn "Create_Restore_Task" /tr "powershell.exe -ExecutionPolicy Bypass -NoExit -Command "Checkpoint-Computer -Description "RestorePointName" -RestorePointType 'MODIFY_SETTINGS'" /st 11:00 /sd 02/12/2021
Click on the link Creating a restore point from command line for more details on creating restore points.
Thank you for Reading. We hope this article has been informative. Kindly comment and let us know if you find this article helpful.
This is a very well written article, Thank you for your work. This should have been a GUI feature in Windows 10, similarly to scheduled backups.
THIS IS THE BEST SET OF INSTRUCTIONS ON COMPUTER USAGE THAT I HAVE SEEN :
I am on the computer everyday and am constantly searching for various tech issues .
This explanation is clear, concise, and with multiple solutions
THANKS