Empty SharePoint Online Site Recycle Bin
This sample script shows how to empty SharePoint online site first stage and second stage recycle bin
Summary
This sample script shows how to empty SharePoint online site first stage and second stage recycle bin.
Scenario inspired from this blog post: SharePoint Online: Empty Recycle Bin using PnP PowerShell

# SharePoint online site URL
$siteUrl = "https://contoso.sharepoint.com/sites/SPConnect"
# Connect to SharePoint online site
Connect-PnPOnline -Url $siteUrl -Interactive
# Move all items from the first stage recycle bin to the second stage recycle bin
Move-PnPRecycleBinItem
# Empty second stage recycle bin in SharePoint site
Clear-PnPRecycleBinItem -SecondStageOnly
# Empty both first stage and second stage recycle bin in SharePoint site
Clear-PnPRecycleBinItem -All
# SharePoint online site URL
$siteUrl = "https://contoso.sharepoint.com/sites/SPConnect"
# Get Credentials to connect
$m365Status = m365 status
if ($m365Status -match "Logged Out") {
m365 login
}
# Empty first stage recycle bin in SharePoint site permanently
m365 spo site recyclebinitem clear --siteUrl $siteUrl
# Empty second stage recycle bin in SharePoint site
m365 spo site recyclebinitem clear --siteUrl $siteUrl --secondary
Contributors
| Author(s) |
|---|
| Ganesh Sanap |
Disclaimer
THESE SAMPLES ARE PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
Tool documentation & references
- Want to learn more about PnP PowerShell and the cmdlets
Check out the PnP PowerShell site to get started and for the reference to the cmdlets.
- Want to learn more about CLI for Microsoft 365 and the commands
Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.