windows 卷影副本频率需通过 powershell 修改注册表 rpsessioninterval 值(如设为360分钟),重启 vss 服务并执行 checkpoint-computer 验证,配合任务计划可实现定期快照备份。
windows 默认不提供图形界面来调整卷影副本(即系统还原点)的自动创建频率,但 powershell 可以配合注册表与系统服务实现精准控制。关键不是“用 powershell 直接设置频率”,而是用它完成三件事:验证环境、刷新策略、触发测试还原点,并可封装为定期任务。
确认卷影复制服务状态
卷影副本功能依赖 VSS(Volume Shadow Copy)服务,若服务停止或禁用,任何频率设置都无效。
- 以管理员身份运行 PowerShell,执行:
Get-Service vss | Select-Object Name, Status, StartType - 若 Status 不是 Running,运行:
Start-Service vss - 若 StartType 是 Disabled,需先设为自动:
Set-Service vss -StartupType Automatic
修改还原点间隔(需改注册表,PowerShell 辅助写入)
系统通过注册表键 RPSessionInterval 控制最小间隔(单位:分钟),默认 1440(24 小时)。PowerShell 可安全写入该值,避免手动编辑出错。
- 检查当前值(如不存在则返回空):
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SystemRestore" -Name RPSessionInterval -ErrorAction SilentlyContinue - 设为每 6 小时(360 分钟)创建一次:
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SystemRestore" -Name RPSessionInterval -Value 360 -Type DWORD - 最低建议值为 180(3 小时),过小会增加磁盘 I/O 和空间占用
强制策略重载并验证生效
改完注册表后,VSS 服务不会自动读取新值,必须重启服务 + 手动触发一次还原点,才能确认是否生效。
- 重启服务:
Restart-Service vss - 重置卷影存储配额(防止旧策略残留):
vssadmin resize shadowstorage /for=C: /on=C: /maxsize=UNBOUNDED - 立即创建一个带描述的测试还原点:
Checkpoint-Computer -Description "PS-Test" -RestorePointType "MODIFY_SETTINGS" - 查看最近还原点列表,确认时间戳是否符合新间隔:
vssadmin list shadows
用 PowerShell + 任务计划实现周期性快照(非还原点)
若你实际需要的是**定期文件级快照备份**(比如每天存一份 C:\Data 的只读副本),而非系统还原点,可用 PowerShell 调用 diskshadow 或结合 robocopy + VSS 实现:
- 编写脚本调用 diskshadow 创建卷影副本并映射为临时驱动器,再用 robocopy 备份指定目录
- 用 Register-ScheduledJob 或 Windows 任务计划程序定时运行该脚本
- 注意:此类快照不计入“系统保护”还原点,也不出现在“系统属性→系统保护→还原”界面中,但可用于快速恢复业务数据











