为 SharePoint 中的所有文档库启用版本控制
SharePoint 版本控制功能跟踪更改,以便您可以查看文档或项目的版本历史记录并在需要时审核/恢复它们。这篇博文将向您展示如何使用 PowerShell 为 SharePoint 网站中的所有文档库启用版本控制。
如何在 SharePoint 中启用版本控制?
版本功能是在列表或库级别配置的。因此,要启用版本历史记录:
- 转到文档库 >> 单击功能区上的“库”选项卡 >> 单击“库设置”。
- 在常规设置下,单击版本控制设置链接。
- 从版本控制设置页面中,选择“创建主要版本”。您还可以选择设置版本数量限制。
这将启用 SharePoint 版本历史记录。启用版本控制功能后,您可以选择一个文档并单击功能区中的“版本历史记录”图标来查看创建的版本。
对 SharePoint 中所有网站的所有文档库启用版本控制
嗯,激活版本控制相对更简单,如上所示!但您可能希望为网站集中所有网站的所有文档库启用版本控制。您可能有一个包含 100 个子网站的网站集,所有子网站都加载了文档库。
不幸的是,Web 浏览器 UI 没有直接的方法来在网站集级别对所有库启用版本控制。 PowerShell 脚本可帮助您以编程方式在所有库中启用版本控制。
使用 PowerShell 为所有文档库启用版本控制
如果您在 SharePoint 中工作,您就会知道文档版本控制可以成为救星。它允许您跟踪文档的更改并在必要时恢复到以前的版本。但是,并非所有文档库都默认启用版本控制。以下是如何使用 PowerShell 为所有文档库启用版本控制:
Add-PSSnapin microsoft.sharepoint.powershell -ErrorAction SilentlyContinue
$webURL="https://demo.crescent.com"
#Get the Web
$web = Get-Spweb $webURL
#Get all lists - Exclude System lists
$ListColl = $web.lists | Where-Object { ($_.hidden -eq $false) -and ($_.IsSiteAssetsLibrary -eq $false) -and ($_.BaseType -eq "DocumentLibrary") }
foreach($list in $ListColl)
{
if ($list.EnableVersioning -eq $false)
{
#Enable Versioning Settings
$list.EnableVersioning = $true
$list.MajorVersionLimit = 5 #No. of versions - versioning best practices
$list.EnableMinorVersions = $true #Applicable only to Libraries
$list.MajorWithMinorVersionsLimit = 5 #No. of Drafts in Lists
$list.Update()
write-host Versioning enabled for: $list.RootFolder.URL
}
}
该脚本以编程方式在整个站点中启用版本控制。
如何默认启用版本控制?
默认情况下版本控制处于禁用状态! SharePoint 中没有自动版本控制,也没有 OOTB 方式来全局打开版本控制。一个技巧可能是:使用列表模板 - 创建基本列表或库、启用版本控制、将列表另存为模板。默认情况下,从此模板创建的任何列表或库都会打开版本控制!您还可以尝试事件接收器 - ListAdded 事件。
SharePoint 版本控制最佳实践:
请务必记住,每个版本都是文档或项目的副本。因此,如果您编辑一个 10 MB 的文件 10 次,它会占用 100 MB 的磁盘空间。 (在 SharePoint 2016 及更高版本中,这一点得到了改进!SharePoint 仅存储增量以最小化存储空间)。这最终可能会影响您网站的性能。因此,设置版本控制限制是最佳实践。值得庆幸的是,SharePoint 2013 分解存储带来了仅存储版本控制增量的优势。
相关文章:
- SharePoint 版本控制清理 - 使用 PowerShell 删除旧版本
- SharePoint 版本控制 版本控制磁盘空间存储报告 C#
- 将 SharePoint 版本历史记录导出到 Excel
- 使用 PowerShell 删除 SharePoint 文档库中的所有文档版本
- 使用 PowerShell 的 SharePoint 版本控制报告
- SharePoint 版本控制管理器 - 控制版本控制设置并清理旧版本
