powershell icon indicating copy to clipboard operation
powershell copied to clipboard

[BUG] Get-PnPRecycleBinItem - Doesn't return all items

Open robertcaretta opened this issue 10 months ago • 1 comments

Reporting an Issue or Missing Feature

Get-PnPRecycleBinItem This command does NOT return all items from First and Second stage recycle bin. Tried with and without the -RowLimit and there was no difference. Tested with 2.4.0

Expected behavior

Get-PnPRecycleBinItem returns all items from BOTH First and Second stage recycle bin.

Actual behavior

Get-PnPRecycleBinItem only returns items from First stage recycle bin.

Also please update your documentation here for "Example 1" as it is not accurate. https://pnp.github.io/powershell/cmdlets/Get-PnPRecycleBinItem.html

Steps to reproduce behavior

$recycleBinItemsAll = Get-PnpRecycleBinItem $recycleBinItemsAll.Count

$recycleBinItemsFirst = Get-PnpRecycleBinItem -FirstStage $recycleBinItemsFirst.Count

$recycleBinItemsSecond = Get-PnpRecycleBinItem -SecondStage $recycleBinItemsSecond.Count

Work-around

$recycleBinItemsFirst = Get-PnpRecycleBinItem -FirstStage $recycleBinItemsFirst.Count

$recycleBinItemsSecond = Get-PnpRecycleBinItem -SecondStage $recycleBinItemsSecond.Count

$recycleBinItems = $recycleBinItemsFirst + $recycleBinItemsSecond $recycleBinItems.Count

What is the version of the Cmdlet module you are running?

2.4.0

Which operating system/environment are you running PnP PowerShell on?

  • [x] Windows
  • [ ] Linux
  • [ ] MacOS
  • [ ] Azure Cloud Shell
  • [ ] Azure Functions
  • [ ] Other : please specify

robertcaretta avatar Apr 10 '24 13:04 robertcaretta

Basically the script just calls CSOM Method Site.GetRecycleBinItems() with itemState None if you do not specify any state, so maybe behaviour of that "black box" has changed.

So you are right that the documentation for Example 1 should say "First recycle bin" but the functionality is "per design" as it is out of our hands.

Your solution is the correct way to do it if you need both!

https://learn.microsoft.com/en-us/dotnet/api/microsoft.sharepoint.client.site.getrecyclebinitems?view=sharepoint-csom

AndersRask avatar Apr 18 '24 11:04 AndersRask

As @AndersRask mentioned above, looks like the default CSOM behavior has changed, would suggest you to keep using the same workaround as mentioned.

Afraid we can't do anything here. Closing it as by design

gautamdsheth avatar May 30 '24 13:05 gautamdsheth