Sunday, April 24, 2011

MSExchangeIS EventID 1121 and 5000

I had an issue today where the Information Store service would not start on any Exchange 2010 server. When you went to start the Information Store service the following error appears:



Windows could not start the Microsoft Exchange Information Store on Local Computer. For more information, review the System Event Log. If this is a non-Microsoft service, contact the service vendor, and refer to service-specific error code -2147221233.

The following errors were appearing in my application log:



Error 0x8004010f connecting to Active Directory.



Unable to initialize the Microsoft Exchange Information Store service. - Error 0x8004010f.

If you experienced these errors you may not have the same problem! There is more then one cause for these error codes..

In my case these errors were occurring because there was no default recipient policy or email address policy. Recipient Policies were the name in Exchange 2000/2003. Email Address Policies are the new name under Exchange 2007/2010. They are the same class object in Active Directory and stored under the same location within the schema.

The default email address policy displays in Exchange System Manager or Exchange Management Console with a priority of Lowest. Each additional policy gets a priority of 1 upwards... 2, 3, 4, 5 etc. When Exchange processes the recipient policy it starts from the highest number an works its way down. Recipient policies have LDAP filters, if a match is made with the filter, the policy is applied. If a policy is applied to a user, no additional policies are processed.

When I went to Exchange Management Console I had a single "Default Policy" under my Email Address Policies, however it had a priority of 1, not "Lowest". No policy had a priority of "Lowest". No email address policy was the default! This was causing the information store not to mount.

I used ADSIEdit to set a default policy by connecting to the configuration partition. The policies located under:

CN=Recipient Policies\CN=\CN=Microsoft Exchange\CN=Services\CN=Configuration\DC=domain\DC=local

To set a policy as the default email address policy, configure the priority to be 2147483647. This value is hard coded into Exchange to be the default email address policy. This value needs to be associated with the msExchPolicyOrder attribute.



There is one more attribute that is also hard coded into Exchange, which enables a policy to become the default email address policy. That attribute is purportedSearch. This attribute must be set to (mailNickname=*).



Once these attributes were set correctly Exchange recognized an email address policy. The information store was now able to start on all servers after AD replication completed.

There is also a TechNet article that provides some information into this error:

http://technet.microsoft.com/en-us/library/bb885057.aspx

3 comments:

  1. Thanks for the post. I've run into a huge roadblock. After upgrading from exchange 2003 to 2010 I cannot edit the default email address policy. If I change the msExchPolicyOrder to 1 or 2 I can but then my information store crashes upon reboot. It appears my default email address policy is still linked some way to my old server even though it says it been update to 8.0xxxx . This also means offline address book generation is failing as well. How do I fix this?

    ReplyDelete
  2. This valuable writing was very intriguing to examine, I savored it considerably. I'm going now to mail it to my collegues to let all of them look over this too. Thank you greatly.
    hard drive crash recovery software

    ReplyDelete
  3. Thanks! I've been working with a dozen other fixes for this issue - yours was the only one I found that addressed this scenario (which happened to be my root cause.)

    Took 90 minutes to find your doc, and 3 minutes to fix. Great work!

    ReplyDelete