Delete All Document Versions in SharePoint Document Library using PowerShell
Requirement: Delete all old document versions in a SharePoint site collection to free up some disk space occupied by document versions. Because simply disabling versioning does not delete old versions which are already created until the next update happens on the document! So, If you want to release the space occupied by previous versions, you'll have to remove them manually.
To Delete all previous versions of a document in SharePoint, follow these steps:
PowerShell to Delete all Document Versions in SharePoint:
SharePoint: PowerShell to Delete All Versions for the entire site collection
How about deleting document versions for all document libraries in a site collection? Here is the PowerShell script to delete all document versions in a site collection:
Related posts:
To Delete all previous versions of a document in SharePoint, follow these steps:
- Navigate to your SharePoint Library, click the ellipse (...) and then click on Version History
- From the version history page, click on "Delete all versions" link, confirm if prompted!
PowerShell to Delete all Document Versions in SharePoint:
Add-PSSnapin Microsoft.SharePoint.Powershell -ErrorAction SilentlyContinue #Configuration Parameters $WebURL = "http://portal.crescent.com.com/projects/" $ListName = "Documents" #Get the Web, List objects $Web= Get-SPWeb $WebURL $List= $web.Lists[$ListName] #Get all Items from the List $ListItems = $List.Items Write-host "Total Items Found in the List:"$List.ItemCount $Counter =0 #Iterate through each item foreach ($ListItem in $ListItems) { #Display Progress bar $Counter=$Counter+1 Write-Progress -Activity "Cleaning up versions" -Status "Processing Item:$($ListItem['Name']) $($counter) of $($List.ItemCount)" -PercentComplete $($Counter/$List.ItemCount*100) #If the File has versions, clean it up if ($ListItem.Versions.Count -gt 1) { Write-host "Cleaning versions for: " $ListItem["Name"] $ListItem.file.Versions.DeleteAll() } }
SharePoint: PowerShell to Delete All Versions for the entire site collection
How about deleting document versions for all document libraries in a site collection? Here is the PowerShell script to delete all document versions in a site collection:
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue #Get the Site Collection $site = Get-SPSite "http://sharepoint.crescent.com/sites/operations" #Loop through all sites in the site collection foreach($web in $site.AllWebs) { #Iterate through all Lists foreach($List in $Web.Lists) { #Get only document libraries & Skip Hidden if( ($List.BaseType -eq "DocumentLibrary") -and ($List.EnableVersioning) -and ($List.Hidden -eq $false) -and($List.IsApplicationList -eq $false) ) { #loop through each item foreach ($item in $list.Items) { if($item.File.Versions.Count -gt 0) { # delete all versions Write-Host "Deleting $($item.File.Versions.Count) Version(s) on: $($web.URL)$($item.URL)" $item.file.Versions.DeleteAll() } } } } } $site.Dispose() Write-Host "Script execution Completed!"This PowerShell script will delete old versions in SharePoint document libraries for the entire site collection.
Related posts:
- Version History Size Report for Entire SharePoint Web Application using C#
- SharePoint Document Versions Size Report with PowerShell
- SharePoint Versioning Manager - Control Versioning Settings & Clean-Up Old Versions
Could you please provide me the script for SharePoint online?
ReplyDeleteHere you go: How to delete document versions in SharePoint online
Delete