The Exchange 2007 Wiki

Mbx DB Statsv2

Here's an update to my previous script to get database size. Script has been updated to take piped input and return user count in addition to database size. The database size is now returned as a  Microsoft.Exchange.Data.ByteQuantifiedSize.

  

  • Get-MailboxServer | .\get-databasesize.ps1 | where-object { $_.users –gt 495 }
  • Get-MailboxServer | where-object { $_.name –like “MBX5*” } | .\get-databasesize.ps1 | sort-object Users
  • .\get-databasesize.ps1 –servers MBX1,MBX2,MBX3 | sort-object Users | format-table


Script:


param([string[]] $servers)

$expectedType = "Microsoft.Exchange.Data.Directory.Management.MailboxServer"
$serverList = @()
$pipedInput = $false

foreach ($inputServer in $input) {

$pipedInput = $true
if ($inputServer.getType().fullname -eq $expectedType) {

$serverList += $inputServer.name

} else {

continue;

}

}

if (-not $pipedInput) {

if ($servers.count -gt 0) {

$serverList += $servers

} else {

$serverList += $env:computername

}

}

foreach ($server in $serverList) {

$dbs = @(get-mailboxdatabase -server $server -erroraction silentlycontinue)
$dbs += @(get-publicfolderdatabase -server $server -erroraction silentlycontinue)

foreach ($db in $dbs) {

$dbType = ""
$dbPath = $db.EdbFilePath -replace "\\","\\" # for use in the WMI filter
$dbSize = (get-wmiobject cim_logicalfile -computer $server -filter "name='$dbPath'" -property filesize).filesize
$dbSizeQ = new-object Microsoft.Exchange.Data.ByteQuantifiedSize $dbSize
$dbUserCount = 0

if ($db.getType().fullname -like "*PublicFolderDatabase") {

$dbType = "Public"

} else {

$dbType = "Private"
$dbUserCount = (get-mailbox -database $db -erroraction silentlycontinue).count

}

$retObj = new-object psobject
$retObj | add-member noteproperty -name "Server" -value $db.Server
$retObj | add-member noteproperty -name "Name" -value "$($db.StorageGroupName)\$($db.Name)"
$retObj | add-member noteproperty -name "Type" -value $dbType
$retObj | add-member noteproperty -name "Size" -value $dbSizeQ
$retObj | add-member noteproperty -name "Users" -value $dbUserCount
$retObj

}

}

Site

Changes
Index
Search

 

User

 

Log In
Register

 
 

Last Modified 12/12/07 5:22 AM