确认存在必需的 Active Directory 属性

 

上一次修改主题: 2005-05-24

排除 NDR 故障时,应确认在 Active Directory 中存在邮件分类程序对收件人所要求的全部已启用邮件的属性。在 Exchange 2000 中,要对邮件进行分类,下列多个属性必须正确:

  • homeMDB
  • homeMTA
  • legacyExchangeDN
  • mail
  • 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 联机文档。

note注意:
如果使用 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

mail

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 组件正常工作。例如,已启用邮件的条目(用户、联系人、组或公用文件夹)必须至少具有下列属性:mailNicknamelegacyExchangeDNdisplayName。不具有 mailNickname 属性的对象是未启用邮件的对象。在对象具有了 mailNickname 属性后,还必须设置另外两个属性。

已启用邮件的收件人策略

如果收件人更新服务识别已添加或修改的某个新条目,并且该条目具有 mailNickname 属性,但不具有 legacyExchangeDNdisplayName 属性,则收件人更新服务会尝试创建这些属性。

按原样从 mailNickname 属性中复制 displayName 属性。legacyExchangeDN 属性执行识别条目的组织和管理组的算法,然后使用以下格式创建一个值:

/o=MyCompany/ou=MyAdminGroup/cn=Recipients/cn=MailNickname

已启用邮箱的用户策略

对于已启用邮箱的用户,必须具备两个属性。第一个是 mailNickname 属性,第二个是下列属性中的某个属性:

  • msExchHomeServerName
  • homeMDB
  • homeMTA

具备以上任何一个属性以及 mailNickname 属性的用户被视为已启用邮箱的用户。

在这种情况下,收件人更新服务会尝试填充下列某些属性(如果没有):

  • msExchHomeServerName
  • homeMDB
  • homeMTA
  • legacyExchangeDN
  • displayName
  • msExchMailboxGuid

按以下顺序来填充这些属性:

  1. 如果不具有 msExchHomeServerName 属性,将基于 homeMDBhomeMTA 属性(取决于存在的是哪个属性)来创建该属性。如果无法创建 msExchHomeServerName 属性,此过程将停止。
  2. 设置了 msExchHomeServerName 属性之后,将填充 homeMDBhomeMTA 属性(如果缺少其中任何一个属性)。如果服务器上有多个邮箱存储或邮件传输代理 (MTA),则收件人更新服务将选取在执行 Active Directory 搜索时找到的第一个邮箱存储或邮件传输代理 (MTA)。因此,此选择可以看作是随机选择。
  3. 要创建 legacyExchangeDNdisplayName 属性,收件人更新服务将按照对已启用邮件的收件人所采取的步骤来操作。
  4. 最后,如果缺少 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。