![Office 365 Exchange 公用文件夹丢失对安全组文件夹权限的 SID 分配](https://linux22.com/image/771439/Office%20365%20Exchange%20%E5%85%AC%E7%94%A8%E6%96%87%E4%BB%B6%E5%A4%B9%E4%B8%A2%E5%A4%B1%E5%AF%B9%E5%AE%89%E5%85%A8%E7%BB%84%E6%96%87%E4%BB%B6%E5%A4%B9%E6%9D%83%E9%99%90%E7%9A%84%20SID%20%E5%88%86%E9%85%8D.png)
我们安装了新的 Exchange 2016 服务器,并将 Exchange 2010 服务器中的所有邮箱迁移到该服务器。然后,我们将所有邮箱和公用文件夹从 MSEX2016 迁移到 Office 365,并降级并关闭了 MSEX2010。本地 AD 通过我们其中一台本地服务器上的 Azure AD 连接器与 Azure AD 同步。
这种方法运行了几个星期,没有出现任何问题。所有客户端都能够访问 O365 上的公共文件夹及其邮箱。
昨天我们降级了 MSEX2016,几天前它已经关闭以进行测试。它上面没有 PF 活动,但无法以常规方式删除数据库,因为它始终显示服务器仍处于迁移模式。手动设置属性(如 MigrationComplete...)没有帮助,我们最终使用强制选项删除它们,降级服务器并将其关闭。
之后,客户端上出现一条消息,称 Exchange 管理员执行了更改,需要重新启动 Outlook 客户端。不确定为什么会出现此消息,因为所有客户端都已连接到 O365,并且不应该与旧的 MSEX2016 建立任何连接。
昨天,我还更改了 Azure AD 连接器,使其仅同步一些需要的 OU。
今天出现了一个问题,没有人能够再访问 PF。然后我发现,分配组的文件夹权限上的 SID 显示为未知。
用户 SID 看起来不错,问题只出在组上。我首先想到这可能与 Azure AD 连接器的 OU 限制有关,我重新激活了完全同步,就像以前一样,但这没有帮助。
我也无法通过 WebGUI 更改任何权限,最终出现以下消息。
`系统在计算 Lambda 表达式时抛出异常:[ Boolean(@0[ApplyToSubFolders]) ] 调用目标抛出异常。错误
系统在计算 Lambda 表达式时抛出异常:[Boolean(@0[ApplyToSubFolders])] 调用目标抛出了异常。`
我能够在根 PF 中创建一个新的“测试”文件夹,但无法通过 WebGUI 在那里设置任何权限。
可以通过 Outlook 客户端更改权限。如果我删除其中一个组权限并重新添加它,则会显示 SID,一切正常。对我来说,这意味着所有组在 O365 上都是众所周知的(它们也显示在 Exchange Admin WebGUI 中),但在现有权限上它们未分配给它。
为什么不能通过 WebGUI 设置 PF 权限?
为什么它会丢失从现有公用文件夹组到 SID 的权限分配,以及如何修复它而无需手动删除并重新添加所有权限?
编辑1(星期一 2021-10-18):
编辑2(星期四 2021-10-21):
自周一以来,微软一直有一张未结的票据,但他们无法解释权限消失的原因,他们的软件工程师正在努力查明发生了什么。他们还在调查为什么无法通过 WebGUI 设置权限。他们提出的解决方案是使用 Outlook 或 PowerShell 手动设置所有文件夹的所有权限,但由于我们有大约 2700 个文件夹,所以我对此并不满意。他们不愿意(“构建自定义脚本通常超出了我们的支持范围”)提供一个脚本来重新应用迁移期间创建的 XML 文件中的权限,他们也没有提出任何其他解决方案来恢复权限。
与此同时,我能够重新应用公用文件夹权限这个脚本由我自己创建并得到了社区的支持。
编辑3(2021年10月30日 星期六)
MS 表示,WebGUI 权限设置的问题是众所周知的:“报告的问题是由已知问题引起的(我们的产品工程团队正在从后端解决)”他们建议使用 Outlook 客户端或 PowerShell 来更改公用文件夹的权限。
他们还说我无法证明权限不是由管理员活动删除的,因为我们的审计日志未启用(根据 MS 默认设置),我无法显示有关它的记录。我再次向他们发送了我的屏幕截图,该屏幕截图显示了组权限上缺少 SID 的奇怪情况,以指出这是 MS 基础设施中的一个问题。我是唯一拥有管理员访问权限的人,我确信我没有删除公用文件夹的权限。
编辑4(2021年11月14日 星期日)
MS 的回答:“关于通过管理中心 UI 分配权限的问题,我的同事建议这个问题已经对外公布,因为这个问题已经存在一段时间了。如前所述,我们的产品工程团队目前正在开发一个永久性的修复方案,但是,目前还没有具体的预计时间,所以我们无法完全确认何时可以解决。有关更多信息,您还可以参考公用文件夹权限和设置不会在 EAC 中传播文章(其中还包含我们建议的 PowerShell 脚本,这是我们的同事提供的针对此问题的官方解决方法)。”
“根据您目前与我们分享的信息(包括 EAC 的屏幕截图,其中显示了缺失的 SID),我的同事怀疑受影响的公用文件夹已正常迁移到 Exchange Online,但授予用户权限的邮件安全组随后未同步(或同步过程存在问题)。因此,这些权限组被视为孤立/过时,并已通过我们的一致性代理删除,该代理每 7 天在后端运行一次。”“话虽如此,这种行为是设计使然,但遗憾的是我们无法完全确认为什么权限首先被检测为过时。有关此事的更多信息,我们建议查看官方宣布推出 Exchange Online 公共文件夹一致性代理来自 Exchange 开发团队的帖子,解释了代理的工作原理。”
答案1
错误 ”系统在计算 Lambda 表达式时抛出异常“发生在公共文件夹中的这种情况似乎是一个已知问题:无法更改权限错误
目前的解决方案是通过 Outlook 或其他客户端修改权限。此外,您还可以尝试连接到 Exchange Online PowerShell并运行以下命令来修改公用文件夹的权限:
Add-PublicFolderClientPermission \pf -AccessRights Owner -User User01
答案2
我想我终于可以自己回答这些问题了。
“为什么不能通过 WebGUI 设置 PF 权限?”
这是 Microsoft 后端的一个问题。Microsoft 已意识到这个问题,并且正在努力解决,但目前尚无预计解决时间。似乎总体而言,通过 WebUI/EAC 进行公共文件夹设置存在一些问题。
编辑2022-01-14:看来 MS 已经修复了这个问题,今天我可以通过 Web 界面设置权限了。
“为什么它会丢失从现有公用文件夹组到 SID 的权限分配,以及如何修复它而不手动删除并重新添加所有权限?”
Microsoft 在 Exchange Online 中安装了Exchange Online 公用文件夹一致性代理工具它每 7 天自动删除一次公用文件夹的所有权限,或每天删除已启用邮件的文件夹的所有权限,这些文件夹被视为孤立/过时的。它似乎将暂时不再由 Azure AD Connect 客户端同步的组视为孤立/过时的组,然后删除所有这些权限,并且无法恢复。
MS 应该至少提供一个选项来禁用这个自动工具,或者最好允许管理员只手动运行它。
我能够通过脚本,因为它们在迁移过程中被导出到我们的内部部署 Exchange 服务器上,并且从那时起文件夹结构没有发生太大变化。