Retract Spam Email from Exchange 2010

Is it possible to retract one email from all mailboxes in exchange 2010?
Say a spam email gets through and we want to delete it before everyone has a chance to open it and click on something they shouldn't, how can I remove that message from their mailbox?
Who is Participating?
WinsoupAuthor Commented:
I got to the point of deleting it. I can run the log and successfully see that there is an email out there to delete. (just one I am using for testing) When I run the delete command:
Get-mailbox | search-mailbox –searchquery “Subject:’virus’” –DeleteContent

I get this error:
The target mailbox or .pst file path is required.
    + CategoryInfo          : InvalidArgument: (:) [], ArgumentException
    + FullyQualifiedErrorId : 72962C6B

Invoke-Command : Cannot write input as there are no more running pipelines
At C:\Users\username\AppData\Roaming\Microsoft\Exchange\RemotePowerShell\name.domain.local
cal.psm1:42015 char:29
+             $scriptCmd = { & <<<<  $script:InvokeCommand `
    + CategoryInfo          : InvalidOperation: (:) [Invoke-Command], PSInvalidOperationException
    + FullyQualifiedErrorId : NoMoreInputWrite,Microsoft.PowerShell.Commands.InvokeCommandCommand
Jeff PerryWindows AdministratorCommented:
Have you tried adding back -TargetMailbox and possibly -TargetFolder after the -DeleteContent command?

I know that every time someone asks me to do something like this it is always a pain.
Free tool for managing users' photos in Office 365

Easily upload multiple users’ photos to Office 365. Manage them with an intuitive GUI and use handy built-in cropping and resizing options. Link photos with users based on Azure AD attributes. Free tool!

WinsoupAuthor Commented:
I added back targetmailbox and targetfolder and now I get this error for all mailboxes.

The input object cannot be bound to any parameters for the command either because the command does not take pipeline input
or the input and its properties do not match any of the parameters that take pipeline input.
Jeff PerryWindows AdministratorCommented:
All I can think of is try -targetmailbox only after -Deletecontent

Like I said everytime I have been asked to do this specific thing (find an email in all mailboxes or single mailbox) and delete it I always run into issues.
WinsoupAuthor Commented:
This works, I screwed up the Permissions part of it at the beginning of that article so I didn't have rights to delete anything. Once that was fixed that then it worked fine.
Thank you!
Jeff PerryWindows AdministratorCommented:
Thanks, glad you got it worked out.
WinsoupAuthor Commented:
Sorry one more question on this.
Is there a way to force it to delete right away without having to refresh or restart outlook? The command is working but I can still access the email until I restart Outlook.
Jeff PerryWindows AdministratorCommented:
A server side change should be reflected within about 30 seconds or so.

If your mailbox did not reflect the change within that time or took significantly longer you might have another issue.

Here is a link to an article about the sync intervals.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.