Exporting Named Properties From Exchange Online Mailbox


An undocumented Exchange Online cmdlet came my way the other day – the “Get-MailboxExtendedProperty”. This returns all the named properties, or extended properties in the mailbox and can be exported to a file for review:

Get-MailboxExtendedProperty username | Export-CliXml MailboxExtendedProperties_username.xml

A mailbox should only have a few thousand of these, but if you get too many you exceed your named property quota and horrible things happen (Outlook wont open, you cannot send emails, etc.).

Using the above cmdlet to get the mailbox extended properties exported to a xml file, you can count the number of properties in your xml file:

$xml = Import-Clixml .\MailboxExtendedProperties_username.xml

$xml.PropertyType.Count

If this is in the region of closer to 10,000 rather than 5,000 then you might have issues. For example running the following PowerShell:

Get-MailboxfolderStatistics username -FolderScope RecoverableItems | ft identity,folderandsubfoldersize

Might return things like this:

Get-MailboxFolderStatistics: |Microsoft.Exchange.Configuration.CmdletProxyException|Error on proxy command 'Get-MailboxFolderStatistics -Identity:'username' -FolderScope:'RecoverableItems' -skipCount:'0' -resultSize:'1000'' to server SERVERNAME.namprd15.prod.outlook.com: Server version 15.20.7698.0000, Proxy method PSWS: InternalServerError:Internal server error : { "code": "InternalServerError", "message": "Internal server error", "innererror": {"message": "Internal server error", "type": "Microsoft.Exchange.Admin.OData.Core.ODataServiceException","stacktrace": "", "internalexception": { "message": "Cannot get ID from name.", "type":"Microsoft.Exchange.Data.Storage.QuotaExceededException", "stacktrace": "", "internalexception": {"message": "MapiExceptionNamedPropsQuotaExceeded: GetIdsFromNames operation has failed ...", "type":"Microsoft.Mapi.MapiExceptionNamedPropsQuotaExceeded", "stacktrace": "" } } },"adminapi.warnings@odata.type": "#Collection(String)", "@adminapi.warnings": [] }[Server=SERVERNAME,RequestId=GUID,TimeStamp=20/06/2024 15:56:34] .

Unfortunately, you cannot fix this yourself in Exchange Online and need to open a support case and get it pushed to the engineering team as fast as you can, because they need to run New-MoveRequest username -DoNotPreserveMailboxSignature to move the mailbox to a new database, and mere mortals not working for the Exchange Online team cannot run this cmdlet property on Online mailboxes.


Posted

in

, ,

by

Tags:

Comments

2 responses to “Exporting Named Properties From Exchange Online Mailbox”

  1. Erik avatar
    Erik

    Hi there!

    Thank you for this blog article, it helped me establish diagnostic criteria and the means to establish whether inboxes could be affected by named property induced sync issues in Outlook, for our relations.

    I work for a software vendor that offers a COM add-in for Outlook classic. In the past, earlier versions of the add-in created named properties with unique identifiers, resulting into issues for the user inboxes of our customers using the add-in: it simply resulted into to toomany properties, one for every received attachment, because of our add-in interacting with the mail item containg those attachments.

    Our recent versions do not actively create these properties anymore in this fashion, but somehow the legacy from the past started causing sync issues and mail items disappearing, over the last few months, at our customer’s user and shared inboxes. Perhaps Exchange Online changed something leading to the limits being applied differently – this is speculation, we do not understand this sudden impact.

    However, we established these named property excess to be the cause, and most of our affected customers only use Exchange Online. Surprisingly, my employer does not have a partnership with MSFT, and the European Exchange Online support team told me they could not help me with the commandlet you described, they referred me to free support email address premdevinfo@microsoft.com in order to move the inboxes to another database, shedding the named properties.

    They also mentioned that parties with a certain qualified partner could ask their partner for a more swift and efficient support route – my employer does not have such a partnership, but perhaps our customers do.

    Seeing you mention those Exchange Online engineers, it gives me the impression that you had some experience with this – if so, could you shed some light on which channel you used or what department you were in touch with? Perhaps this free email address is the way to go, but I’ve been told it could take 6 weeks or longer before they respond, and any reminder from my end would reset the timer. This is why we are still in the dark, we would like to pave the path for our customers as much as possible.

    Thanks in advance!

    1. Brian Reid avatar

      Hi Erik – I wonder who you work for..? I have a client with a COM add-in that is causing named property exhaustion and causing mailboxes to go over quota but we don’t know why, but the properties are named in the style of “X-__-OneThousandTwoHundredAndThree” where __ is two letters as the initials of the software product name. I wonder if this is the same piece of software or if this is happening to multiple vendors at the same time. If you want to let me know who you work for I’m interested in a conversation. You can email me or LinkedIn or DM me on Twitter (https://c7solutions.com/about). My client opened a support call to get the mailboxes moved and they require escalation for each support call to engineering to get it fixed.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.