$mailbox = Read-Host "Enter mailbox identity (email), for example david.witten@euroaccident.com" if ([string]::IsNullOrWhiteSpace($mailbox)) { Write-Host "No mailbox entered. Exiting." exit } do { $selected = Get-RecoverableItems -Identity $mailbox -FilterItemType IPM.Note | Sort-Object LastModifiedTime -Descending | Select-Object LastModifiedTime, Subject, SourceFolder, PolicyTag, EntryID | Out-GridView -Title "Select mails to restore for $mailbox" -PassThru if (-not $selected) { Write-Host "No mails selected. Exiting." break } $selected | Format-Table LastModifiedTime, Subject, SourceFolder -AutoSize $ok = Read-Host "Type YES to restore these mails to $mailbox" if ($ok -eq "YES") { foreach ($item in $selected) { Restore-RecoverableItems -Identity $mailbox -EntryID $item.EntryID } Write-Host "Restore completed. Reopening selection window..." } else { Write-Host "Restore cancelled. Reopening selection window..." } } while ($true)