Retention Policies are not applying to some users in pilot group


  • I've created two retention policies containing tags to delete email older than one year or two years.  I applied the one year policy to the bulk of my test group, about 15 mailboxes, and the two year policy to two mailboxes.

    The retention policy was applied to these mailboxes this past Friday, and still has not taken effect on some of the mailboxes in the text group still on Tuesday.

    I've used start-managedfolderassistant against these mailboxes to no effect.  

    I tried adding a day to the work cycle: Set-MailboxServer MyMailboxServer -ManagedFolderWorkCycle 2

    Checked for each of the events by filtering the event log here and didn't find anything in the error or warning category.

    Tuesday, April 17, 2018 3:24 PM

All replies

  •  If mailboxes with retention policies don't have retention tags linked to them, this may cause mailbox items to never expire.

    You can only apply one retention policy pr mailbox, can you confirm that both of your retention policy has valid retention tags?

    Please mark as helpful if you find my contribution useful or as an answer if it does answer your question. That will encourage me - and others - to take time out to help you. Thank you! Off2work

    Tuesday, April 17, 2018 4:48 PM
  • Yes, the retention policies have valid tags.  As mentioned, the retention policy is applying to some users but not others.
    Tuesday, April 17, 2018 8:03 PM
  • Hi Brandon,

    Please check if the policy had been applied to the mailbox successfully:

    Get-Mailbox Username |fl name,retentionpolicy

    If not, you need to apply the policy to the mailbox and check again:

    Set-mailbox UserName -RetentionPolicy "Policy Name"

    Best Regards,
    Niko Cheng

    Please remember to mark the replies as answers if they helped. If you have feedback for TechNet Subscriber Support, contact

    Click here to learn more. Visit the dedicated forum to share, explore and talk to experts about Microsoft Teams.

    Wednesday, April 18, 2018 7:24 AM
  • Yes, the policy is applied correctly to the mailbox.

    I've found that if I move a mailbox with the issue to a newly created test database, and then apply the retention policy it seems to work.  If I move the mailbox from one database to another preexisting database that is replicated in our DAG, it still does not work.  I've tried mailbox repair as well and that doesn't fix it.    I'm not seeing warnings like this:

    Service MSExchangeMailboxAssistants. Unable to open a session to mailbox Firstname Lastname (9d0ad2db-4fb1-47c8-b170-96cb4f007b4b) for tenant 00000000-0000-0000-0000-000000000000 on server MIMAIL01A-PVW.domain.local database MBDB16 (fa4566f1-3418-4bd7-b31e-392459467db1). The following exception caused the failure: Microsoft.Exchange.Assistants.AIMailboxInTransitException ---> Microsoft.Exchange.Data.Storage.MailboxInTransitException: Cannot open mailbox /o=Caiden Enterprises/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Configuration/cn=Servers/cn=MIMAIL01A-PVW/cn=Microsoft System Attendant. ---> Microsoft.Mapi.MapiExceptionMailboxInTransit: MapiExceptionMailboxInTransit: Unable to open message store. (hr=0x80004005, ec=1292)
    Diagnostic context:
        Lid: 55847   EMSMDBPOOL.EcPoolSessionDoRpc called [length=175]
        Lid: 43559   EMSMDBPOOL.EcPoolSessionDoRpc returned [ec=0x0][length=232][latency=0]
        Lid: 52176   ClientVersion: 15.0.1347.5
        Lid: 50032   ServerVersion: 15.0.1347.6005
        Lid: 23226   --- ROP Parse Start ---
        Lid: 27962   ROP: ropLogon [254]
        Lid: 17082   ROP Error: 0x50C     
        Lid: 26937  
        Lid: 21921   StoreEc: 0x50C     
        Lid: 27962   ROP: ropExtendedError [250]
        Lid: 1494    ---- Remote Context Beg ----
        Lid: 50608  
        Lid: 57400   StoreEc: 0x50C     
        Lid: 56872   dwParam: 0xFE
        Lid: 42712   StoreEc: 0x50C     
        Lid: 10786   dwParam: 0x0        Msg: 15.00.1347.000:MIMAIL01A-PVW
        Lid: 1750    ---- Remote Context End ----
        Lid: 26849  
        Lid: 21817   ROP Failure: 0x50C     
        Lid: 26297  
        Lid: 16585   StoreEc: 0x50C     
        Lid: 32441  
        Lid: 1706    StoreEc: 0x50C     
        Lid: 24761  
        Lid: 20665   StoreEc: 0x50C     
        Lid: 25785  
        Lid: 29881   StoreEc: 0x50C     
       at Microsoft.Mapi.MapiExceptionHelper.InternalThrowIfErrorOrWarning(String message, Int32 hresult, Boolean allowWarnings, Int32 ec, DiagnosticContext diagCtx, Exception innerException)
       at Microsoft.Mapi.MapiExceptionHelper.ThrowIfError(String message, Int32 hresult, IExInterface iUnknown, Exception innerException)
       at Microsoft.Mapi.ExRpcConnection.OpenMsgStore(OpenStoreFlag storeFlags, String mailboxDn, Guid mailboxGuid, Guid mdbGuid, String& correctServerDn, ClientIdentityInfo clientIdentityAs, String userDnAs, Boolean unifiedLogon, String applicationId, Byte[] tenantHint, CultureInfo cultureInfo)
       at Microsoft.Mapi.MapiStore.OpenMapiStore(String serverDn, String userDn, String mailboxDn, Guid guidMailbox, Guid guidMdb, String userName, String domainName, String password, String httpProxyServerName, ConnectFlag connectFlags, OpenStoreFlag storeFlags, CultureInfo cultureInfo, Boolean wantRedirect, String& correctServerDN, ClientIdentityInfo clientIdentity, Boolean unifiedLogon, String applicationId, Client xropClient, Boolean wantWebServices, Byte[] clientSessionInfo, TimeSpan connectionTimeout, TimeSpan callTimeout, Byte[] tenantHint)
       at Microsoft.Mapi.MapiStore.OpenMailbox(String serverDn, String userDn, Guid guidMailbox, Guid guidMdb, String userName, String domainName, String password, ConnectFlag connectFlags, OpenStoreFlag storeFlags, CultureInfo cultureInfo, WindowsIdentity windowsIdentity, String applicationId, Byte[] tenantPartitionHint, Boolean unifiedLogon)
       at Microsoft.Exchange.Data.Storage.MailboxSession.ForceOpen(MapiStore linkedStore, Boolean unifiedSession)
       --- End of inner exception stack trace ---
       at Microsoft.Exchange.Data.Storage.MailboxSession.ForceOpen(MapiStore linkedStore, Boolean unifiedSession)
       at Microsoft.Exchange.Data.Storage.MailboxSession.Initialize(MapiStore linkedStore, LogonType logonType, IExchangePrincipal owner, DelegateLogonUser delegateUser, Object identity, OpenMailboxSessionFlags flags, GenericIdentity auxiliaryIdentity, Boolean unifiedSession)
       at Microsoft.Exchange.Data.Storage.MailboxSession.<>c__DisplayClass1c.<CreateMailboxSession>b__1a(MailboxSession mailboxSession)
       at Microsoft.Exchange.Data.Storage.MailboxSession.InternalCreateMailboxSession(LogonType logonType, IExchangePrincipal owner, DelegateLogonUser delegatedUser, CultureInfo cultureInfo, String clientInfoString, IBudget budget, Action`1 initializeMailboxSession, InitializeMailboxSessionFailure initializeMailboxSessionFailure, MailboxSessionSharableDataManager sharedDataManager)
       at Microsoft.Exchange.Data.Storage.MailboxSession.ConfigurableOpen(IExchangePrincipal mailbox, MailboxAccessInfo accessInfo, CultureInfo cultureInfo, String clientInfoString, LogonType logonType, PropertyDefinition[] mailboxProperties, InitializationFlags initFlags, IList`1 foldersToInit, IBudget budget, Boolean unifiedSession, MailboxSessionSharableDataManager sharedDataManager, UnifiedGroupMemberType memberType)
       at Microsoft.Exchange.Data.Storage.MailboxSession.OpenAsAdmin(IExchangePrincipal mailboxOwner, MailboxAccessInfo accessInfo, LogonType logonType, CultureInfo cultureInfo, String clientInfoString, Boolean useLocalRpc, Boolean ignoreHomeMdb, Boolean recoveryDatabase, Boolean allowAdminLocalization, Boolean readOnly)
       at Microsoft.Exchange.Data.Storage.MailboxSession.OpenAsAdmin(IExchangePrincipal mailboxOwner, CultureInfo cultureInfo, String clientInfoString, Boolean useLocalRpc, Boolean ignoreHomeMdb, Boolean readOnly)
       at Microsoft.Exchange.Assistants.DatabaseInfo.GetMailbox(ExchangePrincipal principal, ClientType clientType, String actionInfo)
       at Microsoft.Exchange.Assistants.MailboxDispatcher.CreateMailboxSession()
       at Microsoft.Exchange.Assistants.MailboxDispatcher.<ConnectMailboxSession>b__3()
       at Microsoft.Exchange.Assistants.MailboxDispatcher.<>c__DisplayClassa.<InvokeAndMapException>b__8()
       at Microsoft.Exchange.Assistants.Util.<>c__DisplayClass1.<CoreCatchMeIfYouCan>b__0()
       --- End of inner exception stack trace ---
       at Microsoft.Exchange.Assistants.Util.TraceAndThrow(CatchMe function, AIException aiException, String nonLocalizedAssistantName)
       at Microsoft.Exchange.Assistants.Util.CatchMeIfYouCan(CatchMe function, String nonLocalizedAssistantName)
       at Microsoft.Exchange.Assistants.Base.CatchMeIfYouCan(CatchMe function, String nonLocalizedAssistantName)
       at Microsoft.Exchange.Assistants.MailboxDispatcher.InvokeAndMapException(OpenMailboxDelegate method, String nonLocalizedAssistantName)

    Thursday, April 19, 2018 1:00 PM
  • We had just upgraded backup software on the server and backups were failing at the time.  It turned out the Health Monitor for disk space was causing the Mailbox Assistants to not run while triggered.
    Thursday, May 17, 2018 1:36 PM