Exchange: Delete messages from within mailboxes in Exchange 2010

Build necessary roles:
New-RoleGroup -Name "Exchange Mailbox Import Export" -Roles "Mailbox Import Export" `
-Members "admin" -DisplayName "Exchange Mailbox Import Export" `
-Description "This group will provide access to mailbox import and export cmdlets 
within entire Exchange Organization."
 
New-RoleGroup -Name "Exchange Support Diagnostics" -Roles "Support Diagnostics" `
-Members "admin" -DisplayName "Exchange Support Diagnostics" `
-Description "This group will provide access to support diagnostics cmdlets 
within entire Exchange Organization."

Ensure roles membership is correct (the user executing the deletion needs to be a member if these groups):
Get-RoleGroupMember -Identity "Discovery Management"

Get-RoleGroupMember -Identity "Exchange Mailbox Import Export"

Get-RoleGroupMember -Identity "Exchange Support Diagnostics"
Run message search (example):
Search-Mailbox -Identity 'user' -SearchQuery "Received: > $('01/1/2014 00:00:00') `
AND Received: < $('01/1/2014 23:59:59') `
AND Subject:Deletethis" -LogLevel Full -TargetMailbox 'Discovery Search Mailbox' `
-TargetFolder 'Search Results'
Delete messages from all mailboxes(example):
Get-Mailbox -ResultSize Unlimited | Select-Object SamAccountName | out-file mailboxusers.txt

$mailboxusers = Get-Content .\mailboxusers.txt

foreach ($user in $mailboxusers) {Search-Mailbox -Identity $user -SearchQuery "Received: > $('10/31/2014 00:00:00') `
AND Received: < $('10/31/2014 23:59:59') `
AND FROM:problematic@sender.com" -LogLevel Full -TargetMailbox 'Discovery Search Mailbox' `
-TargetFolder 'Search Results - problematic search' –DeleteContent -Force}

No comments:

Post a Comment