我们正在 M365 中运行带有远程邮箱和存档的 Exchange 混合模式。我们的一名员工几个月前离职,因此他们的邮箱被软删除/保留。他们的 AD 对象仅被禁用(从未删除),因此当它通过 Entra Connect 恢复并同步回来时,会创建一个具有相同别名但(空)邮箱的新 M365 用户(这很好)。
我们的问题是,AD 用户仍然拥有该用户之前的 msExchArchiveGUID,并且该存档在 EOL 中仍然被软删除,但同样,M365 中的用户是不同版本的用户。我需要弄清楚如何告诉 AD 为现在处于活动状态的 M365 用户创建一个新的(空)存档。
细节:
在东非共同体:
如果我运行:Get-RemoteMailbox returningUser | fl displayname, ArchiveGuid
它会从 AD 中的 msExchArchiveGUID 属性进行报告:
ArchiveGuid : some-legit-archive-guid-number
在停产中:
如果我运行:Get-Mailbox returningUser | fl archiveguid
我得到:
ArchiveGuid : 00000000-0000-0000-0000-000000000000
但是,如果我运行:Get-EXOMailbox -SoftDeletedMailbox -Archive | where { $_.alias -eq 'returningUser' } | select Guid
我得到:
Guid
---
some-legit-archive-guid-number
我尝试过的操作:删除基于混合的存档,同步,然后重新添加:
在 EAC: 中Disable-RemoteMailbox returningUser -Archive
,运行 Entra Connect,一切看起来都很好。AD 中的 msExchArchiveGUID 为空。当我运行Enable-RemoteMailbox returningUser -Archive
令人讨厌的先前 msExchArchiveGUID 返回时。
我读过很多不匹配的示例,其中解决方案是告诉 EAC 使用 EOL 版本的存档 GUID,但在这种情况下,EOL 似乎无法使用 EAC 版本的 GUID,因为它已被软删除并与先前的工件用户绑定。
如果有人知道如何告诉 EAC 停止寻找(无论它在哪里寻找)先前的 ArchiveGUID 并仅发布新的存档,我将不胜感激!
谢谢!
最后注意:如果我运行这个:
Get-MsolUser -HasErrorsOnly | fl DisplayName,UserPrincipalName,@{Name="Error";Expression={($_.errors[0].ErrorDetail.objecterrors.errorrecord.ErrorDescription)}}
错误是:
{The value "some-legit-archive-guid-number" of
property "ArchiveGuid" is used by another recipient object.
Please specify a unique value.}
(又名相同的软删除 GUID)
该解决方案最终需要直接更改 AD 对象属性:
虽然 EAC 启用了邮箱存档,但我必须直接进入 AD 对象属性并清除:
然后,当同步运行时,它创建了一个新错误:
出现此错误后,我使用 Guid 到十六进制转换器并将 [new-archive-guid-id] 转换为十六进制。
最后,我回到 AD 并:
无论出于何种原因,在 EAC 中禁用存档是不够的 - 必须在存档“打开”/执行同步时清除它们。
我还必须继续跑步:
执行这些步骤,以便跟踪强制 Entra Connect 同步之间的错误状态。
如果有人知道与此 Get-MSolUser 命令等效的 MSGraph Powershell,那么学习起来会很棒。谢谢!