Exchange 2007 SP2의 동적 스키마 업데이트 및 유효성 검사

 

적용 대상: Exchange Server 2007 SP2

마지막으로 수정된 항목: 2012-03-26

Exchange Server 2007의 Active Directory 드라이버(Microsoft.Exchange.Data.Directory.Dll)는 Exchange 관리 코드에서 Active Directory의 구성에 액세스하는 데 사용하는 인터페이스입니다. Active Directory 컨테이너의 개체는 특성에서 직접 파생되거나 특성에서 계산되는 속성을 노출합니다. 개체에서 노출되는 속성은 cmdlet 매개 변수로 내보낼 수 있습니다.

보통 Active Directory 스키마 정의는 상당히 정적입니다. 새 구성 데이터가 포함된 업데이트가 발표되는 경우, 현재는 App.config 파일(XML 파일의 XML 값)에서 이러한 설정이 구현됩니다. 그러나 이 방식을 사용하는 경우 오류가 발생하기 쉽고 효율적인 확장이 어렵습니다.

이제 Microsoft Exchange Server 2007 SP2(서비스 팩 2)에 포함된 Active Directory 드라이버가 다음을 지원합니다.

  • 스키마 변경과 독립적인 특성을 추가할 수 있습니다.

  • 스키마에 없는 특성을 참조할 수 있습니다. 또한 새 특성을 읽을 때 스키마가 확장되지 않으면 Exchange 관리 코드가 작동하도록 할 수 있습니다. 이 경우 특성이 개체에 설정되어 있지 않거나 스키마에 없으면 Active Directory 드라이버가 기본값을 반환합니다. 기본적으로 스키마에 없으며 새로 추가되는 특성에는 읽기 중에 기본값이 제공됩니다.

  • Microsoft Exchange Server 2010 코드와 호환됩니다. 

  • Exchange 2007 SP2 이전에는 스키마에 없는 특성에 쓰는 경우 제약 조건 위반이 발생했습니다. Exchange 2007 SP2에 포함된 Active Directory 드라이버에는 스키마의 값으로 특성이 포함되지 않은 경우 새 특성에 대해 유효성 검사를 추가로 수행하는 동적 유효성 검사 코드가 도입되었습니다.

    mayContain 매개 변수에 없는 특성을 변경하려고 하면 예외 오류가 발생합니다. 업데이트된 Active Directory 드라이버는 예외 오류에 대해 다음과 같이 보다 자세한 정보를 제공합니다.

    SchemaNotExtended(string objectClass, string objectAttribute, string udpateAdded)=Object 클래스 {0}의 {1} 특성이 올바른 mayContain 항목이 아닙니다. {2}의 업데이트로 스키마를 확장하여 이 특성을 설정해야 합니다.

    여기서 0은 가장 많이 파생된 개체 클래스, 1은 존재하지 않는 LDAP 특성 이름, 2는 값을 추가한 지역화되지 않은 업데이트 이름입니다.