Forum Discussion

Charisma Riley's avatar
Charisma Riley
Copper Contributor
Jan 06, 2020

Empty Corporate OneDrive Recycle Bins from PowerShell

I am looking for a simple method (possibly a PowerShell script) that will completely empty OneDrive recycle bins (incl. the secondary recycle bins) within a given URL `[tenant]-my.sharepoint.com/personal/[username]`; one user at-a-time is an okay solution, as we only need to do this in certain circumstances. I tried using SPO Management Shell, but the app told me that the OneDrive locations are not managed paths within SPO. Using the online interface will only handle 200 files at a time, with a 30 second processing time in between; sometimes we have upwards of 10,000 files in these recycle bins to remove, so this is not an appropriate method. Any ideas are appreciated. Thank you, in advance!

    • Charisma Riley's avatar
      Charisma Riley
      Copper Contributor

      jcgonzalezmartin Thank you. What would a script look like that empties both the regular and secondary recycle bin for the OneDrive account in question? Would the URL remain `[tenant]-my.sharepoint.com/personal/[username]`? The script I use for our SPO tenant looks like this (this one empties the regular recycle bin):

       

      Try {    
          #Setup the context
          $Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteUrl)
          $Ctx.Credentials = $Credentials
           
          #Move All Deleted Items to 2nd Stage Recycle bin
          $Ctx.Site.RecycleBin.MoveAllToSecondStage()
          $Ctx.ExecuteQuery()
      }
      catch {
          write-host "Error: $($_.Exception.Message)" -foregroundcolor Red
      }

      How can I modify this for a user's OneDrive? Thanks again!

Resources