Get-MailboxStatistics commands take high time and cpu usages RRS feed

  • Question

  • Hi

    I am trying to get user mailbox information on exchange server. For getting user information I am using 'Get-MailboxStatistics' powershell command in my application.  But it takes too much time and CPU usages to retrieve information about all mailboxes (as no. of mailboxes are high in number ~14000).

    So is there any way where I can get information about only those mailboxes whose ItemCount, Size etc. properties are modified from last collection instance?

    Can I use pulling mechanism?


    Tuesday, May 29, 2012 9:37 AM

All replies

  • No there is no -Filter parameter for that cmdlet, the reason your getting high CPU is more likely due to the way your running the cmdlet eg just requesting the whole 14000 mailboxes at once isn't the best thing to do. Eg the most efficient way would be make several requests using the -Database parameter so your effectively batching the request. This will should mean in a multi-server environment each request only needs to be fulfilled by one server and the batch size should be manageable based on the number of Mailboxes per database.

    The other thing would be test if using GetMailboxTable is any quicker/better eg http://support.microsoft.com/kb/200160 you could test this in a Mapi editor like MFCMapi or OutlookSpy


    Wednesday, May 30, 2012 6:22 AM
  • I tried to use MAPI. But MAPI API's are not working in Exchange Server 2010.


    Wednesday, May 30, 2012 6:46 AM
  • MAPI isn't installed locally on a Exchange 2010 Server but you should be able to test it from any client that has Outlook installed.


    Wednesday, May 30, 2012 7:02 AM