Solved

exchange 2010 Remove disconnected mailboxes

Posted on 2012-03-16
9
763 Views
Last Modified: 2012-08-13
Hello,

How can I remove the disconnected test mailboxes off of my exchange 2010 server? I would like that to be all cleaned out.
0
Comment
Question by:Darth_mark67
  • 5
  • 4
9 Comments
 
LVL 37

Expert Comment

by:Jamie McKillop
ID: 37731661
Hello,

If you would like to remove all the disconnected mailboxes, you will need to do the following on each database that contains disconnected mailboxes:

Run the following commands in EMS:

$Users = Get-MailboxStatistics -Database "<Database Name>" | where-object { $_.DisconnectDate -ne $null } | Select DisplayName,MailboxGuid

$Users | ForEach { Remove-Mailbox -Database "<Database Name>" -StoreMailboxIdentity $_.mailboxGuid -Confirm:$false }

If you just want to delete specific mailboxes, you need to first get the MailboxGuid by running:

Get-MailboxStatistics -Database "<Database Name>" | where-object { $_.DisconnectDate -ne $null } | FL DisplayName, DisconnectDate, MailboxGuid

Once you have the MailboxGuid of the mailbox you want to purge, you would run:

Remove-Mailbox -Database "<Database Name>" -StoreMailboxIdentity <MailboxGuid>
JJ
0
 

Author Comment

by:Darth_mark67
ID: 37731667
Do I include the quotes?
0
 
LVL 37

Expert Comment

by:Jamie McKillop
ID: 37731675
Yes but replace <Database Name> with the actual name of the database. The quotes are needed because database names will include spaces.

JJ
0
Problems using Powershell and Active Directory?

Managing Active Directory does not always have to be complicated.  If you are spending more time trying instead of doing, then it's time to look at something else. For nearly 20 years, AD admins around the world have used one tool for day-to-day AD management: Hyena. Discover why

 

Author Comment

by:Darth_mark67
ID: 37731693
Just to be clear it would be "0273334559" Which is the db name the install gave it.
0
 
LVL 37

Expert Comment

by:Jamie McKillop
ID: 37731712
Yes, that would be the database name.

JJ
0
 

Author Comment

by:Darth_mark67
ID: 37731743
What did I do wrong? Here is the db info: Mailbox Database 0273334559\MSG

[PS] C:\Windows\system32>$Users = Get-MailboxStatistics -Database "0273334559" | where-object { $_.DisconnectDate -ne $n
ull } | Select DisplayName,MailboxGuid
Mailbox database "0273334559" doesn't exist.
    + CategoryInfo          : NotSpecified: (0:Int32) [Get-MailboxStatistics], ManagementObjectNotFoundException
    + FullyQualifiedErrorId : 898C4182,Microsoft.Exchange.Management.MapiTasks.GetMailboxStatistics

[PS] C:\Windows\system32>
0
 
LVL 37

Expert Comment

by:Jamie McKillop
ID: 37731769
Sorry, you need to put servername\ in from of the database name.

JJ
0
 

Author Comment

by:Darth_mark67
ID: 37731778
I tried it both ways, what am I screwing up?


         Welcome to the Exchange Management Shell!

Full list of cmdlets: Get-Command
Only Exchange cmdlets: Get-ExCommand
Cmdlets that match a specific string: Help *<string>*
Get general help: Help
Get help for a cmdlet: Help <cmdlet name> or <cmdlet name> -?
Show quick reference guide: QuickRef
Exchange team blog: Get-ExBlog
Show full output for a command: <command> | Format-List

Tip of the day #30:

Tab completion reduces the number of keystrokes required to complete a cmdlet. Just press the TAB key to complete the cm
dlet you are typing. Tab completion kicks in whenever there is a hyphen (-) in the input. For example:

 Get-Send<tab>

should complete to Get-SendConnector. You can even use wildcards, such as:

 Get-U*P*<tab>

Pressing the TAB key when you enter this command cycles through all cmdlets that match the expression, such as the Unifi
ed Messaging Mailbox policy cmdlets.

VERBOSE: Connecting to MSG.schulershook.net
VERBOSE: Connected to MSG.schulershook.net.
[PS] C:\Windows\system32>$Users = Get-MailboxStatistics -Database "msg\0273334559" | where-object { $_.DisconnectDate -n
e $null } | Select DisplayName,MailboxGuid
Cannot process argument transformation on parameter 'Database'. Cannot convert value "msg\0273334559" to type "Microsof
t.Exchange.Configuration.Tasks.DatabaseIdParameter". Error: "'msg\0273334559' is not a valid value for the identity.
Parameter name: Identity"
    + CategoryInfo          : InvalidData: (:) [Get-MailboxStatistics], ParameterBindin...mationException
    + FullyQualifiedErrorId : ParameterArgumentTransformationError,Get-MailboxStatistics

[PS] C:\Windows\system32>$Users = Get-MailboxStatistics -Database "0273334559\MSG" | where-object { $_.DisconnectDate -n
e $null } | Select DisplayName,MailboxGuid
Cannot process argument transformation on parameter 'Database'. Cannot convert value "0273334559\MSG" to type "Microsof
t.Exchange.Configuration.Tasks.DatabaseIdParameter". Error: "'0273334559\MSG' is not a valid value for the identity.
Parameter name: Identity"
    + CategoryInfo          : InvalidData: (:) [Get-MailboxStatistics], ParameterBindin...mationException
    + FullyQualifiedErrorId : ParameterArgumentTransformationError,Get-MailboxStatistics

[PS] C:\Windows\system32>
0
 
LVL 37

Accepted Solution

by:
Jamie McKillop earned 500 total points
ID: 37731799
Run get-mailboxdatabase | fl and look for the "server" and "name" properties. then use -Database "server\name". If that doesn't work, look for the guid property and use -Database "guid"

JJ
0

Featured Post

Optimizing Cloud Backup for Low Bandwidth

With cloud storage prices going down a growing number of SMBs start to use it for backup storage. Unfortunately, business data volume rarely fits the average Internet speed. This article provides an overview of main Internet speed challenges and reveals backup best practices.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This process describes the steps required to Import and Export data from and to .pst files using Exchange 2010. We can use these steps to export data from a user to a .pst file, import data back to the same or a different user, or even import data t…
This article aims to explain the working of CircularLogArchiver. This tool was designed to solve the buildup of log file in cases where systems do not support circular logging or where circular logging is not enabled
With the advent of Windows 10, Microsoft is pushing a Get Windows 10 icon into the notification area (system tray) of qualifying computers. There are many reasons for wanting to remove this icon. This two-part Experts Exchange video Micro Tutorial s…
This video shows how to quickly and easily add an email signature for all users on Exchange 2016. The resulting signature is applied on a server level by Exchange Online. The email signature template has been downloaded from: www.mail-signatures…

777 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question