Exchange 2013:Unable to apply retention policy or MRM on migrated mailboxes

Follow me We recently did a migration from Exchange 2010 to Exchange 2013, after moving the mailboxes to Exchange 2013 we realised that we are Unable to apply Retention Policy on Exchange 2013 for migrated mailboxes. Further investigation revealed that if MRM1.0 (Messaging Records Management) policy was applied on mailboxes while on Exchange 2010 or Exchange 2007 than the old policy will prevent MRM2.0 policy from getting applied once the mailboxes are migrated to Exchange 2013. Read more about MRM here Solution We have a couple of solutions to fix this issue 1) Move the problem mailbox back to Exchange 2010 or 2007 and remove the MRM 1.0 policy from the mailboxes using the following cmdlet  Set-Mailbox -Identity -RemoveManagedFolderAndPolicy Once the MRM policy is removed than move the mailbox back to Exchange 2013 and than apply the new MRM 2.0 2) The second solution we have is a little more technical but also very practical. When an MRM policy is applied on a user than user attribute “MsExchMailboxTemplateLink’ is updated with the distinguishedName of the Managed folder mailbox policy. And this attribute remains populated even when the mailbox/user is migrated to Exchange 2013.  So the solution is to access the problem user via adsiedit.msc and clear this attribute there. Once it is cleared than we should be able to apply the MRM 2.0 policy without any concern. If we do not want to move the user back to Exchange 2007 then in that case we can follow the below step. If the user is applied to any MRM 1.0 policy in Exchange 2007 then the attribute ‘MsExchMailboxTemplateLink’ is  populated with...

Exchange: Auto Forward emails missing Sender information

Follow me If a user setup an outlook rule to auto forward all the emails to some other user, than the end user cannot find out the original sender of the email. Solution Unfortunately none, this is by design and has been an issue since Exchange 2003 and is present uptil Exchange 2013, though there are a couple of workarounds to the issue 1) While creating the auto forward rule, select the option to Blind Carbon copy (BCC)the message to addresses” and provide the required recipient addresses 2) Or you can always modify the rule to forward the email as an attachment to required people or group Feel free to start a new thread on our forum to seek expert help. Follow me...

Exchange 2013:Exchange search not working:FAST endpoint experienced an exception

Follow me On one of our latest Exchange 2013 installation Outlook and OWA search wasn’t working, we also noticed the following event id on the exchange server Log Name:      Application
    Source:        MSExchangeFastSearch Date:          11/07/2014  11:38:12 PM
      Event ID:      1010 Task Category: General                             
Level:         Warning FAST endpoint experienced an exception. This operation may be retried. Error details:  An Exception was received during a FAST operation. —> System.ServiceModel.FaultException: error CS1548: Cryptographic failure while signing assembly ‘c:\Windows\Temp\uooxq03v.i3z\Microsoft.Exchange.Search.Writer.12.26.dll ‘ — ‘Error signing assembly — Unknown error (8013141c)’   After trying a few thing we executed Get-MailboxDatabaseCopyStatus cmdlet to find that the Content Index state is Unknown, to resolve the issue we added  full access permission for Administrators,Exchange Servers,Exchange Trusted Subsystems accounts on the following location. C:\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA\MachineKeys Rebooted the exchange server to resolve the issue. Feel free to report any new issue on our forum to seek expert help.   Follow me  ...

Office365: Accessing Shared Calendar error:We can’t complete this because we can’t contact the server right now

Follow me In recent past more than couple of customer reported the following error while trying to access the shared calendar on Office 365 with outlook 2013. We can’t complete this because we can’t contact the server right now. Please try again later Troubleshooting Step 1: Try accessing the same shared Calendar’s from OWA (Outlook Web Access , in case of office 365 the URL is Mail.office365.com), if you can view the required Shared Calendar there than the permissions should be all right. Step2: If unable to access the shared Calendar from OWA as well, than we need to validate the permission Step3: To check the permission, login to OWA as the user who is sharing the calendar, then go to calendar and right click on the calendar and click permissions. We should be able to see the permissions here, make sure the problem user has desired permissions here. Step4: If the desired permissions are missing than again right-click the required calendar and use the Share option this time, Share the calendar with problem user along with desired permissions Step5: Now that we have all the permissions in order and more importantly we can view the required calendar’s in OWA , but we still have the following Error in Outlook, follow the below steps           We can’t complete this because we can’t contact the server right now. Please try again later  Step6: Open outlook and go to calendars, right-click and delete all the shared calendars for which we are getting the above error. Step7: from the top menu, select open shared calendar and reopen the...

Exchange:NDR due to X500 address change Error:The email address you entered couldn’t be found

NDR with junk email address It is not uncommon that in Microsoft Exchange environment some times a user to whom uptill yesterday everyone was able to send the email, suddenly all the internal users start to get an NDR (Non Delivery Report) with a junk email address when trying to send email to the person. And If you are unlucky as me then that guy would always be some VVIP of the company 🙂 . we receive complain like some users are not able to send email to a particular user, and they get NDR as below: You might notice the user name is hyper linked and when you resolve it by pressing (Ctrl+Click) , new memo opens with junk email id. Example: Delivery has failed to these recipients or groups: Harish Chadda The email address you entered couldn’t be found. Please check the recipient’s email address and try to resend the message. If the problem continues, please contact your helpdesk. Diagnostic information for administrators: Generating server: CPUNEXCHOTZP14.xyx.itm IMCEAEX-_o=One+20Xyx+20Messaging_ou=Exchange+20Administrative+20Group+20+28FYDIBOHF23 SPDLT+29_cn=Recipients_cn=2b52ff2434754ff6b3ea72e2f0465c42-Vij@xyx.com Remote Server returned ‘550 5.1.1 RESOLVER.ADR.ExRecipNotFound; not found’ Cause: If you go behind the scene, you will find the tech team is not completely innocent in the case, some thing weird happened last night the original mailbox was deleted for the user and a new mailbox was created with the same SMTP address or something similar happened. This issue occurs because the value for the LegacyExchangeDN attribute changed. The auto-complete cache in Microsoft Outlook and in Microsoft Outlook Web App (OWA) uses the value of the LegacyExchangeDN attribute to route email messages internally. If the value changes, the delivery of email messages may fail with...

