Saturday, July 2, 2016

SharePoint Online: Search Recycle bin using PowerShell

Requirement: Search SharePoint online recycle bin for all files deleted by a particular user

To find all items deleted by a particular user,

  • Navigate to your SharePoint online site, Click on Site Settings Gear >> Choose "Site Settings"
  • From the Site settings page, Click on "Recycle bin" from Site Collection Administration. This page gives you all deleted items in the site collection along with deleted by user data.
    sharepoint recycle bin search
  • PowerShell script to search SharePoint online Recycle bin:
    #Load SharePoint Online Assemblies
    Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
    Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
       
    ##Variables for Processing
    $SiteUrl = "https://crescent.sharepoint.com/sites/Sales/"
    $AdminUserName="Salaudeen@crescent.com"
    $DeletedByUserAccount="salaudeen.rajack@crescent.com"
    
    #Get the password to connect 
    $Password = Read-host -assecurestring "Enter Password for $AdminUserName"
    $Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($AdminUserName,$Password)
     
    Try {    
        #Setup the context
        $Context = New-Object Microsoft.SharePoint.Client.ClientContext($SiteUrl)
        $Context.Credentials = $Credentials
        
        #Get the site recycle bin
        $Site = $Context.Site
        $RecycleBinItems = $Site.RecycleBin
        $Context.Load($Site)
        $Context.Load($RecycleBinItems)
        $Context.ExecuteQuery()
    
        #Get all items deleted by particular user in Recycle bin
        $DeletedByUser = $RecycleBinItems | Where {$_.DeletedByEmail -eq $DeletedByUserAccount}
        Write-Host "Total Number of Items deleted by user:" $DeletedByUser.Count
        
        #format output as table and print to console
        $DeletedByUser | Select Title, DeletedByEmail, DeletedDate | Format-Table
    }
    catch {
        write-host "Error: $($_.Exception.Message)" -foregroundcolor Red
    }



    You might also like:
    SharePoint Usage Reports
    Usage reports, collaboration and audit for SharePoint.
    Document SharePoint Farm
    Automatically generate SharePoint documentation.
    *Sponsored


    Check out these SharePoint products:

    No comments :

    Post a Comment

    Please Login and comment to get your questions answered!

    You might also like:

    Related Posts Plugin for WordPress, Blogger...