• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 813
  • 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 McKillopIT ManagerCommented:
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 McKillopIT ManagerCommented:
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 McKillopIT ManagerCommented:
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 McKillopIT ManagerCommented:
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 McKillopIT ManagerCommented:
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
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.

Join & Write a Comment

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

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