0
我目前有一个SharePoint 2013环境,从一年左右的时间从SharePoint 2010升级..某些文档库的版本控制设置为无限制版本,并且消耗了大量额外空间一些文件库大约30GB)。我决定删除版本回到5(5个最新版本)。通过Powershell删除Sharepoint版本控制
下面的脚本已经取得了一些成功 - 并且在多个文档库上运行时,它已经删除了版本控制,但是在同一个文档库中的文件上版本尚未被删除。
实施例: 之前运行脚本 文件1 =有100个版本 文件2 =有100个版本
运行脚本 文件1 =之后具有5个版本 文件2 =具有
100个版本$SPweb = Get-SPweb "xxxxx" ##EDIT AND PUT THE WEB ADDRESS HERE##
$versionsToKeep =5; ##NUMBER OF VERSIONS TO KEEP##
$SPlist = $SPweb.Lists["Document Library"] ##THE DOC LIBRARY##
foreach ($SPitem in $SPlist.Items)
{
$currentVersionsCount= $SPItem.Versions.count
if($currentVersionsCount -gt $versionstoKeep)
{
for($i=$currentVersionsCount-1; $i -ge $versionstoKeep; $i--)
{
$SPItem.versions[$i].delete()
}
}
}
我不确定这是为什么 - 如果其他人以前有过这些问题?
难道你不能只将库的限制设置为5个版本,然后遍历库并使用powershell脚本更新每个项目?那么所有版本都应该清除,或? –
@dns_nx听起来像它会工作,PowerShell脚本上的任何想法循环通过文档库? – MattG
是的,请看我的答案。 –