邮箱保留

邮箱保留

使用 Exchange Server 2007 或更新版本时,禁用邮箱是一项相当常见的操作。但是,Technet 文档并未详细说明禁用邮箱的副作用。它只说了这些。

“此任务将从 Active Directory 中的用户对象中删除所有 Exchange 属性。根据已删除项目的保留策略,Exchange 存储将保留用户对象的邮箱数据。”

来源:http://technet.microsoft.com/en-us/library/bb123730(v=exchg.141).aspx

但仅此而已吗?现实世界中的 Exchange 邮箱往往高度互联。也许老板已将日历控制权委托给秘书。也许一组员工共享对公共文件夹的访问权限。也许高级用户被授予在多个不同地址接收电子邮件的能力。我想到两个明确的问题。

  • 邮箱断开连接后,邮箱之间的链接会怎样?
  • 这个Disable-Mailbox手术能轻易撤销吗?

答案1

Microsoft 的文档似乎表明禁用邮箱是一个简单的操作。不幸的是,有几个“陷阱”。

邮箱保留

当邮箱被禁用时,它将被重新归类为“断开连接的邮箱”。默认情况下,Exchange 将保留断开连接的邮箱 30 天。这是邮箱所在数据库的属性。但是,Exchange 管理员可以更改此值。如果将值MailboxRetention设置为 0,邮箱将被立即删除。(糟糕。)(technet.com 上的已删除邮箱保留)

编辑:断开未初始化的邮箱也会导致其立即被删除且无法恢复。未初始化的邮箱是从未通过 OWA 或 Outlook 访问过的邮箱。这在编写断开 + 重新连接邮箱的脚本时会造成困难,因为某些邮箱可能无法重新连接。

重新连接邮箱

禁用和连接邮箱并不是即时的。如果您只想禁用邮箱,那么这样做没问题,但如果您打算立即重新连接邮箱,则需要注意两件事。

  • 在邮箱数据库清理完成之前,“已断开连接的邮箱”列表不会填充。如果您因为找不到刚刚禁用的邮箱而感到恐慌,请告诉 Exchange 开始清理数据库并等待几分钟。
  • 如果您正在编写 PowerShell 脚本,则必须等待更改传播到 Active Directory,然后才能执行任何进一步的操作。根据您的环境和运气,这个时间范围从几秒钟到几分钟不等。(专业提示:您可以Get-User循环调用以确定更改是否已完全传播。)

邮箱元数据

当邮箱断开连接时,配额信息将被丢弃。如果要保留邮箱配额,则需要在发出禁用邮箱的命令之前记录这些值。

同样的事情也适用于电子邮件地址列表和邮箱别名。

委派和权限

现在情况开始变得不友好了。对于任何给定的用户,都存在与常规 Exchange 邮箱或传统公共文件夹的多种可能链接。

  • 普通信箱
    • 发送权限
    • 代表发送
    • 邮箱子文件夹的 ACL
    • 完全访问权限
  • 公用文件夹
    • 发送权限
    • 代表发送
    • 文件夹权限

邮箱 -> 发送为

Send-As权限由 Active Directory 用户对象上的 ACL 表示,并且 ACL 在内部存储为 SID 值列表。因此,此权限可以完全在 Exchange 之外进行管理。

当邮箱已禁用它对 send-as 权限没有影响。用户对象上的 ACL 保持不变,因此不会丢失任何信息。

如果断开连接的邮箱重新连接对于同一个用户,任何之前能够以该用户身份发送的用户都将重新获得该能力。

如果断开的邮箱连接到不同的用户,则任何用户都无法以新用户身份发送。您需要向新用户重新应用所需的“以新用户身份发送”权限。

邮箱 -> 代发

Send on behalf权限与 Outlook 客户端所提出的“委派”概念密切相关。将权限授予send on behalf其他用户很常见,尤其是在委派日历管理时。目前尚不清楚 Exchange 如何在内部存储该权限,但我知道Send on behalf权限与邮箱对象有关,而不是与用户有关。

当邮箱已禁用,所有“代表发送”连接都将被丢弃。这不仅会影响被禁用的邮箱,而且如果另一个邮箱已授予此邮箱代表发送权限,则该链接现在将被删除。

不用说,如果邮箱是重新连接对于任何用户,“代表发送”权限都不会恢复。当邮箱被禁用时,该信息将立即永远丢失。我将这些链接称为“易变的”。这种易变性源于这样一个事实:代表发送权限是唯一不与 SID 一起内部存储的权限。

附加提示:Exchange 将在 AD 用户对象上填充两个属性,publicDelegates分别publicDelegatesBL包含委托邮箱和已提供委托权限的邮箱的可分辨名称。

邮箱 -> 子文件夹上的 ACL

