Backup and Restore See List of Available Restore Points in Windows 11

  • Thread starter Thread starter Brink
  • Start date Published: Start date Updated Updated:

System_Restore_banner.png

This tutorial will show you how to see a list of all available restore points in Windows 10 and Windows 11.

Turning on system protection for a drive allows System Restore to include the drive when restore points are created so you can undo undesired system changes by reverting to a previous point in time.

System Restore monitors system changes and saves the system state as a restore point. If a system problem develops as a result of a system change, the user can return the system to a previous state using the data from a restore point.

Restore points are created to let users select a previous system state. Each restore point contains the required information to restore the system to the selected state. Restore points are created before key changes are made to the system.

After installing the June 2025 KB5060842 Windows security update, Windows 11, version 24H2 will retain system restore points for up to 60 days. Restore points older than 60 days are not available. This 60-day limit will also apply to future versions of Windows 11, version 24H2.


Contents

  • Option One: See List of Available Restore Points in System Restore
  • Option Two: See List of Available Restore Points using Command




Option One

See List of Available Restore Points in System Restore


1 Open System Restore (rstrui.exe).

2 Perform one of the following available actions: (see screenshots below)
  • If you have never performed a System Restore yet, click/tap on Next.
  • If you have previously performed a System Restore, select (dot) Choose a different restore point, and click/tap on Next.
System_Restore-1.png
System_Restore-2.png

3 Check Show more restore points (if available) to see all available restore points. (see screenshot below step 4)

4 Click/tap on Cancel when finished reviewing your restore points. (see screenshot below)

You can select a restore point and click/tap on the Scan for affected programs button to see which installed programs will be affected by the selected restore point.


System_Restore-3.png





Option Two

See List of Available Restore Points using Command


1 Open Windows Terminal (Admin), and select either Windows PowerShell or Command Prompt.

2 Copy and paste the command below into Windows Terminal (Admin), and press Enter. (see screenshots below)

Windows PowerShell:
Get-ComputerRestorePoint | Format-Table -AutoSize

OR​

Command Prompt:
PowerShell Get-ComputerRestorePoint^|Format-Table -AutoSize

System_Restore-PowerShell.png

System_Restore-command.png



That's it,
Shawn Brink


 
Last edited:
I wrote a script that merges the output with that of vssadmin list shadows, then sorts the merged output by Creation Time.
So you will be able to figure out the correct <ShadowID> to use whenever you want to remove an individual restore point with
vssadmin delete shadows /shadow=<ShadowID> (see also my post here).
Powershell:
$rp = [System.Management.ManagementClass]::new("root/default", "SystemRestore", $null).GetInstances()
if ($rp.Count -ne 0) {
    $arr = ($rp | Format-Table -AutoSize | Out-String).Trim() -split "`n"
    $ht = @{}
    $enu = $rp.GetEnumerator()
    $i = 2
    while ($enu.MoveNext()) {
        $ht[$enu.Current.CreationTime] = $arr[0] + "`n" + $arr[1] + "`n" + $arr[$i] + "`n"
        $i++
    }
    $vss = vssadmin list shadows
    for ($i = 0; $i -lt $vss.Count; $i++) {
        $line = $vss[$i]
        if ($line.StartsWith('Contents of shadow copy set ID: ')) {
            if ($dmtf -ne $null) {$ht[$dmtf] = $s}
            $s = $line
        } else {
            $s = $s + "`n" + $line
            if ($line -match '^   Contained \d+ shadow copies at creation time: (.+)$') {
                $utc = [datetime]::Parse($matches[1], [System.Globalization.CultureInfo]::CurrentCulture).ToUniversalTime()
                $dmtf = '{0:yyyyMMddHHmmss}.{1:D6}-000' -f $utc, ($utc.Millisecond * 1000)
            }
        }
    }
    if ($dmtf -ne $null) {$ht[$dmtf] = $s}
    Write-Output ($ht.GetEnumerator() | Sort-Object -Property Key).Value
    if ($rp.Count -eq 1) {$s = ''} else {$s = 's'}
    Write-Output "Found $($rp.Count) system restore point$s."
} else {
    Write-Output 'No system restore points found.'
}
 

My Computers

System One System Two

  • OS
    11 Home
    Computer type
    Laptop
    Manufacturer/Model
    Asus TUF Gaming F16 (2024)
    CPU
    i7 13650HX
    Memory
    16GB DDR5
    Graphics Card(s)
    GeForce RTX 4060 Mobile
    Sound Card
    Eastern Electric MiniMax DAC Supreme; Emotiva UMC-200; Astell & Kern AK240
    Monitor(s) Displays
    Sony Bravia XR-55X90J
    Screen Resolution
    3840×2160
    Hard Drives
    512GB SSD internal
    37TB external
    PSU
    Li-ion
    Cooling
    2× Arc Flow Fans, 4× exhaust vents, 5× heatpipes
    Keyboard
    Logitech K800
    Mouse
    Logitech G402
    Internet Speed
    20Mbit/s up, 250Mbit/s down
    Browser
    FF
  • Operating System
    11 Home
    Computer type
    Laptop
    Manufacturer/Model
    Medion S15450
    CPU
    i5 1135G7
    Memory
    16GB DDR4
    Graphics card(s)
    Intel Iris Xe
    Sound Card
    Eastern Electric MiniMax DAC Supreme; Emotiva UMC-200; Astell & Kern AK240
    Monitor(s) Displays
    Sony Bravia XR-55X90J
    Screen Resolution
    3840×2160
    Hard Drives
    2TB SSD internal
    37TB external
    PSU
    Li-ion
    Keyboard
    Logitech K800
    Mouse
    Logitech G402
    Internet Speed
    20Mbit/s up, 250Mbit/s down
    Browser
    FF
On my computer, when using the powershell method, "CreationTime" value is blank for all restore points. :confused:
 

My Computer

System One

  • OS
    Windows 11
    Computer type
    PC/Desktop
    Manufacturer/Model
    Dell
Back
Top Bottom