Exchange 邮箱分析

Exchange 邮箱分析

我有几个用户的邮箱增长速度似乎比其他用户快得多。例如,我们归档了不到一年前某个特定用户的大量邮件,以便将他的邮箱缩减到大约 4GB(是的 - 我知道这很荒谬,但我们正在运行一个项目来实现自动归档/配额等)。

无论如何,我想知道是否有可用的工具(最好是免费的)来分析邮箱的附件数量/大小。类似 TreeSize 的工具,但适用于 Outlook OST(或甚至适用于服务器的源)。

(我们正在运行 Exchange 2003 SP2、Outlook 2010 客户端)

答案1

至于自由的产品:有很多OutlookFreeware.com 上用于创建报告和收集统计数据的工具我是开发者之一。特别是,附件报告最大的文件夹对你来说非常有用。

答案2

Exchange Server 2003 本身没有提供任何可以为您提供所需信息的功能,但整个行业都围绕 Exchange 管理和报告而建立。这只是可用的工具之一:

http://www.manageengine.com/products/exchange-reports/features.html

答案3

实际上,您可以通过 WMI 获取其中一些信息。

下面是我为了类似目的编写的 Perl 示例:

#! /usr/bin/env perl

use strict;
use warnings;
use Win32::OLE('in');

use constant wbemFlagReturnImmediately => 0x10;
use constant wbemFlagForwardOnly => 0x20;

print "Mailbox,Size (KB),Total Items,Last Logon Time,Last User\n";

my @computers = qw ( mailserver1 mailserver2 etc);  #array off all mail servers, separated by spaces
foreach my $computer (@computers) {
    my $objWMIService = Win32::OLE->GetObject("winmgmts:\\\\$computer\\root\\MicrosoftExchangeV2") or die "WMI connection failed.\n";
    my $colItems = $objWMIService->ExecQuery("SELECT * FROM Exchange_Mailbox", "WQL",
            wbemFlagReturnImmediately | wbemFlagForwardOnly);

    foreach my $objItem (in $colItems) {
        my $mailboxDisplayName = $objItem->{MailboxDisplayName} || "NULL";
        my $size = $objItem->{Size} || "NULL";
        my $totalItems = $objItem->{TotalItems} || "NULL";
        my $lastLogonTime = substr($objItem->{LastLogonTime},0,8) || "NULL";
        my $lastUser = $objItem->{LastLoggedOnUserAccount} || "NULL";

        #next unless $mailboxDisplayName;
        print "$mailboxDisplayName,$size,$totalItems,$lastLogonTime,$lastUser\n";
    }
}

您需要安装 perl 和 Win32::OLE 模块,但这非常简单。通过执行从命令行运行它perl scriptname.pl,并通过运行捕获到 .csv 文件perl scriptname.pl > report.csv

这个 WMI 类无法为您提供附件信息,但它可以为您提供消息数量和邮箱大小。

相关内容