
ファイル共有の「フォルダー サイズ」タイプのツールに似た、Exchange メールボックスの使用状況を分析できるツール (できれば無料) を探しています。メールボックス (アイテム、カレンダー、タスクなど) で消費されるスペースや、どのような添付ファイル (doc、xls、mp3 など) が存在するかを確認できるようにしたいと思います。
何かおすすめはありますか?
答え1
Powershell で個々のフォルダー サイズ (カレンダー、タスクなど) を取得するために何かを書くことは間違いなく可能ですが、添付ファイルの種類についてはよくわかりません。
特定のフォルダーに焦点を合わせるには -FolderScope パラメーターを使用します。calendar の場合は次のようになります。
Get-MailboxFolderStatistics -Identity $user -FolderScope "Calendar"
|select FolderAndSubfolderSize
これらの呼び出しをいくつか組み合わせて、すべてのフォルダーのサイズを取得できます。
答え2
あなたが話しているようなことを実行する可能性のあるスクリプトを簡単に検索すると、いくつかのヒットが見つかりました。
- http://gsexdev.blogspot.com/2005/08/mailbox-attachment-auditing-script.html
- http://cwashington.netreach.net/depo/view.asp?Index=445&ScriptType=vbscript
どちらも古いものですが、改造して形を整える余地があるようです。
最初のものは興味深いので、分解して顧客サイトのE2K7サーバーに対してどのように動作するか見てみようと思います。(コードはひどい読みにくいし、スペルミスもいくつかあるが、少し整えればおそらく勝てると思う。少なくとも、これを擬似コードとして使用して自分で書くつもりだ...)
ところで、\.\BackOfficeStorage メカニズムを使用して Exchange ストアにアクセスする、ネット上で見つかったスクリプトは、E2K7 では動作しません。
答え3
使用
Get-MailboxStatistics -Database "mailbox database" | Sort -Property DisplayName | ft DisplayName, @{expression={$_.totalitemsize.value.ToMB()};label="Mailbox Size(MB)"}, itemcount, lastlogontime, lastlogofftime,lastloggedonuseraccount
ボーナスとして、表示名で並べ替えます
データベース名を指定したくない場合は:
get-mailbox | get-mailboxstatistics | select-object DisplayName,TotalItemSize,StorageLimitStatus,LastLogonTime
添付ファイルの種類とサイズは興味深い質問です。各メッセージを調べなくてもそれが可能かどうか確認する必要があります。メッセージごとに行う必要がある場合は、コンプライアンスの問題がない限り、労力に見合う価値はないと思います (ただし、その場合はトランスポート ルールの作成を開始することをお勧めします)。