Answered by:
Exchange 2010, Demoted 2003 DC

Question
-
I have a Windows 2003 server domain with Exchange 2003. So I installed Exchange 2010 and migrated everything from Exchange 2003. Everything went great. Next i installed a Windows 2008 server, promoted it, and moved all the FSMO roles over. (By the way I have 2 DCs) Next day, I demote the WIndows 2003 server that had the FSMO roles. Now Exchange I can send and connect to my mailboxes, Here are the errors I get:
(PID 6592, Thread 5) Task Get-OrganizationConfig throwing terminating exception at stage Microsoft.Exchange.Data.Directory.ADTransientException: An error caused a change in the current set of domain controllers.. Exception: {5d1e6e09-737e-4594-9e8f-a6be18dfb0ba}
(PID 6852, Thread 17) Task Get-ExchangeServer throwing terminating exception at stage Microsoft.Exchange.Data.Directory.ADTransientException: An error caused a change in the current set of domain controllers.. Exception: {76e91455-371b-427c-8d43-6909cfda8dec}
Log Name: Application
Source: MSExchange Configuration Cmdlet - Remote Management
Date: 12/13/2009 10:09:50 PM
Event ID: 4
Task Category: General
Level: Error
Keywords: Classic
User: N/A
Computer: ********
Description:
(PID 6852, Thread 7) Task Get-OrganizationalUnit writing error when processing record of index 0. Error: Microsoft.Exchange.Data.Directory.SuitabilityDirectoryException: An Active Directory error 0x51 occurred when trying to check the suitability of server OLD-DC. Error: 'Active directory response: The LDAP server is unavailable.' ---> System.DirectoryServices.Protocols.LdapException: The LDAP server is unavailable.
at System.DirectoryServices.Protocols.LdapConnection.Connect()
at System.DirectoryServices.Protocols.LdapConnection.BindHelper(NetworkCredential newCredential, Boolean needSetCredential)
at Microsoft.Exchange.Data.Directory.SuitabilityVerifier.CreateConnectionAndBind(String fqdn, Int32 portNumber, NetworkCredential credential)
--- End of inner exception stack trace ---
at Microsoft.Exchange.Data.Directory.SuitabilityVerifier.CreateConnectionAndBind(String fqdn, Int32 portNumber, NetworkCredential credential)
at Microsoft.Exchange.Data.Directory.SuitabilityVerifier.IsServerSuitable(String fqdn, Boolean isGlobalCatalog, NetworkCredential credential, String& writableNC, LocalizedString& errorMessage)
at Microsoft.Exchange.Data.Directory.ConnectionPoolManager.GetConnection(ConnectionType connectionType, ADObjectId domain, String serverName, Int32 port, NetworkCredential credential)
at Microsoft.Exchange.Data.Directory.ConnectionPoolManager.GetConnection(ConnectionType connectionType, NetworkCredential networkCredential, String serverName, Int32 port)
at Microsoft.Exchange.Data.Directory.ADSession.GetConnection(String preferredServer, Boolean isWriteOperation, Boolean isNotifyOperation, String optionalBaseDN, ADObjectId& rootId, ADScope scope)
at Microsoft.Exchange.Data.Directory.ADSession.GetReadConnection(String preferredServer, ADObjectId& rootId, ADRawEntry scopeDeteriminingObject)
at Microsoft.Exchange.Data.Directory.ADGenericReader.GetNextResultCollection(Type controlType, DirectoryControl& responseControl)
at Microsoft.Exchange.Data.Directory.ADPagedReader`1.GetNextResultCollection()
at Microsoft.Exchange.Data.Directory.ADGenericPagedReader`1.GetNextPage()
at Microsoft.Exchange.Data.Directory.ADGenericPagedReader`1.<GetEnumerator>d__4.MoveNext()
at Microsoft.Exchange.Data.Directory.ADSession.ReadMultiple[TKey,TData](TKey[] keys, ADObjectId rootId, Converter`2 filterBuilder, QueryFilter commonFilter, HashInserter`1 hashInserter, HashLookup`2 hashLookup, IEnumerable`1 properties, List`1 results)
at Microsoft.Exchange.Data.Directory.ADSession.ReadMultiple[TKey,TData](TKey[] keys, ADObjectId rootId, Converter`2 filterBuilder, QueryFilter commonFilter, HashInserter`1 hashInserter, HashLookup`2 hashLookup, IEnumerable`1 properties)
at Microsoft.Exchange.Data.Directory.ADSession.ReadMultiple[TKey,TData](TKey[] keys, Converter`2 filterBuilder, HashInserter`1 hashInserter, HashLookup`2 hashLookup, IEnumerable`1 properties)
at Microsoft.Exchange.Data.Directory.SystemConfiguration.ADSystemConfigurationSession.ReadMultiple[TResult](ADObjectId[] identities)
at Microsoft.Exchange.Data.Directory.SystemConfiguration.ADForest.FindDomains(Boolean topLevelOnly)
at Microsoft.Exchange.Data.Directory.SystemConfiguration.ExtendedOrganizationalUnit.FindSubTreeChildOrganizationalUnit(Boolean includeContainers, ADSystemConfigurationSession session, ADObjectId rootId, QueryFilter preFilter)
at Microsoft.Exchange.Configuration.Tasks.ExtendedOrganizationalUnitIdParameter.PerformSearch[T](QueryFilter filter, ADObjectId rootId, ADSession session, Boolean deepSearch)
at Microsoft.Exchange.Configuration.Tasks.ADIdParameter.PerformPrimarySearch[T](QueryFilter filter, ADObjectId rootId, ADSession session, Boolean deepSearch, OptionalIdentityData optionalData)
at Microsoft.Exchange.Configuration.Tasks.ADIdParameter.GetObjectsInOrganization[T](String identityString, ADObjectId rootId, ADSession session, OptionalIdentityData optionalData)
at Microsoft.Exchange.Configuration.Tasks.ADIdParameter.GetObjects[T](ADObjectId rootId, ADSession session, ADSession subTreeSession, OptionalIdentityData optionalData, Nullable`1& notFoundReason)
at Microsoft.Exchange.Configuration.Tasks.ADIdParameter.GetObjects[T](ObjectId rootId, IConfigDataProvider session, OptionalIdentityData optionalData, Nullable`1& notFoundReason)
at Microsoft.Exchange.Configuration.Tasks.DataAccessTask`1.GetDataObjects[TObject](IIdentityParameter id, IConfigDataProvider session, ObjectId rootID, OptionalIdentityData optionalData, Nullable`1& notFoundReason)
at Microsoft.Exchange.Configuration.Tasks.GetObjectWithIdentityTaskBase`2.InternalProcessRecord()
at Microsoft.Exchange.Management.SystemConfigurationTasks.GetOrganizationalUnit.InternalProcessRecord()
at Microsoft.Exchange.Configuration.Tasks.Task.ProcessRecord()
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="MSExchange Configuration Cmdlet - Remote Management" />
<EventID Qualifiers="49152">4</EventID>
<Level>2</Level>
<Task>1</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2009-12-14T03:09:50.000000000Z" />
<EventRecordID>4713</EventRecordID>
<Channel>Application</Channel>
<Computer>********</Computer>
<Security />
</System>
<EventData>
<Data>6852</Data>
<Data>7</Data>
<Data>Get-OrganizationalUnit</Data>
<Data>0</Data>
<Data>Microsoft.Exchange.Data.Directory.SuitabilityDirectoryException: An Active Directory error 0x51 occurred when trying to check the suitability of server OLD-DC. Error: 'Active directory response: The LDAP server is unavailable.' ---> System.DirectoryServices.Protocols.LdapException: The LDAP server is unavailable.
at System.DirectoryServices.Protocols.LdapConnection.Connect()
at System.DirectoryServices.Protocols.LdapConnection.BindHelper(NetworkCredential newCredential, Boolean needSetCredential)
at Microsoft.Exchange.Data.Directory.SuitabilityVerifier.CreateConnectionAndBind(String fqdn, Int32 portNumber, NetworkCredential credential)
--- End of inner exception stack trace ---
at Microsoft.Exchange.Data.Directory.SuitabilityVerifier.CreateConnectionAndBind(String fqdn, Int32 portNumber, NetworkCredential credential)
at Microsoft.Exchange.Data.Directory.SuitabilityVerifier.IsServerSuitable(String fqdn, Boolean isGlobalCatalog, NetworkCredential credential, String& writableNC, LocalizedString& errorMessage)
at Microsoft.Exchange.Data.Directory.ConnectionPoolManager.GetConnection(ConnectionType connectionType, ADObjectId domain, String serverName, Int32 port, NetworkCredential credential)
at Microsoft.Exchange.Data.Directory.ConnectionPoolManager.GetConnection(ConnectionType connectionType, NetworkCredential networkCredential, String serverName, Int32 port)
at Microsoft.Exchange.Data.Directory.ADSession.GetConnection(String preferredServer, Boolean isWriteOperation, Boolean isNotifyOperation, String optionalBaseDN, ADObjectId& rootId, ADScope scope)
at Microsoft.Exchange.Data.Directory.ADSession.GetReadConnection(String preferredServer, ADObjectId& rootId, ADRawEntry scopeDeteriminingObject)
at Microsoft.Exchange.Data.Directory.ADGenericReader.GetNextResultCollection(Type controlType, DirectoryControl& responseControl)
at Microsoft.Exchange.Data.Directory.ADPagedReader`1.GetNextResultCollection()
at Microsoft.Exchange.Data.Directory.ADGenericPagedReader`1.GetNextPage()
at Microsoft.Exchange.Data.Directory.ADGenericPagedReader`1.<GetEnumerator>d__4.MoveNext()
at Microsoft.Exchange.Data.Directory.ADSession.ReadMultiple[TKey,TData](TKey[] keys, ADObjectId rootId, Converter`2 filterBuilder, QueryFilter commonFilter, HashInserter`1 hashInserter, HashLookup`2 hashLookup, IEnumerable`1 properties, List`1 results)
at Microsoft.Exchange.Data.Directory.ADSession.ReadMultiple[TKey,TData](TKey[] keys, ADObjectId rootId, Converter`2 filterBuilder, QueryFilter commonFilter, HashInserter`1 hashInserter, HashLookup`2 hashLookup, IEnumerable`1 properties)
at Microsoft.Exchange.Data.Directory.ADSession.ReadMultiple[TKey,TData](TKey[] keys, Converter`2 filterBuilder, HashInserter`1 hashInserter, HashLookup`2 hashLookup, IEnumerable`1 properties)
at Microsoft.Exchange.Data.Directory.SystemConfiguration.ADSystemConfigurationSession.ReadMultiple[TResult](ADObjectId[] identities)
at Microsoft.Exchange.Data.Directory.SystemConfiguration.ADForest.FindDomains(Boolean topLevelOnly)
at Microsoft.Exchange.Data.Directory.SystemConfiguration.ExtendedOrganizationalUnit.FindSubTreeChildOrganizationalUnit(Boolean includeContainers, ADSystemConfigurationSession session, ADObjectId rootId, QueryFilter preFilter)
at Microsoft.Exchange.Configuration.Tasks.ExtendedOrganizationalUnitIdParameter.PerformSearch[T](QueryFilter filter, ADObjectId rootId, ADSession session, Boolean deepSearch)
at Microsoft.Exchange.Configuration.Tasks.ADIdParameter.PerformPrimarySearch[T](QueryFilter filter, ADObjectId rootId, ADSession session, Boolean deepSearch, OptionalIdentityData optionalData)
at Microsoft.Exchange.Configuration.Tasks.ADIdParameter.GetObjectsInOrganization[T](String identityString, ADObjectId rootId, ADSession session, OptionalIdentityData optionalData)
at Microsoft.Exchange.Configuration.Tasks.ADIdParameter.GetObjects[T](ADObjectId rootId, ADSession session, ADSession subTreeSession, OptionalIdentityData optionalData, Nullable`1& notFoundReason)
at Microsoft.Exchange.Configuration.Tasks.ADIdParameter.GetObjects[T](ObjectId rootId, IConfigDataProvider session, OptionalIdentityData optionalData, Nullable`1& notFoundReason)
at Microsoft.Exchange.Configuration.Tasks.DataAccessTask`1.GetDataObjects[TObject](IIdentityParameter id, IConfigDataProvider session, ObjectId rootID, OptionalIdentityData optionalData, Nullable`1& notFoundReason)
at Microsoft.Exchange.Configuration.Tasks.GetObjectWithIdentityTaskBase`2.InternalProcessRecord()
at Microsoft.Exchange.Management.SystemConfigurationTasks.GetOrganizationalUnit.InternalProcessRecord()
at Microsoft.Exchange.Configuration.Tasks.Task.ProcessRecord()</Data>
<Data>{c929bf2f-1e14-4124-81e0-1c321186a1f4}</Data>
</EventData>
</Event>Saturday, January 30, 2010 5:57 AM
Answers
-
When do you receive the error event, launch the EMC/EMS?
Please right-click the “Organization Configuration” (EMC) and choose “Configuration Domain Controller”, select “Specify a Domain controller” and chose the domain and DC
A corrupted local profile for administrator account on the server could cause similar symptom, please rename the existing profile and create a new one, see if the issue still persists
Please logon with a new account, see if the issue still persists
James Luo
TechNet Subscriber Support (http://technet.microsoft.com/en-us/subscriptions/ms788697.aspx)
If you have any feedback on our support, please contact tngfb@microsoft.comMonday, February 1, 2010 6:13 AM
All replies
-
same error here, anyone?
i've read that you need to delete some leftover entry using adsiedit, but noone said which or where..Sunday, January 31, 2010 8:02 PM -
When do you receive the error event, launch the EMC/EMS?
Please right-click the “Organization Configuration” (EMC) and choose “Configuration Domain Controller”, select “Specify a Domain controller” and chose the domain and DC
A corrupted local profile for administrator account on the server could cause similar symptom, please rename the existing profile and create a new one, see if the issue still persists
Please logon with a new account, see if the issue still persists
James Luo
TechNet Subscriber Support (http://technet.microsoft.com/en-us/subscriptions/ms788697.aspx)
If you have any feedback on our support, please contact tngfb@microsoft.comMonday, February 1, 2010 6:13 AM -
I have exacyly the same problem as described here, same errors.
I applyed what you proposed, (removing profile + Specifying manually a DC) but it didn't help !
Please help
Tuesday, July 20, 2010 1:32 AM -
After some research I found a more explicit (but not fully explicit) resolution associated to the "corrupt profile" response. File C:\Users\%username%\AppData\Roaming\Microsoft\MMC\Exchange Management Console contains the potential root cause to this issue. I don't know specifically which portion of the file is causing the issue (I didn't try and translate the binary blobs), but removing the file resolved the issue for me. My event logs clearly showed that EMC was trying to access the old/removed DC.
- Proposed as answer by JpMacAlamo Wednesday, November 10, 2010 4:10 PM
Wednesday, July 21, 2010 6:33 AM -
I received this error on Exch 2010 after removing one of the DC's. Changing the - “Configuration Domain Controller”, select “Specify a Domain controller”- did not solve the issue but removing the Exchange Mgt Console file per ITWoodshed solved the problem for me.
Thanks ITW
Wednesday, November 10, 2010 4:14 PM -
removing the Exchange Mgt Console file per ITWoodshed workedfor me too.
Thanks a ton ITWoodshed
Chanchal SharmaThursday, December 1, 2011 8:23 AM -
Thanks. I've been living with this for a while. I came across your reply and gave it a shot. Logged on with another username (with domain admin rights). Deleted the local profile of the old admin I had been logging in with. Then, I logged off and logged back in with the old admin username again. The profile got recreated and, when I went back to Exchange admin, all errors were gone. I even was able to get my Global Address book to start syncing again.
Yay!
Thanks James.
"MC"
Wednesday, March 14, 2012 7:11 PM -
restarting AD Topology Service also does the trickWednesday, September 19, 2012 6:17 AM