Print View

Outlook reports "Unable to open your default e-mail folders" when starting

Issue

When starting Outlook the user may get the following error message:

Unable to open your default e-mail folders. The Microsoft Exchange Computer is not available. Either there are network problems or the Microsoft Exchange Server is down for maintenance.


Checking the username in the Outlook Profile from the Mail Control Panel applet works as expected.

A similar error can be seen when trying to reconnect the user to their mailbox after it has been deleted:

/O=ORG/OU=SITE/cn=Recipients/cn=USER
This legacyExchangeDN value is already being used by 'CN=User,OU=External Contacts,DC=domain,DC=com'.
Facility: Exchange System Manager
ID no: c1034ad7

Resolution

This can be cased by a duplicate legacyExchangeDN, possibly caused by using the ADSI interface. Active Directory Users and Computers may add 8 digits to the username in the legacyExchangeDN to ensure uniqueness. The Recipient Update Service may add one digit to the username in the legacyExchangeDN to ensure uniqueness.

To fing the duplicate legacyExchangeDN:

In LDP examine the properties of the user with the issue and determine the users legacyExchangeDN e.g. /O=ORG/OU=SITE/cn=Recipients/cn=USER

In LDP:

- Select Browse | Search from the menu
- Enter the appropriate LDAP search e.g. (legacyExchangeDN=/O=ORG/OU=SITE/cn=Recipients/cn=USER)
- Click Options
- Ensure legacyExchangeDN ia added to the attributes e.g. objectClass;name;cn;ou;dc;distinguishedName;description;canonicalName;legacyExchangeDN;
- Click OK
- Click Run

The results will show the duplicate entries:
ldap_search_s(ld, "DC=domain,DC=com", 2, "(legacyExchangeDN=/O=ORG/OU=SITE/cn=Recipients/cn=USER)", attrList,  0, &msg)
Result <0>: (null)
Matched DNs: 
Getting 2 entries:
>> Dn: CN=User,OU=External Contacts,DC=domain,DC=com
	4> objectClass: top; person; organizationalPerson; contact; 
	1> cn: User; 
	1> distinguishedName: CN=User,OU=External Contacts,DC=domain,DC=com;
	1> name: User; 
	1> legacyExchangeDN: /O=ORG/OU=SITE/cn=Recipients/cn=USER; 
	1> canonicalName: domain.com/External Contacts/User; 
>> Dn: CN=Name, User,OU=Operations,DC=domain,DC=com
	4> objectClass: top; person; organizationalPerson; user; 
	1> cn: Name, User; 
	1> distinguishedName: CN=Name, User,OU=Operations,DC=domain,DC=com; 
	1> name: Name, User; 
	1> legacyExchangeDN: /O=ORG/OU=SITE/cn=Recipients/cn=USER; 
	1> canonicalName: domain.com/Operations/Name, User; 


In this case it can be seen that an imported contact has the same legacyExchangeDN as a user. To resolve the issue, use ADSIEdit to clear the contact.

In ADSIEdit:

- Right click on the contact and select Properties from the context menu
- Select legacyExchangeDN and click Edit
- Click Clear
- Click OK
- Click OK

The Recipient Update Service (RUS) should repopulate the legacyExchangeDN with a unique value in a matter of minutes.

If there is some reason not to resolve the duplicate legacyExchangeDN then the following workaround can be used:

From Active Directory Users and Computers on a server with the Exchange Admin Tools:

- Select the user
- Right click and select Properties
- Select the Exchange Advanced tab
- Click Mailbox Rights
- Ensure SELF has Associated external account checked
- Click OK

References

ADModify may be used to set multiple objects
http://technet.microsoft.com/en-us/library/aa996216.aspx

Use the following VBScript to dump the distinguishedName and the legacyExchangeDN:
Set objADsRootDSE = GetObject("GC://RootDSE") 
Set objADOConnection = CreateObject("ADODB.Connection")
objADOConnection.Open "Provider=ADsDSOObject;"
Set objADOCommand = CreateObject("ADODB.Command")
objADOCommand.ActiveConnection = objADOConnection
objADOCommand.CommandText = "<" & "GC://" & objADsRootDSE.Get("rootDomainNamingContext") & ">" & _
    ";(legacyExchangeDN=*);sAMAccountName,distinguishedName,Mail,sn,givenName,ADsPath,legacyExchangeDN;subtree" 
objADOCommand.Properties("Page Size") = 100000
objADOCommand.Properties("Sort On") = "legacyExchangeDN"
Set objADORecordset = objADOCommand.Execute
Do While Not objADORecordset.EOF
    Wscript.Echo Chr(34) & objADORecordset.Fields("distinguishedName") & Chr(34) & ", " & _
        objADORecordset.Fields("legacyExchangeDN")
    objADORecordset.MoveNext
Loop
objADOConnection.Close


To see more than 10,000 objects in ADSIEdit:

- Select the Domain node e.g. Domain [dc.domain.com]
- Select View | Filter from the menu
- Set the Max number of items per container
- Click OK


Products

Microsoft Outlook 2003
Microsoft Exchange Server 2003 (any)

Created: 18th March 2010
Updated: 18th March 2010

Print View

© 2005-2024 Jamie Morrison