Task 3 – Delete All Disconnected Mailboxes Across All Exchange 2007 Mailbox Servers…

In my previous article, I have explained in detail how to get a list of all disconnected mailboxes across all mailbox servers in your organization. As Exchange 2007 doesn’t give us the option to delete the disconnected mailboxes using the console, we need to know the cmdlets to purge the mailboxes.

So, for a large enterprise with many mailbox servers, the following command can be run from a management server to list all the disconnected mailboxes.

Get-ExchangeServer | Where-Object {$_.IsMailboxServer –eq $true} | ForEach-Object { Get-MailboxStatistics –Server $_.Name | Where-Object {$_.DisconnectDate –notlike ‘’}}

In order to delete the mailboxes, lets first store all disconnected mailboxes in a variable $mailboxes with the properties that we need. After that, we need to pipe the variable into a loop to delete all disconnected mailboxes.

$mailboxes = Get-ExchangeServer | Where-Object {$_.IsMailboxServer –eq $true} | ForEach-Object { Get-MailboxStatistics –Server $_.Name | Where-Object {$_.DisconnectDate –notlike ‘’}} | select displayname, mailboxguid, database

$mailboxes | ForEach { Remove-Mailbox -Database $_.Database -StoreMailboxIdentity $_.MailboxGuid -confirm:$false }

For a smaller shop, command can be made a bit more simple.

$mailboxes = Get-MailboxStatistics | where-object { $_.DisconnectDate –notlike ‘’ } | Select displayname, mailboxguid, database

$mailboxes | ForEach { Remove-Mailbox -Database $_.Database -StoreMailboxIdentity $_.MailboxGuid -confirm:$false }

SUBSCRIBE FOR DAILY ARTICLE UPDATES VIA EMAIL
Get the published articles delivered straight to your inbox. Your details will not be passed to any third party company.

Exchange Architect, Blogger, Husband & Dad. I have been in IT for the last 11 years, with Exchange Server becoming the prime area in the last few years. I am active on TechNet forums & Experts Exchange.

View all contributions by

  • How To Find Which Store Worker Process Is Responsible For A Mailbox Database In Exchange 2013

    Exchange 2013 has a new store named the Managed Store. In order to provide failure isolation in the database level in 2013, Microsoft has introduced two new processes as part of the managed store concept. First is the Store Worker Process(Microsoft.Exchange.Store.Worker.Exe) which does the same job that store.exe handled in previous versions. The only difference [...]

    Read More
  • Upload GAL Photos Using Exchange 2013 OWA Options (ECP)

    The “self service” option in OWA 2013 (ECP) has been enhanced with the option for uploading GAL photo by the end user. In Exchange 2010 ECP, end users were able to edit their contact details, address etc depending on the role assignment policy. In Exchange 2013 ECP ( OWA –> Options), the end user can [...]

    Read More
  • OWA 2013 Virtual Directory Displays The OWA Version As Exchange 2010

    A bug or typo in the code? While browsing the EAC, I noticed that the OWA virtual directory displays that the OWA Version as Exchange 2010 & not 2013. This happens in an Exchange 2013 only environment. The Shell displays the same info. MS, Is it a bug in the code or a typo?

    Read More
  • 2 Million Hits & 2.67 Million Page Views

    Yes, HowExchangeWorks has had 2 Million Hits & 2.67 Million page views so far! I take this opportunity to thank all my readers for your continuous support. I couldn’t have done this without you guys.

    Read More
  • Exchange 2013 Server Role Requirements Calculator v5.1

    Exchange Team has finally released the first public version of the 2013 Server Role Requirements Calculator. The name has been changed as the calculator now makes recommendations for both the Mailbox and CAS roles. If anyone out there is still confused, this is the 2013 equivalent of the 2010 Storage Calculator. The look and feel [...]

    Read More

2 comments… add one

Speak Your Mind…

Website Hits