Introduction
This article describes how to implement the Active Directory Domain Services (AD DS) schema changes that are required to support the Hierarchical Address Book (HAB) feature in Microsoft Exchange Server 2010.
More Information
The HAB is an add-in for Exchange Server 2010 and for Microsoft Outlook 2010 beta. To use the HAB, you must extend the AD DS schema in the Active Directory forest in which you installed Exchange Server 2010. In order to extend the AD DS schema, you must belong to the Schema Admins group. The schema classes and attributes that are added to AD DS for the HAB are compatible with all languages and versions of Exchange server. The HAB schema extensions for Exchange Server 2010 will also be compatible with future versions of Exchange server.
To install the HAB Active Directory add-in, follow these steps:
To install the HAB Active Directory add-in, follow these steps:
- 1. The LDIFDE tool is required to implement the schema changes. The LDIFDE tool is installed when the remote administration tools for Windows Server 2008 server are installed. To install the remote administration tools, follow these steps on the server:
- Click Start, and then click
Run. - Type ServerManagerCmd -i RSAT-ADDS in the Open field, and then click
OK.
- Click Start, and then click
- Copy the following schema change script to a text file that is named “schema_file.txt” for later use. Make sure that the first line of the file is blank.
dn: CN=ms-DS-Phonetic-Display-Name,DC=X
changetype: ntdsSchemaAdd
adminDescription: ms-DS-Phonetic-Display-Name
adminDisplayName: ms-DS-Phonetic-Display-Name
attributeID: 1.2.840.113556.1.4.1946
attributeSecurityGuid:: VAGN5Pi80RGHAgDAT7lgUA==
attributeSyntax: 2.5.5.12
isSingleValued: TRUE
lDAPDisplayName: msDS-PhoneticDisplayName
mapiId: 35986
name: ms-DS-Phonetic-Display-Name
oMSyntax: 64
objectCategory: CN=Attribute-Schema,DC=X
objectClass: attributeSchema
rangeLower: 0
rangeUpper: 256
schemaIdGuid:: 5JQa4mYt5UyzDQ74endv8A==
searchFlags: 5
showInAdvancedViewOnly: TRUE
systemFlags: 16
systemOnly: FALSE
dn: CN=ms-DS-HAB-Seniority-Index,DC=X
changetype: ntdsSchemaAdd
adminDescription: Contains the seniority index as applied by the organization where the person works.
adminDisplayName: ms-DS-HAB-Seniority-Index
attributeID: 1.2.840.113556.1.4.1997
attributeSecurityGuid:: VAGN5Pi80RGHAgDAT7lgUA==
attributeSyntax: 2.5.5.9
isMemberOfPartialAttributeSet: TRUE
isSingleValued: TRUE
lDAPDisplayName: msDS-HABSeniorityIndex
mapiId: 36000
name: ms-DS-HAB-Seniority-Index
oMSyntax: 2
objectCategory: CN=Attribute-Schema,DC=X
objectClass: attributeSchema
schemaIdGuid:: 8Un03jv9RUCYz9lljaeItQ==
searchFlags: 1
showInAdvancedViewOnly: TRUE
systemFlags: 16
systemOnly: FALSE
dn: CN=ms-Exch-HAB-Root-Department-Link,DC=X
changetype: ntdsSchemaAdd
adminDescription: ms-Exch-HAB-Root-Department-Link
adminDisplayName: ms-Exch-HAB-Root-Department-Link
attributeID: 1.2.840.113556.1.4.7000.102.50824
attributeSyntax: 2.5.5.1
isMemberOfPartialAttributeSet: FALSE
isSingleValued: TRUE
lDAPDisplayName: msExchHABRootDepartmentLink
mapiId: 35992
name: ms-Exch-HAB-Root-Department-Link
oMSyntax: 127
oMObjectClass:: KwwCh3McAIVK
objectCategory: CN=Attribute-Schema,DC=X
objectClass: attributeSchema
linkID: 1092
schemaIdGuid:: f/ewOgOh9UeAbUpAzOY4qg==
searchFlags: 0
dn: CN=ms-Exch-HAB-Root-Department-BL,DC=X
changetype: ntdsSchemaAdd
adminDescription: ms-Exch-HAB-Root-Department-BL
adminDisplayName: ms-Exch-HAB-Root-Department-BL
attributeID: 1.2.840.113556.1.4.7000.102.50826
attributeSyntax: 2.5.5.1
isMemberOfPartialAttributeSet: FALSE
isSingleValued: FALSE
lDAPDisplayName: msExchHABRootDepartmentBL
mapiId: 35995
name: ms-Exch-HAB-Root-Department-BL
oMSyntax: 127
oMObjectClass:: KwwCh3McAIVK
objectCategory: CN=Attribute-Schema,DC=X
objectClass: attributeSchema
linkID: 1093
schemaIdGuid:: jIKVD70qh0CwJo98xedSpA==
searchFlags: 0
dn: CN=ms-Org-Group-Subtype-Name,DC=X
changetype: ntdsSchemaAdd
adminDescription: ms-Org-Group-Subtype-Name
adminDisplayName: ms-Org-Group-Subtype-Name
attributeID: 1.2.840.113556.1.6.47.2.3
attributeSyntax: 2.5.5.12
isMemberOfPartialAttributeSet: TRUE
isSingleValued: TRUE
lDAPDisplayName: msOrg-GroupSubtypeName
mapiId: 36063
name: ms-Org-Group-Subtype-Name
oMSyntax: 64
objectCategory: CN=Attribute-Schema,DC=X
objectClass: attributeSchema
rangeUpper: 128
schemaIdGuid:: RFjt7cOzw0Gp5omEtSt/mA==
searchFlags: 17
dn: CN=ms-Org-Is-Organizational-Group,DC=X
changetype: ntdsSchemaAdd
adminDescription: ms-Org-Is-Organizational-Group
adminDisplayName: ms-Org-Is-Organizational-Group
attributeID: 1.2.840.113556.1.6.47.2.1
attributeSyntax: 2.5.5.8
isMemberOfPartialAttributeSet: TRUE
isSingleValued: TRUE
lDAPDisplayName: msOrg-IsOrganizational
mapiId: 36061
name: ms-Org-Is-Organizational-Group
oMSyntax: 1
objectCategory: CN=Attribute-Schema,DC=X
objectClass: attributeSchema
schemaIdGuid:: C1a3SQdHoEqifOF6Cco/lw==
searchFlags: 16
dn: CN=ms-Org-Other-Display-Names,DC=X
changetype: ntdsSchemaAdd
adminDescription: ms-Org-Other-Display-Names
adminDisplayName: ms-Org-Other-Display-Names
attributeID: 1.2.840.113556.1.6.47.2.4
attributeSyntax: 2.5.5.12
isMemberOfPartialAttributeSet: TRUE
isSingleValued: FALSE
lDAPDisplayName: msOrg-OtherDisplayNames
mapiId: 36064
name: ms-Org-Other-Display-Names
oMSyntax: 64
objectCategory: CN=Attribute-Schema,DC=X
objectClass: attributeSchema
rangeUpper: 128
schemaIdGuid:: JF+QjxOkWkOO0TU4XsF59w==
searchFlags: 17
dn: CN=ms-Org-Leaders,DC=X
changetype: ntdsSchemaAdd
adminDescription: ms-Org-Leaders
adminDisplayName: ms-Org-Leaders
attributeID: 1.2.840.113556.1.6.47.2.2
attributeSyntax: 2.5.5.1
isMemberOfPartialAttributeSet: TRUE
isSingleValued: FALSE
lDAPDisplayName: msOrg-Leaders
mapiId: 36062
name: ms-Org-Leaders
oMSyntax: 127
oMObjectClass:: KwwCh3McAIVK
objectCategory: CN=Attribute-Schema,DC=X
objectClass: attributeSchema
linkID: 1208
schemaIdGuid:: kGdb7lgzqEGT8hNM4h84Ew==
searchFlags: 16
dn: CN=ms-Org-Leaders-BL,DC=X
changetype: ntdsSchemaAdd
adminDescription: ms-Org-Leaders-BL
adminDisplayName: ms-Org-Leaders-BL
attributeID: 1.2.840.113556.1.6.47.2.5
attributeSyntax: 2.5.5.1
isMemberOfPartialAttributeSet: FALSE
isSingleValued: FALSE
lDAPDisplayName: msOrg-LeadersBL
mapiId: 36060
name: ms-Org-Leaders-BL
oMSyntax: 127
oMObjectClass:: KwwCh3McAIVK
objectCategory: CN=Attribute-Schema,DC=X
objectClass: attributeSchema
linkID: 1209
schemaIdGuid:: 7Y6lr5imfkGfVvrVQlLF9A==
searchFlags: 0
dn:
changetype: ntdsSchemaModify
replace: schemaUpdateNow
schemaUpdateNow: 1
-
dn: CN=Organizational-Person,DC=X
changetype: ntdsSchemaModify
add: mayContain
mayContain: msDS-HABSeniorityIndex
-
dn: CN=Organizational-Person,DC=X
changetype: ntdsSchemaModify
add: mayContain
mayContain: msDS-PhoneticDisplayName
-
dn: CN=ms-Exch-Organization-Container,DC=X
changetype: ntdsSchemaModify
add: mayContain
mayContain: msExchHABRootDepartmentLink
-
dn: CN=Group,DC=X
changetype: ntdsSchemaModify
add: mayContain
mayContain: location
-
dn: CN=Group,DC=X
changetype: ntdsSchemaModify
add: mayContain
mayContain: thumbnailPhoto
-
dn: CN=Group,DC=X
changetype: ntdsSchemaModify
add: mayContain
mayContain: msDS-HABSeniorityIndex
-
dn: CN=Group,DC=X
changetype: ntdsSchemaModify
add: mayContain
mayContain: msDS-PhoneticDisplayName
-
dn: CN=Group,DC=X
changetype: ntdsSchemaModify
add: mayContain
mayContain: msOrg-GroupSubtypeName
-
dn: CN=Group,DC=X
changetype: ntdsSchemaModify
add: mayContain
mayContain: msOrg-IsOrganizational
-
dn: CN=Group,DC=X
changetype: ntdsSchemaModify
add: mayContain
mayContain: msOrg-Leaders
-
dn: CN=Group,DC=X
changetype: ntdsSchemaModify
add: mayContain
mayContain: msOrg-OtherDisplayNames
-
dn: CN=Mail-Recipient,DC=X
changetype: ntdsSchemaModify
add: mayContain
mayContain: msDS-HABSeniorityIndex
-
dn: CN=Mail-Recipient,DC=X
changetype: ntdsSchemaModify
add: mayContain
mayContain: msDS-PhoneticDisplayName
-
dn: CN=Top,DC=X
changetype: ntdsSchemaModify
add: mayContain
mayContain: msOrg-LeadersBL
-
dn: CN=Top,DC=X
changetype: ntdsSchemaModify
add: mayContain
mayContain: msExchHABRootDepartmentBL
-
dn:
changetype: ntdsSchemaModify
replace: schemaUpdateNow
schemaUpdateNow: 1
- - If your domain controller server is running Windows Server 2008, go to step 7. For domain controller servers that are running versions of Windows that are earlier than Windows Server 2008, the LDIF command requires the RootDSE entry. In this case, follow steps 4 through 6.
- To write the RootDSE entry to a file, run the following command that specifies the server name of the domain controller:
LDIFDE -f [domain_data.txt] -s [server_name] -p BASE
- Open the domain_data.txt file that you created in step 4, and search for the string that is called "schema." Copy the following text from that section, starting from "CN=schema," and save it. This text contains the RootDSE entry and is used to import the HAB schema extension in step 6. For example, the text may resemble the following string in which
Contoso is used as a placeholder:CN=Schema,CN=Configuration,DC= Contoso -dom,DC= Contoso ,DC=com
- For domain controller servers that are running versions Windows that are earlier than Windows Server 2008, run the following command on the domain controller server to import the HAB schema extension. This command specifies the RootDSE file that you saved in step 5.
LDIFDE -i -f schema_file.txt -c DC=X <RootDSE_entry>
- For Windows Server 2008 only, run the following command on the domain controller server to import the HAB schema extension.
LDIFDE -i -f schema_file.txt -c DC=X #SchemaNamingContext
Note: The schema changes described in this article have been included in Exchange Server 2010 SP1