Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 778
  • Last Modified:

exchange 2010 Remove disconnected mailboxes

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
Darth_mark67
Asked:
Darth_mark67
  • 5
  • 4
1 Solution
 
Jamie McKillopCommented:
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
 
Darth_mark67Author Commented:
Do I include the quotes?
0
 
Jamie McKillopCommented:
Yes but replace <Database Name> with the actual name of the database. The quotes are needed because database names will include spaces.

JJ
0
Has Powershell sent you back into the Stone Age?

If managing Active Directory using Windows Powershell® is making you feel like you stepped back in time, you are not alone.  For nearly 20 years, AD admins around the world have used one tool for day-to-day AD management: Hyena. Discover why.

 
Darth_mark67Author Commented:
Just to be clear it would be "0273334559" Which is the db name the install gave it.
0
 
Jamie McKillopCommented:
Yes, that would be the database name.

JJ
0
 
Darth_mark67Author Commented:
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
 
Jamie McKillopCommented:
Sorry, you need to put servername\ in from of the database name.

JJ
0
 
Darth_mark67Author Commented:
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
 
Jamie McKillopCommented:
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

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

  • 5
  • 4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now