了解如何通过在库、站点或租户级别分析、管理和修剪文件版本来减少版本存储消耗。
警告
使用剪裁作业删除的版本将被永久删除。 此删除工作流绕过常规回收站保留,无法恢复已删除版本,除非数据以前使用 Microsoft 365 备份或类似的备份解决方案进行备份。 为了防止不必要的数据丢失,强烈建议在剪裁活动之前 运行 What-If 分析 。
作为 Microsoft 365 中的全局管理员或 SharePoint 管理员,你可以将作业排队以剪裁现有版本,从而减少整个组织的版本存储占用空间。 修剪可以应用于不同的范围:
- 网站、库或 OneDrive 级别 - 面向特定网站、文档库或 OneDrive 用户帐户。
- 租户级别 — 在一次操作中将租户级别版本策略应用于所有站点。
版本可用性对于恢复方案(如撤销不需要的更改)至关重要。 在任何范围内进行修剪之前,请仔细评估您的恢复目标并审查预计的影响。
从网站、库或 OneDrive 剪裁现有版本
可以将作业排队以剪裁网站、库或 OneDrive 用户帐户上的现有版本,以减少网站的版本存储占用空间。 您还可以通过计划作业来剪裁现有版本,使现有版本存储与更新的版本历史记录限制保持一致。
| 阶段 | 建议的操作 |
|---|---|
| 准备 | 评估恢复目标和目标版本存储使用情况: 确定满足组织恢复目标所需的正确剪裁模式和剪裁范围。 评论影响: 在提交剪裁现有版本之前,可以通过在指定范围内运行所选剪裁模式的“假设”分析操作来查看清除操作的影响。 |
| 队列作业 | 准备好提交进行剪裁作业后,可以将版本剪裁作业排入队列,以异步删除与网站、库或 OneDrive 用户帐户中的剪裁模式下指定的条件相匹配的版本。 |
| 跟踪进度 | 您可以跟踪所有排队作业的进度,以查看剪裁版本中的进度。 |
注意
剪裁作业是后台作业,受诸如要评估的文件版本量、服务运行状况以及场中正在处理的其他作业等因素的影响。 它们还受非高峰时段处理逻辑的约束。 始终可以跟踪修剪作业的进度。
通过运行“假设”分析查看影响
在提交剪裁现有版本之前,您可以通过运行“假设”分析操作来查看清除操作的影响。 运行“假设”操作的步骤如下:
- 为站点或库生成版本存储使用情况报告:此报告支持多种用途,包括版本存储分析和获取有关应用不同剪裁设置影响的关键见解。
- 通过设置不同的剪裁模式来运行“假设”分析,以预览更改并分析将其中一种剪裁模式应用于版本存储报告 CSV 文件对存储节省的影响。
重要
根据站点或库的大小,作业可能需要几天时间才能完成。 检查作业进度,直到状态返回为“已完成”。
版本剪裁模式
版本剪裁工作流允许你选择并应用其中一种剪裁模式,以便在网站、文档库或 OneDrive 帐户上排队剪裁作业。
自动剪裁模式 (推荐)
自动剪裁模式应用自动算法来删除现有版本。 根据版本年龄,作业将永久删除版本或根据自动版本存储算法设置到期时间。
要了解有关自动剪裁模式的详细信息,请参阅 了解自动限制下的版本存储。
手动过期剪裁模式
手动到期剪裁模式评估版本的年龄并删除与到期条件匹配的版本。
示例: 在下面的示例中,剪裁作业已排队以剪裁超过 60 天的版本。 8 月 31 日,作业被选取,并开始永久删除自 8 月 31 日起超过 60 天的版本。
重要
手动过期剪裁模式的已知限制:
- 手动过期剪裁模式不会删除最近 30 天内创建的版本。 这意味着输入不能少于 30 天。
- 手动到期剪裁模式始终删除 2023 年 1 月 1 日之前创建的所有版本。 如果要剪裁版本,则不能保留 2023 年 1 月 1 日之前创建的任何旧版本。 这意味着用于参数的
DeleteBeforeDays值应导致 2023 年 1 月 1 日之后的日期。
手动计数限制修剪模式
手动计数限制修剪模式删除超过指定计数限制的最旧版本。
示例: 在以下示例中,剪裁作业排队以删除超过 50 个主要版本计数的版本。 8 月 31 日,作业开始永久删除截至 8 月 31 日超过 50 个主要版本计数限制的旧版本。
提示
您可以运行应用“手动计数”、“过期”或“自动剪裁”模式的影响分析,以了解每种模式下的版本删除影响。
排队剪裁作业并跟踪进度
版本剪裁工作流使用作业异步删除与剪裁模式中指定的条件相匹配的版本。
要将剪裁作业排入队列,需要确定版本删除的范围和剪裁模式,以设置现有版本删除的条件。 您可以根据网站中所有文档库或特定文档库的版本期限、计数限制或自动算法删除旧文件版本。
准备好提交剪裁后,可以将作业排队以异步删除与剪裁模式条件匹配的版本。 你将能够监视已提交的修剪作业的进度,以跟踪删除进度。
注意
要详细了解版本剪裁如何在受保留策略或电子数据展示保留约束的版本上工作,请参阅 常见问题解答。
使用 PowerShell 剪裁现有版本
按照以下步骤使用 PowerShell 剪裁现有版本。
-
注意
如果安装了以前版本的 SharePoint Online 命令行管理程序,请转到“添加或删除程序”并卸载 SharePoint Online 命令行管理程序。
在 Microsoft 365 中以全 局管理员或 SharePoint 管理员身份 连接到 Microsoft SharePoint。 若要了解具体操作步骤,请参阅 SharePoint 在线管理壳入门。
运行以下命令之一以剪裁现有版本:
操作 PowerShell 命令 将剪裁作业排队以过期版本 网站上的过期版本: New-SPOSiteFileVersionBatchDeleteJob -Identity $siteUrl -DeleteBeforeDays <days>库中的到期版本:New-SPOListFileVersionBatchDeleteJob -Site $siteUrl -list $libName -DeleteBeforeDays <days>将剪裁作业排队以删除超过指定计数限制的版本 从网站中删除超出计数限制的版本: New-SPOSiteFileVersionBatchDeleteJob -Identity $siteUrl -MajorVersionLimit <delete major versions exceeding limit> -MajorWithMinorVersionsLimit <number of major versions for which all minor versions will be kept>从库中删除超出计数限制的版本:New-SPOListFileVersionBatchDeleteJob -Site $siteUrl -list $libName -MajorVersionLimit <delete major versions exceeding limit> -MajorWithMinorVersionsLimit <number of major versions for which all minor versions will be kept>使用估计的自动剪裁算法对剪裁作业进行排队以删除版本 应用自动逻辑从网站剪裁现有版本: New-SPOSiteFileVersionBatchDeleteJob -Identity $siteUrl -Automatic应用自动逻辑从库中剪裁现有版本:New-SPOListFileVersionBatchDeleteJob -Site $siteUrl -List $libName -Automatic使用单个文档库的版本历史记录限制对站点级剪裁作业进行排队以删除版本 将所有文档库的版本历史记录限制同步到与网站相同的版本,并从网站中剪裁现有版本: New-SPOSiteManageVersionPolicyJob -Identity $siteUrl -SyncListPolicy -TrimUseListPolicy排队库级剪裁作业以使用其版本历史记录限制删除版本 使用其版本历史记录限制从库中剪裁现有版本: New-SPOListFileVersionBatchDeleteJob -Site $siteUrl -List $libName -TrimUseListPolicy停止对正在进行的剪裁作业的进一步处理 若要停止处理正在进行的站点级别剪裁作业,请执行以下操作: Remove-SPOSiteFileVersionBatchDeleteJob -Identity $siteUrl或Remove-SPOSiteManageVersionPolicyJob -Identity $siteUrl要停止处理正在进行的库级剪裁作业,请执行以下操作:Remove-SPOListFileVersionBatchDeleteJob -Site $siteUrl -List $libName获取文件版本剪裁作业的状态 若要获取站点级别剪裁作业的状态,请执行以下操作: Get-SPOSiteFileVersionBatchDeleteJobProgress -Identity $siteUrl或Get-SPOSiteManageVersionPolicyJobProgress -Identity $siteUrl若要获取库级剪裁作业的状态,请执行以下操作:Get-SPOListFileVersionBatchDeleteJobProgress -Site $siteUrl -List $libName
在租户级别剪裁现有版本
注意
租户级别版本剪裁目前提供个人预览版。 此功能可能会根据反馈进行更改,包括对特定时间段内可运行的作业数增加限制。
租户管理员可以使用租户级操作在租户中的所有网站上启动文件版本剪裁作业,更新文档库版本策略以匹配租户策略,并使用模拟分析估算剪裁的存储影响。
租户级文件版本剪裁 cmdlet 允许你:
- 更新所有文档库版本策略以匹配租户策略。
- 根据该策略剪裁现有版本。
- 跟踪进度并删除租户级作业。
为了帮助了解剪裁影响,其他 cmdlet 可让你在初始异步数据收集作业后运行快速、同步的模拟分析查询。
警告
使用剪裁作业删除的版本将被永久删除。 此删除工作流绕过常规回收站保留,无法恢复已删除版本,除非数据以前使用 Microsoft 365 备份或类似的备份解决方案进行备份。
先决条件和限制
- 需要 SharePoint 高级管理许可证 或 Copilot 许可证。
- 每个租户一次只允许一个作业。
- 以下网站类型被排除在处理之外:
- 只读网站
- 锁定的站点
- 已存档的网站
- 版本策略继承中断的网站
- 如果租户级别版本策略在作业进行期间发生更改,则该作业将更新的策略应用于剩余的未处理站点。 不会重新评估已处理的站点。
- 租户级别修剪使用在租户级别配置的版本策略 (自动、手动过期或手动计数限制) 。 要了解这些剪裁模式,请参阅上面的 版本剪裁模式 。
- 模拟分析返回 SharePoint 网站 和 OneDrive 帐户的影响数据。
- 如果租户是 多地理位置,则必须为每个地理位置单独运行模拟分析和版本剪裁。
推荐的工作流
1. 先决条件
在 Microsoft 365 中以全 局管理员或 SharePoint 管理员身份 连接到 Microsoft SharePoint。 若要了解具体操作步骤,请参阅 SharePoint 在线管理壳入门。
通过运行以下命令确认租户级别版本策略:
Get-SPOTenantVersionPolicy您还可以使用
Get-SPOTenant和检查EnableAutoExpirationVersionTrim、 、MajorVersionLimitExpireVersionsAfterDays和VersionPolicyFileTypeOverride属性。
2. (可选但强烈建议进行) What-If 分析
在提交进行修剪之前,可以在不删除任何版本的情况下估计租户版本策略的影响:
运行数据收集作业 以收集所有站点的版本数据:
New-SPOTenantApplyFileVersionPolicyJob -CollectVersionData监视数据收集作业, 直到它完成:
Get-SPOTenantApplyFileVersionPolicyJobProgress运行模拟查询 以估计应用策略的影响:
Get-SPOTenantApplyFileVersionPolicyJobImpact您可以使用不同的策略选项运行多个模拟查询,以
Get-SPOVersionPolicyWithChanges创建修改后的策略对象以进行比较。查看预计的影响并选择所需的版本策略。
3. 剪裁现有版本并更新文档库策略
确认租户版本策略并查看预计影响后:
使用所需选项运行剪裁作业:
# Trim existing versions AND set version policy on all libraries New-SPOTenantApplyFileVersionPolicyJob -TrimVersions -SetVersionPolicy # Or trim only (without updating library policies) New-SPOTenantApplyFileVersionPolicyJob -TrimVersions # Or set policy only (without trimming existing versions) New-SPOTenantApplyFileVersionPolicyJob -SetVersionPolicy # Or specify a custom version policy object $policy = Get-SPOVersionPolicyWithChanges -VersionPolicy (Get-SPOTenantVersionPolicy) -EnableAutoExpirationVersionTrim $true New-SPOTenantApplyFileVersionPolicyJob -VersionPolicy $policy -TrimVersions监视和验证剪裁作业:
Get-SPOTenantApplyFileVersionPolicyJobProgress如果需要,取消正在进行的作业 () :
Remove-SPOTenantApplyFileVersionPolicyJob注意
成功执行 cmdlet 后,将停止所有新的异步版本删除。 取消剪裁作业不会影响作业正在进行时被永久删除的版本。
租户级 PowerShell cmdlet 参考
| 操作 | PowerShell Cmdlet | Reference |
|---|---|---|
| 收集版本数据 (模拟) 的先决条件 | New-SPOTenantApplyFileVersionPolicyJob -CollectVersionData |
New-SPOTenantApplyFileVersionPolicyJob |
| 估计模拟查询) (影响 | Get-SPOTenantApplyFileVersionPolicyJobImpact |
Get-SPOTenantApplyFileVersionPolicyJobImpact |
| 使用当前租户策略剪裁现有版本 | New-SPOTenantApplyFileVersionPolicyJob -TrimVersions |
New-SPOTenantApplyFileVersionPolicyJob |
| 设置所有文档库的版本策略 | New-SPOTenantApplyFileVersionPolicyJob -SetVersionPolicy |
New-SPOTenantApplyFileVersionPolicyJob |
| 剪裁 + 设置策略 | New-SPOTenantApplyFileVersionPolicyJob -TrimVersions -SetVersionPolicy |
New-SPOTenantApplyFileVersionPolicyJob |
| 使用特定策略对象进行剪裁 | New-SPOTenantApplyFileVersionPolicyJob -VersionPolicy $policy -TrimVersions |
New-SPOTenantApplyFileVersionPolicyJob |
| 跟踪作业进度 | Get-SPOTenantApplyFileVersionPolicyJobProgress |
Get-SPOTenantApplyFileVersionPolicyJobProgress |
| 取消正在进行的作业 | Remove-SPOTenantApplyFileVersionPolicyJob |
Remove-SPOTenantApplyFileVersionPolicyJob |
| 获取当前租户版本策略 | Get-SPOTenantVersionPolicy |
Get-SPOTenantVersionPolicy |
| 本地创建修改后的策略对象 | Get-SPOVersionPolicyWithChanges |
Get-SPOVersionPolicyWithChanges |
了解详细信息
有关详细信息,请检查以下资源:
- 教程:生成版本使用情况报表
- 教程:运行“假设”分析
- 教程:排队剪裁作业
- 文件类型版本限制
- 使用 New-SPOSiteManageVersionPolicyJob 为网站上的现有文档库启动版本设置同步和剪裁请求
- 使用 Get-SPOSiteManageVersionPolicyJobProgress 跟踪网站上现有文档库的版本设置同步和剪裁请求的进度
- 使用 Remove-SPOSiteManageVersionPolicyJob 取消版本设置同步和剪裁站点上现有文档库的进一步处理
- 使用 New-SPOListFileVersionBatchDeleteJob 为文档库启动版本剪裁请求
- 使用 Get-SPOListFileVersionBatchDeleteJobProgress 跟踪文档库版本剪裁请求的进度
- 使用 Remove-SPOListFileVersionBatchDeleteJob 取消文档库版本剪裁的进一步处理