邮箱文件夹的权限是邮箱之间最常用的链接之一。文件夹权限作为 Outlook“委派”的后半部分非常重要,但它们通常是手动分配的,没有相关的发送代表权限。

尽管 Exchange 使用基于用户 SID 的典型 ACL 来表示文件夹权限,但您无法像常规 ACL 那样操作它们。Outlook 仅允许选择启用邮件的用户,同样,PowerShell Add-MailboxFolderPermissioncmdlet 也仅允许您为具有关联邮箱的其他用户添加权限。

如果用户委托人被授予文件夹权限(例如审阅者、编辑者),并且该委托人的邮箱稍后已禁用,权限将显示类似“NT User:DOM\samname”。

如果代理人的邮箱重新连接对于同一个用户,尽管它们现在看起来畸形,但显然能够利用这些权限。

但如果代表的邮箱连接到不同的用户,新用户将不会继承原始委派,因为他们没有匹配的 SID。虽然文件夹权限看起来是授予邮箱的,但实际上它们是授予 AD 安全主体的。

邮箱 -> 完全访问

完全访问权限只能由 Exchange 管理员分配。与 Send-As 权限非常相似,它们被授予 AD 用户对象并根据 SID 内部存储。但与 Send-As 权限不同的是,完全访问权限实际上是作为 Exchange 邮箱对象的一部分存储的。

如果邮箱断开连接,具有完全访问权限的用户列表保存在邮箱对象中。

如果该邮箱断开连接重新连接,无论它连接到哪个用户,任何之前拥有完全访问权限的用户都将重新获得对该邮箱行使完全访问权限的能力。

额外提示:有一个可选的完全访问权限功能,称为AutoMapping。如果在启用 AutoMapping 的情况下授予了完全访问权限,Exchange 将填充msExchDelegateListBL获得完全访问权限的用户的属性。这样可以轻松查看您拥有完全访问权限的内容,但该权限并非始终启用,因此您不能依赖它来获得完整的答案。

公共文件夹 -> 发送为

公用文件夹的权限Send-As与常规邮箱的权限非常相似。“但是公用文件夹与用户对象没有关联!”你大喊。实际上,Exchange 确实会在 Active Directory 中为你创建的每个公用文件夹创建秘密对象。

(您可以使用 ADSI Edit 打开安装了 Exchange 服务器的林中的根域的默认命名上下文,然后查找“CN=Microsoft Exchange System Objects”。在此容器中,您将找到每个公用文件夹的一个对象,并且每个对象都有一个包含Send-As权限的 ACL。)

公共文件夹 -> 代表发送

为公共文件夹设置“代表发送”功能的想法有点奇怪,因为 Outlook 中的“委派”概念根本不适用于公共文件夹。但无论如何,它还是存在。

公用文件夹上的发送代表权限的区别因素是,它们永远不会填充已被授予发送代表权限的用户对象的“publicDelegatesBL”属性。

目前,我不清楚发送代表权限是否在公共文件夹上也是不稳定的。如果有人知道这一点,请随时编辑此答案!(TODO/FIXME)

公共文件夹 -> 权限

公用文件夹的权限与邮箱的权限不同。由于它们与邮箱相关联,因此具有易变性。

如果邮箱断开连接,则该邮箱将失去其被授予的所有公用文件夹权限。(TODO/FIXME 或者它们遵循 NT USER 格式?)

“无缝迁移”

如果您在两个独立的域中拥有 AD 用户帐户,并且您想要将邮箱从一个域中的用户移动到另一个域中的用户,那么您将面临一场艰苦的战斗。

不幸的是,Exchange 无法轻松追踪权限和委派的应用方式。如果您需要将邮箱从一个 AD 用户移动到同一林中的另一个用户,并且希望完全保留权限,则需要自己发现并恢复这些权限。

即使是在中型森林中,这也是一项非常昂贵的操作,因此如果您经常移动邮箱,则值得对所有邮箱进行一次大枚举以收集所有当前链接的列表。然后,当您想要将邮箱分配给不同的 AD 用户帐户时,您就会准确地知道哪些其他邮箱需要更新权限。

结论

  • 这些权限是持久的。即使邮箱被禁用,它们仍然有效。
    • 发送为
    • 邮箱文件夹 ACL
    • 完全访问
    • 公用文件夹 Send-As
  • 这些权限是不稳定的。当邮箱被禁用时,这些权限就会丢失。
    • 代表发送
    • 公用文件夹代表发送
    • 公用文件夹权限
  • 断开邮箱会带来许多副作用。
    • 配额设定丢失
    • 丢失已连接的电子邮件地址
  • 编写禁用或连接邮箱的脚本时,要警惕由于 AD 传播而导致的延迟。

相关内容