Obtenir la taille des corbeilles SharePoint en powershell


Voici un petit script permettant d’obtenir la taille des corbeilles de premier et second niveau en PowerShell.

A exécuter avec le compte admin.

# FIRST STAGE RECYCLE BIN
function Get-FirstLevelRecyclebinSize($SiteURL)
{  
    #Get the site collection
    $site = Get-SPSite $SiteURL
      
    # Create SPRecycleBinQuery object to Query Reycle bin
    $SPRecycleBinQuery = New-Object -TypeName Microsoft.SharePoint.SPRecycleBinQuery
    $SPRecycleBinQuery.ItemState = [Microsoft.SharePoint.SPRecycleBinItemState]::FirstStageRecycleBin
     
    # Set the query should return maximum number of objects
    $SPRecycleBinQuery.RowLimit = [int]::MaxValue-1
     
    # Get the sum of values of the 'Size' property of all Recycle Bin items and assign it to a variable
    $RecycleBinSize = $site.GetRecycleBinItems($SPRecycleBinQuery) | Measure-Object -Property Size -Sum | Select-Object -ExpandProperty Sum
     
    # Calculate the value in Mbs and returned the rounded value to the caller      
    return ([System.Math]::Round(($RecycleBinSize/1Mb),2))
}
# SECOND STAGE RECYLCE BIN
 function Get-SecondLevelRecyclebinSize($SiteURL)
{  
	$WebApp=get-spwebapplication $SiteURL
 
    foreach ($SPSite in $WebApp.Sites)
    {      
     # SPRecycleBinQuery to Query Reycle bin   
     $SPRecycleBinQuery=new-object Microsoft.SharePoint.SPRecycleBinQuery
     $SPRecycleBinQuery.OrderBy = [Microsoft.SharePoint.SPRecycleBinOrderBy]::DeletedDate;
     $SPRecycleBinQuery.IsAscending = $false;
     $SPRecycleBinQuery.RowLimit = 220000
     $SPRecycleBinQuery.ItemState = [Microsoft.SharePoint.SPRecycleBinItemState]::SecondStageRecycleBin
    
     $SPRecycleBinItemCollection  = $SPSite.GetRecycleBinItems($SPRecycleBinQuery)
      
       $Size=0
        
        for ($i=$SPRecycleBinItemCollection.Count-1; $i -GE 0;  $i--)
            {
                        $guid = $SPRecycleBinItemCollection[$i].ID;                
                    
                        $Size+=$SPRecycleBinItemCollection[$i].Size
                     
            }
          write-host "Recycle bin Size in" $SPSite.RootWeb.Title "-"  $SPSite.RootWeb.URL ":" ($size/1MB)  
       }
}

$Size1 = Get-RecycleFirstLevelbinSize "http://yoursiteurl"
write-host "*****First Stage Recycle bin Size (in MB):" $Size1 "*****"
write-host "*****Second Stage Recycle bin Sizes per sitecol*****"
$Size2 = Get-RecycleFirstLevelbinSize "http://yoursiteurl"
Publicités

2 réflexions au sujet de « Obtenir la taille des corbeilles SharePoint en powershell »

  1. Ping : Taille d’un site SharePoint en powershell | SharePoint 2013 – Blog technique d'Alexandre DAVID

  2. Ping : Analyse sur l’utilisation des types de contenus en powershell | SharePoint 2013 – Blog technique d'Alexandre DAVID

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s