SharePoint Online: Search Recycle Bin using PowerShell

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

How to search SharePoint Online Recycle Bin?
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:
Here is the SharePoint Online PowerShell to search 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
}

PnP PowerShell to Get SharePoint Online Recycle bin Items:
#Config Variables
$SiteURL = "https://crescenttech.sharepoint.com/sites/marketing"

#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Credentials (Get-Credential)

#Get Recycle bin Items
Get-PnPRecycleBinItem | Select Title, ItemType, Size, ItemState, DirName, DeletedByName, DeletedDate | Format-table -AutoSize
This PowerShell script gets all items from given SharePoint Online site collection's recycle bin:
sharepoint online powershell get recycle bin
SharePoint Online: Search Recycle Bin using PowerShell SharePoint Online: Search Recycle Bin using PowerShell Reviewed by Salaudeen Rajack on July 02, 2016 Rating: 5

1 comment:

  1. Hi,

    Great script, but I have a question to this? Will it be possible to resore items to you local server / pc added to this script.

    Thanks.

    ReplyDelete

Please Login and comment to get your questions answered!

Powered by Blogger.