Exchange 混合模式 - 属性“ArchiveGuid”的值 [ArchiveGUID] 已被另一个收件人对象使用。请指定一个唯一值

Exchange 混合模式 - 属性“ArchiveGuid”的值 [ArchiveGUID] 已被另一个收件人对象使用。请指定一个唯一值

我们正在 M365 中运行 Exchange 混合模式,其中包含远程邮箱和存档。我们的一名员工几个月前离职,因此他们的邮箱被软删除/保留。他们的 AD 对象只是被禁用(从未被删除),因此当它通过 Entra Connect 恢复并同步回来时,会创建一个具有相同别名但邮箱为空的新 M365 用户(这很好)。

我们的问题是,AD 用户仍然拥有该用户的先前 msExchArchiveGUID,并且此存档在 EOL 中仍被软删除,但同样,M365 中的用户是该用户的不同版本。我需要弄清楚如何告诉 AD 为现在处于活动状态的 M365 用户创建一个新的(空)存档。

细节:

在 EAC 中:

如果我运行:Get-RemoteMailbox returningUser | fl displayname, ArchiveGuid它会从 AD 中的 msExchArchiveGUID 属性报告:

ArchiveGuid : some-legit-archive-guid-number

在 EOL 中:

如果我运行: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 使用存档 GUID 的 EOL 版本,但在这种情况下,EOL 似乎无法使用 GUID 的 EAC 版本,因为它已被软删除并与之前的工件用户绑定。

如果有人知道如何告诉 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)

答案1

最终的解决方案是直接改变AD对象属性:

虽然 EAC 已启用邮箱存档,但我必须直接进入 AD 对象属性并清除:

  1. msExchArchiveGUID
  2. msExchArchive 名称
  3. msExchArchiveStatus(设置为 0)

然后,当同步运行时,它会产生一个新的错误:

Failed to enable the new cloud archive 00000000-0000-0000-0000-000000000000 of mailbox
some-mailbox-guid-id because a different archive [new-archive-guid-id] exists. 
To enable the new archive, first disable the archive on-premises. 
After the next Dirsync sync cycle, enable the archive on-premises again.

一旦出现此错误,我就会去 Guid 到十六进制转换器并将 [new-archive-guid-id] 转换为十六进制。

最后,我回到 AD 并:

  1. msExchArchiveGUID <-- 新的十六进制值
  2. msExchArchiveName <-- 原始存档名称
  3. msExchArchiveStatus(设置为 1)

无论出于什么原因,仅仅禁用 EAC 中的存档是不够的 - 必须在存档“开启”/执行同步时清除它们。

我还得继续跑步:

Get-MsolUser -HasErrorsOnly | fl DisplayName,UserPrincipalName,@{Name="Error";Expression={($_.errors[0].ErrorDetail.objecterrors.errorrecord.ErrorDescription)}}

在这些步骤中,以便跟踪强制 Entra Connect 同步之间的错误状态。

如果有人知道这个 Get-MSolUser 命令的 MSGraph Powershell 等效版本,那就太好了。谢谢!

相关内容