Exchange 2013:Mailbox Database dismount error :Store has encountered an internal logic error

Recently one of our Exchange 2013 RTM server was facing frequent Mailbox Database dismounts and every time the database was in dirty shutdown state, following event Id’s were reported Log Name:      Application Source:        MSExchangeIS Date:          5/3/2014 9:30:31 AM Event ID:      1001 Task Category: General Level:         Error Keywords:      Classic User:          N/A Computer:     Exchange.contoso.com Description: Microsoft Exchange Server Information Store has encountered an internal logic error. Internal error text is (Conversation already contains this message) with a call stack of (   at Microsoft.Exchange.Server.Storage.Common.ErrorHelper.AssertRetail(Boolean assertCondition, String message)    at Microsoft.Exchange.Server.Storage.LogicalDataModel.ConversationItem.AddMessage(Context context, FidMid fidMid)    at Microsoft.Exchange.Server.Storage.LogicalDataModel.Conversations.TrackConversationUpdateForMessageInsert(Context context, Mailbox mailbox, TopMessage message, ModifiedSearchFolders modifiedSearchFolders)    at Microsoft.Exchange.Server.Storage.LogicalDataModel.Conversations.TrackConversationUpdate(Context context, Mailbox mailbox, TopMessage message, LogicalOperation operation, ModifiedSearchFolders modifiedSearchFolders)    at Microsoft.Exchange.Server.Storage.LogicalDataModel.TopMessage.TrackUpdate(Context context, LogicalOperation operation)    at Microsoft.Exchange.Server.Storage.StoreCommonServices.ObjectPropertyBag.Flush(Context context)    at Microsoft.Exchange.Server.Storage.LogicalDataModel.Item.Flush(Context context)    at Microsoft.Exchange.Server.Storage.LogicalDataModel.Message.Flush(Context context)    at Microsoft.Exchange.Server.Storage.LogicalDataModel.Message.SaveChanges(Context context)    at Microsoft.Exchange.Server.Storage.LogicalDataModel.TopMessage.SaveChanges(Context context, SaveMessageChangesFlags flags)    at Microsoft.Exchange.Protocols.MAPI.MapiMessage.SaveChangesInternal(MapiContext context, MapiSaveMessageChangesFlags saveFlags, ExchangeId& newMid)    at Microsoft.Exchange.Protocols.MAPI.MapiMessage.SaveChanges(MapiContext context, MapiSaveMessageChangesFlags saveFlags, ExchangeId& newMid)    at Microsoft.Exchange.Server.Storage.MapiDisp.RopHandler.SaveChangesMessage(MapiContext context, MapiMessage message, SaveChangesMode saveChangesMode, SaveChangesMessageResultFactory resultFactory)    at Microsoft.Exchange.Server.Storage.MapiDisp.RopHandlerBase.SaveChangesMessage(IServerObject serverObject, SaveChangesMode saveChangesMode, SaveChangesMessageResultFactory resultFactory)    at Microsoft.Exchange.RpcClientAccess.Parser.RopSaveChangesMessage.InternalExecute(IServerObject serverObject, IRopHandler ropHandler, ArraySegment`1 outputBuffer)    at Microsoft.Exchange.RpcClientAccess.Parser.InputRop.Execute(IConnectionInformation connection, IRopDriver ropDriver, ServerObjectHandleTable handleTable, ArraySegment`1 outputBuffer)    at Microsoft.Exchange.RpcClientAccess.Parser.RopDriver.ExecuteRops(List`1 inputArraySegmentList, ServerObjectHandleTable serverObjectHandleTable, ArraySegment`1 outputBuffer, Int32 outputIndex, Int32 maxOutputSize, Boolean isOutputBufferMaxSize, Int32& outputSize, AuxiliaryData auxiliaryData, Boolean isFake, Byte[]& fakeOut)    at Microsoft.Exchange.RpcClientAccess.Parser.RopDriver.Execute(ArraySegment`1[] inputBufferArray, ArraySegment`1 outputBuffer, Int32& outputSize, AuxiliaryData auxiliaryData, Boolean isFake, Byte[]& fakeOut)    at Microsoft.Exchange.Server.Storage.MapiDisp.MapiRpc.<>c__DisplayClass9.<DoRpc>b__6(MapiContext operationContext, MapiSession& session, Boolean& deregisterSession, AuxiliaryData auxiliaryData)    at Microsoft.Exchange.Server.Storage.MapiDisp.MapiRpc.Execute(IExecutionDiagnostics executionDiagnostics, MapiContext outerContext, String functionName, Boolean isRpc, IntPtr& contextHandle, Boolean tryLockSession, String userDn, Int32 sizeInMegabytes, ArraySegment`1 auxIn, ArraySegment`1 auxOut, Int32& sizeAuxOut, ExecuteDelegate executeDelegate)...