Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Exchange Management Console을 통해서 우리는 다양한 Exchange 관련 Operation을 할 수 있습니다.
한 ORG 내에서 여러 DC가 존재하는 경우, 그 사이트내의 GC를 automatic 하게 Detect 해서 관련 AD 정보와 사용자 정보를 읽어 오도록 디자인 되어 있습니다.
하지만, 간혹 여러 DC 중에 특정 DC 에 문제가 있거나 또는 서버 Fail로 인해서 Turn off 를 하거나 Dcpromo 과정을 통해서 DC 리스트에서 EVICT 하는 경우가 있습니다.
이럴 경우, EMC 의 각 세 개의 Node, 가령, Orgnization configuration/Server Configuration/Recipient Configuration 에서 특정 DC를 바라 보도록 지정하거나, 아래 명령어를 통해서 그 설정을 할 수 있습니다.
Set-ExchangeServer "ExchangeServerName" -StaticDomainControllers $Null -StaticGlobalCatalogs “DC1-XXX.smas-aaa.com"
Set-ExchangeServer "ExchangeServerName" -StaticDomainControllers $Null -StaticConfigDomainController “DC1-XXX.smas-aaa.com"
이렇게 정상적이면서 현재 Acting중인 DC 만 바라보도록 설정했음에도 불구하고, 여전히 mailbox move 등 EMC에서 특정 Operation을 하면, 다음과 같은 에러가 발생하면서, 여전히 demoted 된 DC 또는 Turn off 된 DC를 바라보는 경우가 있습니다.
로그 이름: Application
원본: MSExchange Configuration Cmdlet - Remote Management
날짜: 2010-03-25 오후 2:46:26
이벤트 ID: 4
작업 범주: General
수준: 오류
키워드: 클래식
사용자: 해당 없음
컴퓨터: **********
설명:
(PID 9480, 스레드 72) Get-Recipient 작업에서 인덱스가 0인 레코드를 처리하는 동안 쓰기 오류가 발생했습니다. 오류: Microsoft.Exchange.Data.Directory.SuitabilityDirectoryException: OLD DC 서버 적합성을 확인하는 동안 Active Directory 오류 0x51이(가) 발생했습니다. 오류: 'Active Directory 응답: LDAP 서버를 사용할 수 없습니다.' ---> System.DirectoryServices.Protocols.LdapException: LDAP 서버를 사용할 수 없습니다.
위치: System.DirectoryServices.Protocols.LdapConnection.Connect()
위치: System.DirectoryServices.Protocols.LdapConnection.BindHelper(NetworkCredential newCredential, Boolean needSetCredential)
위치: Microsoft.Exchange.Data.Directory.SuitabilityVerifier.CreateConnectionAndBind(String fqdn, Int32 portNumber, NetworkCredential credential)
--- 내부 예외 스택 추적의 끝 ---
위치: Microsoft.Exchange.Data.Directory.SuitabilityVerifier.CreateConnectionAndBind(String fqdn, Int32 portNumber, NetworkCredential credential)
위치: Microsoft.Exchange.Data.Directory.SuitabilityVerifier.IsServerSuitable(String fqdn, Boolean isGlobalCatalog, NetworkCredential credential, String& writableNC, LocalizedString& errorMessage)
위치: Microsoft.Exchange.Data.Directory.ConnectionPoolManager.GetConnection(ConnectionType connectionType, ADObjectId domain, String serverName, Int32 port, NetworkCredential credential)
위치: Microsoft.Exchange.Data.Directory.ConnectionPoolManager.GetConnection(ConnectionType connectionType, NetworkCredential networkCredential, String serverName, Int32 port)
위치: Microsoft.Exchange.Data.Directory.ADSession.GetConnection(String preferredServer, Boolean isWriteOperation, Boolean isNotifyOperation, String optionalBaseDN, ADObjectId& rootId, ADScope scope)
위치: Microsoft.Exchange.Data.Directory.ADSession.GetReadConnection(String preferredServer, ADObjectId& rootId, ADRawEntry scopeDeteriminingObject)
위치: Microsoft.Exchange.Data.Directory.ADGenericReader.GetNextResultCollection(Type controlType, DirectoryControl& responseControl)
위치: Microsoft.Exchange.Data.Directory.ADPagedReader`1.GetNextResultCollection()
위치: Microsoft.Exchange.Data.Directory.ADGenericPagedReader`1.GetNextPage()
위치: Microsoft.Exchange.Data.Directory.ADGenericPagedReader`1.<GetEnumerator>d__4.MoveNext()
위치: Microsoft.Exchange.Configuration.Tasks.GetTaskBase`1.WriteResult[T](IEnumerable`1 dataObjects)
위치: Microsoft.Exchange.Configuration.Tasks.GetTaskBase`1.InternalProcessRecord()
이벤트 Xml:
<Event xmlns="https://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="2010-03-25T05:46:26.000000000Z" />
<EventRecordID>11407150</EventRecordID>
<Channel>Application</Channel>
<Computer>********</Computer>
<Security />
</System>
<EventData>
<Data>9480</Data>
<Data>72</Data>
<Data>Get-Recipient</Data>
<Data>0</Data>
<Data>Microsoft.Exchange.Data.Directory.SuitabilityDirectoryException: OLD DC 서버 적합성을 확인하는 동안 Active Directory 오류 0x51이(가) 발생했습니다. 오류: 'Active Directory 응답: LDAP 서버를 사용할 수 없습니다.' ---> System.DirectoryServices.Protocols.LdapException: LDAP 서버를 사용할 수 없습니다.
위치: System.DirectoryServices.Protocols.LdapConnection.Connect()
위치: System.DirectoryServices.Protocols.LdapConnection.BindHelper(NetworkCredential newCredential, Boolean needSetCredential)
위치: Microsoft.Exchange.Data.Directory.SuitabilityVerifier.CreateConnectionAndBind(String fqdn, Int32 portNumber, NetworkCredential credential)
--- 내부 예외 스택 추적의 끝 ---
위치: Microsoft.Exchange.Data.Directory.SuitabilityVerifier.CreateConnectionAndBind(String fqdn, Int32 portNumber, NetworkCredential credential)
위치: Microsoft.Exchange.Data.Directory.SuitabilityVerifier.IsServerSuitable(String fqdn, Boolean isGlobalCatalog, NetworkCredential credential, String& writableNC, LocalizedString& errorMessage)
위치: Microsoft.Exchange.Data.Directory.ConnectionPoolManager.GetConnection(ConnectionType connectionType, ADObjectId domain, String serverName, Int32 port, NetworkCredential credential)
위치: Microsoft.Exchange.Data.Directory.ConnectionPoolManager.GetConnection(ConnectionType connectionType, NetworkCredential networkCredential, String serverName, Int32 port)
위치: Microsoft.Exchange.Data.Directory.ADSession.GetConnection(String preferredServer, Boolean isWriteOperation, Boolean isNotifyOperation, String optionalBaseDN, ADObjectId& rootId, ADScope scope)
위치: Microsoft.Exchange.Data.Directory.ADSession.GetReadConnection(String preferredServer, ADObjectId& rootId, ADRawEntry scopeDeteriminingObject)
위치: Microsoft.Exchange.Data.Directory.ADGenericReader.GetNextResultCollection(Type controlType, DirectoryControl& responseControl)
위치: Microsoft.Exchange.Data.Directory.ADPagedReader`1.GetNextResultCollection()
위치: Microsoft.Exchange.Data.Directory.ADGenericPagedReader`1.GetNextPage()
위치: Microsoft.Exchange.Data.Directory.ADGenericPagedReader`1.<GetEnumerator>d__4.MoveNext()
위치: Microsoft.Exchange.Configuration.Tasks.GetTaskBase`1.WriteResult[T](IEnumerable`1 dataObjects)
위치: Microsoft.Exchange.Configuration.Tasks.GetTaskBase`1.InternalProcessRecord()</Data>
<Data>{0a1c35dd-63a0-4b1f-b673-5c51462ed1ba}</Data>
</EventData>
</Event>
HOW TO RESOLEVE. (Global 한 Exchange Users를 위해서 해결 방법은 영어로 적습니다)
1. ISSUE : EMC still look for old DC which was already demoted
2. Cause : Obsolete Information is cached in EMC file in windows profile with whom user has logged into the server..
3. How to Resolve:
THis issue come from EMC cache related stuff.
- Close the EMC on the server
- Move to the below directory. You can see several application cache file there.
C:\users\<specific user>\AppData\Roaming\Microsoft\MMC\
- Delete Exchange management console file.
- Try to reopen Exchange management console and verify if there is still problem in manupulating EMC.
Wrtten by Jungseo.