In the context of customer grooming architecture, there are some Exchange 2013 backend server workloads that are high, in part because users in the database are highly active, mailbox usage is high, and partly because Noderunner services with version CU10 content indexes can be costly. Some optimizations were made to migrate some of the more heavily-loaded be backend database users to other low-load backend be, but how to migrate, to which a low-load database is more embarrassing, through a variety of Google search compiled a script can help do this.
At that time, the exchange was built for each database is about 500 users, but each mailbox user usage is not the same, the administrator has no way to control, because it is the user level of behavior, will cause each be backend server load imbalance.
Using a PowerShell script to get the name, size, and number of users for each database and directly output to a CSV-friendly interface can help us optimize data performance
Share the script you want to be useful for Exchange 2013 environments, other versions please Test yourself
The output information is as follows:
650) this.width=650; "title=" clip_image001 "style=" Border-top:0px;border-right:0px;border-bottom:0px;border-left : 0px; "border=" 0 "alt=" clip_image001 "src=" Http://s3.51cto.com/wyfs02/M00/9D/84/wKiom1mBUy_ Dw7ksaailkbcknpa829.png "height=" 651 "/>
Add-pssnapin microsoft.exchange*
Add-pssnapin Microsoft.Exchange.Management.PowerShell.E2010
# $MailboxDatabases =get-mailboxdatabase-status | Select Name,databasesize
$dbs = get-mailboxdatabase-status| Where {$_. Recovery-ne $true}
$dbs = $dbs | Sort-object Name
$output = ' C:\databaseSize.csv '
$title = "Databasename,servername,databasesize,count"
$title >> $output
foreach ($db in $dbs)
{
#Get the mailbox count for the database
$mailboxes = get-mailbox-database $db-ignoredefaultscope-resultsize unlimited-erroraction silentlycontinue
$mbcount = $mailboxes. Count
$dbsize = $db | Select Server,databasesize
# $databaseSize = $dbsize. Databasesize.tostring (). Split ("GB") [0]
$databaseSize = $dbsize. Databasesize.tobytes ()/1024/1024/1024
$message = "$ ($db. Name), $ ($dbsize. Server), $databaseSize, $ ($mailboxes. Count) "
$message >> $output
}
This article is from the "Dream Eisenia foetida Heart" blog, please be sure to keep this source http://zmczx.blog.51cto.com/7689019/1952956
Get Exchange So database name-database EDB size-Number of users