我如何列出所有系统还原点?

我如何列出所有系统还原点?

我知道当我在 Windows 7 系统还原应用程序中单击“显示更多还原点”时,它会显示更多还原点。但它们都在那里吗?只显示了几个,我相信我肯定还有更多。

我还检查了分配给还原点的磁盘空间。还剩下很多空间。

答案1

以管理员身份运行 PowerShell。 在提示符下:

Get-ComputerRestorePoint

这将列出所有系统还原点。

在此处输入图片描述

PowerShell 提供四个 Cmdlet 来管理系统还原和/或还原点:

  1. Disable-ComputerRestore

  2. Enable-ComputerRestore

  3. Get-ComputerRestorePoint

  4. Restore-Computer

如需任何帮助,您可以get-help在 Cmdlet 前面添加,即

get-help Get-ComputerRestorePoint

答案2

系统还原是使用卷影复制服务(卷快照服务,VSS)。因此,您可以vssadmin在提升的命令提示符中使用列出所有还原点:

vssadmin 列出阴影

请注意,Windows Backup 也使用 VSS,其卷影副本存储在系统驱动器和备份驱动器上,因此如果您的备份驱动器已连接,则存储在与这些备份相对应的备份驱动器上的卷影副本也会列出。添加/for=C:以指定您要列出卷影副本的卷,C:如果不是 C:,则将其替换为您选择的卷号。

虽然这不是处理还原点的最简单方法,但您可以使用上述命令输出中列出的创建日期和时间以及卷影副本 ID 来删除特定还原点,方法是使用 命令vssadmin Delete Shadows。您还可以使用 创建还原点,vssadmin Create Shadow并使用 更改可用于还原点的空间量vssadmin Resize ShadowStorage。有关更多信息,vssadmin请参阅这篇 TechNet 文章

答案3

虽然我迟到了,但这可能对某些人有用。如果您想知道上次还原点是多久以前,则需要在使用之前转换还原点创建日期属性。

 (Get-ComputerRestorePoint  | select  -first 1 @{label="Date"; Expression={$_.ConvertToDateTime($_.CreationTime)}}).Date

要了解这是多久以前的事,您需要进行时间跨度计算:

new-timespan -start ((Get-ComputerRestorePoint  | sort CreationTime -descending | select  -first 1 @{label="Date"; Expression={$_.ConvertToDateTime($_.CreationTime)}}).Date) -end (get-date)

希望这可以让某些人少受一点挫折。

相关内容