确认存在必需的 Active Directory 属性
上一次修改主题: 2005-05-24
排除 NDR 故障时,应确认在 Active Directory 中存在邮件分类程序对收件人所要求的全部已启用邮件的属性。在 Exchange 2000 中,要对邮件进行分类,下列多个属性必须正确:
- homeMDB
- homeMTA
- legacyExchangeDN
- mailNickname
- msExchHomeServerName
- msExchMailboxGuid
- msExchMailboxSecurityDescriptor
- proxyAddresses
只有在收件人是 Active Directory 中的已启用邮箱的对象(如 Exchange 2003 收件人)时,此必需属性列表才有效。但是,如果收件人是 Exchange Server 5.5 收件人,则必须具备的属性是:
- legacyExchangeDN
- homeMDB
- homeMTA
对于已启用邮件的对象(如自定义收件人)和备用地址,必须要有 targetAddress 属性。如果没有 targetAddress 属性,则改为使用 mail 属性。
如果电子邮件缺少任何必需的属性,或者这些属性不正确,则可能将邮件保留在分类程序中,并且不会在事件查看器中创建事件。如果跟踪邮件,则邮件会出现在邮件分类程序中,或者生成 NDR(取决于所缺少的属性)。如果要检查 Active Directory 中某个用户的这些属性,应使用 LDP 工具或 ADSI Edit。有关 LDP 工具或 ADSI Edit 的详细信息,请参阅 Windows 联机文档。
注意: |
---|
如果使用 ADSI Edit 管理单元、LDP 工具或其他任何 LDAP 3 客户端不正确地修改了 Active Directory 对象的属性,则可能导致严重的问题。发生了这些问题之后,可能需要重新安装下列任意软件:Windows 2000 Server 或 Windows Server 2003 或者 Exchange Server 2003。可能无法解决不正确地修改 Active Directory 对象属性时所出现的问题。修改这些属性的风险由您自己承担。 |
下表显示 Active Directory 必需的每个属性的示例。
已启用邮件的 Exchange 2003 Active Directory 属性
Exchange 2003 已启用邮件的属性 | 示例 |
---|---|
homeMDB |
CN=Mailbox Store (CONTOSO-MSG-01),CN=First Storage Group,CN=InformationStore,CN=CONTOSO-MSG-01,CN=Servers,CN=First Administrative Group,CN=Administrative Groups,CN=First Organization,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=contoso,DC=com |
homeMTA |
CN=Microsoft MTA,CN=CONTOSO-MSG-01,CN=Servers,CN=First Administrative Group,CN=Administrative Groups,CN=First Organization,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=contoso,DC=com |
legacyDN |
/o=First Organization/ou=First Administrative Group/cn=Recipients/cn=ted |
ted@contoso.com |
|
mailNickname |
ted |
msExchHomeServerName |
/o=First Organization/ou=First Administrative Group/cn=Configuration/cn=Servers/cn=CONTOSO-MSG-01 |
msExchMailboxGuid |
0x06 0x4f 0x69 0xcc 0x5e 0xfe 0x79 0x4f 0x8c 0x6e 0x7b 0x67 0x57 0x92 0x51 0xd2 |
msExchMailboxSecurityDescriptor |
该属性是二进制 blob,在 ADSIEdit 或 LDP 中不显示值。 |
proxyAddresses |
SMTP:scott@contoso.com X400:c=us;a= ;p=First Organizati;o=Exchange;s=Bremer;g=Ted; |
以下示例是 LDP 工具中的一个转储文件,它包含分类程序所要求的全部已启用邮件的 Exchange 2003 Active Directory 属性:
Expanding base 'CN=Ted Bremer,CN=Users,DC=contoso,DC=com'...
Result <0>: (null)
Matched DNs:
Getting 1 entries:
>> Dn: CN=Ted Bremer,CN=Users,DC=contoso,DC=com
1> homeMDB: CN=Mailbox Store (CONTOSO-MSG-01),CN=First Storage Group,CN=InformationStore,CN=CONTOSO-MSG-01,CN=Servers,CN=First Administrative Group,CN=Administrative Groups,CN=First Organization,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=contoso,DC=com;
1> memberOf: CN=Sales Team,CN=Users,DC=contoso,DC=com;
1> accountExpires: 9223372036854775807;
1> badPasswordTime: 0;
1> badPwdCount: 0;
1> codePage: 0;
1> cn: Ted Bremer;
1> countryCode: 0;
1> displayName: Ted Bremer;
1> mail: ted@contoso.com;
1> givenName: Ted;
1> instanceType: 4;
1> lastLogoff: 0;
1> lastLogon: 126416003544864704;
1> legacyExchangeDN: /o=First Organization/ou=First Administrative Group/cn=Recipients/cn=ted;
1> logonCount: 19;
1> distinguishedName: CN=Ted Bremer,CN=Users,DC=contoso,DC=com;
1> objectCategory: CN=Person,CN=Schema,CN=Configuration,DC=contoso,DC=com;
4> objectClass: top; person; organizationalPerson; user;
1> objectGUID: fdd08ce8-be92-4652-96db-f44785ef49e4;
1> objectSid: S-15-C2EF2A3A-4F67EE69-69068D04-64A;
1> primaryGroupID: 513;
2> proxyAddresses: SMTP:ted@contoso.com; X400:c=us;a= ;p=First Organizati;o=Exchange;s=Bremer;g=Ted;;
1> pwdLastSet: 126415962391597356;
1> name: Ted Bremer;
1> sAMAccountName: ted;
1> sAMAccountType: 805306368;
2> showInAddressBook: CN=Default Global Address List,CN=All Global Address Lists,CN=Address Lists Container,CN=First Organization,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=contoso,DC=com; CN=All Users,CN=All Address Lists,CN=Address Lists Container,CN=First Organization,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=contoso,DC=com;
1> sn: Bremer;
1> textEncodedORAddress: c=us;a= ;p=First Organizati;o=Exchange;s=Bremer;g=Ted;;
1> userAccountControl: 512;
1> userPrincipalName: ted@contoso.com;
1> uSNChanged: 16820;
1> uSNCreated: 16814;
1> whenChanged: 8/6/2001 11:31:17 Pacific Standard Time Pacific Daylight Time;
1> whenCreated: 8/6/2001 11:30:38 Pacific Standard Time Pacific Daylight Time;
1> homeMTA: CN=Microsoft MTA,CN=CONTOSO-MSG-01,CN=Servers,CN=First Administrative Group,CN=Administrative Groups,CN=First Organization,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=contoso,DC=com;
1> msExchMailboxGuid: <ldp: Binary blob>;
1> msExchMailboxSecurityDescriptor: <ldp: Binary blob>;
1> msExchALObjectVersion: 56;
1> msExchHomeServerName: /o=First Organization/ou=First Administrative Group/cn=Configuration/cn=Servers/cn=CONTOSO-MSG-01;
1> mailNickname: ted;
1> mDBUseDefaults: TRUE;
1> msExchPoliciesIncluded: {E7B464D2-65EF-4B3E-8AF4-8EB84BA7088E},{26491CFC-9E50-4857-861B-0CB8DF22B5D7};
1> msExchUserAccountControl: 0;
收件人更新服务如何更新属性
收件人更新服务具有三个安装 Exchange 2003 时默认安装的系统策略,分别用于已启用邮件的收件人、已启用邮箱的用户以及隐藏的通讯组成员身份。全部三个策略只有一个用途:在某些情况下更新 Active Directory 对象的几个属性。
当使用了自定义工具来创建用户、联系人和通讯组后,收件人更新服务会尝试更正所有遗漏的情况,即工具没有为对象创建所有必要属性。如果用户、联系人或通讯组缺少必需的属性,可能会出现问题。
已启用邮件的收件人必须至少具有一组属性,才能使所有 Exchange 组件正常工作。例如,已启用邮件的条目(用户、联系人、组或公用文件夹)必须至少具有下列属性:mailNickname、legacyExchangeDN 和 displayName。不具有 mailNickname 属性的对象是未启用邮件的对象。在对象具有了 mailNickname 属性后,还必须设置另外两个属性。
已启用邮件的收件人策略
如果收件人更新服务识别已添加或修改的某个新条目,并且该条目具有 mailNickname 属性,但不具有 legacyExchangeDN 或 displayName 属性,则收件人更新服务会尝试创建这些属性。
按原样从 mailNickname 属性中复制 displayName 属性。legacyExchangeDN 属性执行识别条目的组织和管理组的算法,然后使用以下格式创建一个值:
/o=MyCompany/ou=MyAdminGroup/cn=Recipients/cn=MailNickname
已启用邮箱的用户策略
对于已启用邮箱的用户,必须具备两个属性。第一个是 mailNickname 属性,第二个是下列属性中的某个属性:
- msExchHomeServerName
- homeMDB
- homeMTA
具备以上任何一个属性以及 mailNickname 属性的用户被视为已启用邮箱的用户。
在这种情况下,收件人更新服务会尝试填充下列某些属性(如果没有):
- msExchHomeServerName
- homeMDB
- homeMTA
- legacyExchangeDN
- displayName
- msExchMailboxGuid
按以下顺序来填充这些属性:
- 如果不具有 msExchHomeServerName 属性,将基于 homeMDB 或 homeMTA 属性(取决于存在的是哪个属性)来创建该属性。如果无法创建 msExchHomeServerName 属性,此过程将停止。
- 设置了 msExchHomeServerName 属性之后,将填充 homeMDB 和 homeMTA 属性(如果缺少其中任何一个属性)。如果服务器上有多个邮箱存储或邮件传输代理 (MTA),则收件人更新服务将选取在执行 Active Directory 搜索时找到的第一个邮箱存储或邮件传输代理 (MTA)。因此,此选择可以看作是随机选择。
- 要创建 legacyExchangeDN 和 displayName 属性,收件人更新服务将按照对已启用邮件的收件人所采取的步骤来操作。
- 最后,如果缺少 msExchMailboxGuid 属性,收件人更新服务将通过生成 GUID 来创建 msExchMailboxGuid 属性。
隐藏的通讯组成员身份策略
对于隐藏的通讯组成员身份策略,收件人更新服务不仅仅在创建新的条目(如安全组或通讯组)时运行。收件人更新服务还在修改 hideDLMembership 属性的状态时运行。
如果该属性设置为 TRUE,则收件人更新服务会在安全描述符中添加不规范的部分,从而使任何人都无法查看该条目的“member”属性。这适用于通过使用 MAPI 或 LDAP 来搜索目录的任何类型的客户端。
如果该属性设置为 FALSE,则收件人更新服务会删除不规范的安全描述符(这会重新暴露 member 属性)。
有关隐藏组成员身份的其他信息,请参阅 Microsoft 知识库中编号为 253827 的文章:“XADM: How Exchange Hides Group Membership in Active Directory”(英文)。虽然该文章是针对 Exchange 2000 撰写的,但其中的基本要素也适用于 Exchange 2003。