Find and Restore Items in RecycleBin
Find Items
Get-ChildItem -Force -File -Recurse 'C:\$RECYCLE.BIN'
Restore Items
$Shell = New-Object -ComObject Shell.Application
$RecycleBin = $Shell.Namespace(0xA)
$RecycleBin.Items() | ForEach-Object { $_.InvokeVerb("Restore") }
Restore all to original path
$Shell = New-Object -ComObject Shell.Application
$RecycleBin = $Shell.Namespace(0xA)
$RecycleBin.Items() | Where-Object {$_.Name -eq 'my_document.txt'} | ForEach-Object { $_.InvokeVerb("Restore") }
Restore my_document.txt to its original location
Get-ChildItem -Force -File -Recurse 'C:\$RECYCLE.BIN' -Filter '*.docx' | ForEach-Object { Move-Item $_.FullName "$env:USERPROFILE\Desktop" }
Move all items ending inĀ .docx from RecycleBin to user Desktop folder