Get MailStore Size Exchange 2007

Get MailStore Size Exchange 2007

Get MailStore Size Exchange 2007
 
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
    }
}
 

0

收藏

黑鍋

25篇文章,4W+人氣,0粉絲

Ctrl+Enter 發佈

發佈

取消

掃一掃,領取大禮包

0

分享
黑鍋
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章