何时 userAccountControl 中的 ACCOUNTDISABLE 值不对应于已禁用的邮箱?

何时 userAccountControl 中的 ACCOUNTDISABLE 值不对应于已禁用的邮箱?

我们正在查询大量(数十个)LDAP 服务器(主要是 Active Directory,但不完全是)以确定哪些邮箱处于活动状态,以用于邮件网关/转发应用程序。

我们遇到过一些情况,其中 userAccountControl 的位 2 设置为 true(又名 ACCOUNTDISABLE),但邮箱仍然处于活动状态。

我认为这对应于一个已被禁用但邮箱仍然处于活动状态的 Windows 登录帐户。

这真的有意义吗?还是这只是一个损坏的配置?

如果确实有意义,是否有任何方法可以通过 LDAP 可靠地检测此配置(即 userAccountControl 被禁用,但邮箱是不是是否已禁用?

我们目前忽略了 userAccountControl 禁用属性,因为它似乎有时(尽管是少数情况)对应于活动邮箱。我们希望可靠地检测这种情况,而不是让这数百个“禁用”邮箱保持活动状态。

答案1

  1. 这是正常行为。UserAccountControl 仅指目录中的用户。
  2. Exchange 添加了许多属性,您可以使用这些属性确定 LDAP 用户是否有邮箱。
    我认为这msExchMailboxGuid是最好的,因为每个活动邮箱都必须有一个邮箱,并且 Exchange 会在邮箱被禁用时删除该值(在具有最新更新的 Exchange 2010 上进行了测试)。
    至于与 LDAP 目录集成的其他邮件服务器,我无法判断,因为我从未使用过。

答案2

Exchange 邮箱实际上有两种禁用状态。

许多人认为“禁用”发生在运行 Disable-Mailbox cmdlet 时。这实际上会从帐户中删除大多数 Exchange 属性,并断开邮箱连接。

但是有一个 AD 属性 msExchUserAccountControl。如果将其设置为 2,则邮箱被禁用。启用/禁用状态通常与 userAccountControl 相同,并由 Exchange 控制。

如果 msExchUserAccountControl 存在且为 0,则该邮箱在技术上已启用。

相关内容