Tuesday 24 December 2013

How to empty admin recyle bin (2nd stage only) in SharePoint2010 using PowerShell

Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
$SPSiteurl = "<Site URL>"
$spsite = Get-SPSite -Identity $SPSiteurl
$files =$spsite.Recyclebin |?{$_.ItemState -eq 'SecondStageRecycleBin'}
foreach ($file in $files) {
$spsite.RecycleBin.Delete($file.ID)
}

1-Delete the all the files which were deleted by user.
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
$SPSiteurl = "<Site URL>"
$site = Get-SPSite -Identity $SPSiteurl
$query = new-object Microsoft.SharePoint.SPRecycleBinQuery;
$query.ItemState = “SecondStageRecycleBin”;
$itemcoll = $site.GetRecycleBinItems($query);
#Delete items those are deleted by Ajeet
$files= $itemcoll | where {$_.DeletedByName -match "Ajeet K. Singh"}
#Delete output
foreach ($file in $files) {
$spsite.RecycleBin.Delete($file.ID)
}
2nd-The script should delete all the files which were deleted on specific date.
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
$SPSiteurl = "<Site URL>"
$site = Get-SPSite -Identity $SPSiteurl
$query = new-object Microsoft.SharePoint.SPRecycleBinQuery;
$query.ItemState = “SecondStageRecycleBin”;
$itemcoll = $site.GetRecycleBinItems($query);
#Delete items those are deleted by Ajeet
$files= $itemcoll | where {$_.DeletedDate -match "12/25/2013"}
#Delete output
foreach ($file in $files) {
$spsite.RecycleBin.Delete($file.ID)
}
3rd:-to delete first "n" number of files which are present in recycle bin with ascending or descending order.
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
$SPSiteurl = "<Site URL>"
$site = Get-SPSite -Identity $SPSiteurl
$query = new-object Microsoft.SharePoint.SPRecycleBinQuery;
$query.ItemState = “SecondStageRecycleBin”;
$query.RowLimit = 2 #Set here 'n' numbers of item.I have set it to 2;
$files = $site.GetRecycleBinItems($query);
#Delete output
foreach ($file in $files) {
$spsite.RecycleBin.Delete($file.ID)
}

1 comment :