繁体   English   中英

通过Powershell删除Sharepoint版本控制

[英]Sharepoint Versioning Removal via Powershell

我目前有一个SharePoint 2013环境,该环境是大约一年前从SharePoint 2010升级的..某些文档库的版本设置为无限制版本,并且正在占用大量额外空间(某些文档库约为30GB)。 我已决定删除版本控制以恢复到5(最新的5个版本)。

以下脚本取得了一些成功-在多个文档库上运行时,它已删除版本控制,但在同一文档库中的文件上,尚未删除版本控制。

示例:运行脚本文件之前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脚本更新每个项目。

$web = Get-spweb http://yourweb/sites/path
$list = $web.Lists["Document Library"]
ForEach( $file in $list.Items ) { 
    $file.Update() 
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM