当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] Enable-RemoteMailbox ExchangeGuid 在 UserMailbox 上是必需的

作者:精品下载站 日期:2024-12-14 22:32:42 浏览:13 分类:玩电脑

Enable-RemoteMailbox ExchangeGuid 在 UserMailbox 上是必需的


运行 Enable-RemoteMailbox cmdlet 为现有本地用户创建 Exchange Online 邮箱后,该操作失败。这些错误表明,ExchangeGuid 在 UserMailbox 上是必需的Database 在 UserMailbox 上是必需的。发生了什么事,这些错误的解决方案是什么?

该组织拥有混合环境,邮箱位于 Exchange Online (Office 365) 中。在本地 Active Directory 中创建用户后,Azure AD Connect 会将 AD 对象同步到 Azure Active Directory。最后一步是使用 Enable-RemoteMailbox PowerShell cmdlet 为用户创建 Exchange Online 邮箱。

ExchangeGuid 在 UserMailbox 上是必需的

您拥有一个将本地 Active Directory 同步到 Azure Active Directory 的混合环境。在本地创建新的 AD 用户后,您想要创建新的 Exchange Online 邮箱 (Office 365)。

在此示例中,用户 Ali Tajran 已在本地 AD 中创建并同步到 Azure AD。确保 AD 对象显示在 Azure AD 或 Microsoft 365 管理中心中。

注意:使用 Enable-RemoteMailbox cmdlet 在基于云的服务中为本地 Active Directory 中的现有用户创建邮箱。此 cmdlet 仅在本地 Exchange 中可用。

以管理员身份运行 Exchange 命令行管理程序。使用 Enable-RemoteMailbox cmdlet 启用远程邮箱。

[PS] C:\>Enable-RemoteMailbox -Identity "Ali Tajran" -RemoteRoutingAddress "[email protected]"

运行命令后,输出给出以下错误:

  • ExchangeGuid 在 UserMailbox 上是必需的。

  • UserMailbox 上的数据库是必需的。

ExchangeGuid is mandatory on UserMailbox.
    + CategoryInfo          : NotSpecified: (exoip.local/Company/I...Ali Tajran:ADObjectId) [Enable-RemoteMailbox], DataValidationException
    + FullyQualifiedErrorId : [Server=EX01-2016,RequestId=0a83a0bb-6893-4768-8be7-d23f6f65413f,TimeStamp=14-1-2021 18:43:16] [FailureCategory=
   Cmdlet-DataValidationException] 228B08D6,Microsoft.Exchange.Management.RecipientTasks.EnableRemoteMailbox
    + PSComputerName        : ex01-2016.exoip.local

Database is mandatory on UserMailbox.
    + CategoryInfo          : NotSpecified: (exoip.local/Company/I...Ali Tajran:ADObjectId) [Enable-RemoteMailbox], DataValidationException
    + FullyQualifiedErrorId : [Server=EX01-2016,RequestId=0a83a0bb-6893-4768-8be7-d23f6f65413f,TimeStamp=14-1-2021 18:43:16] [FailureCategory=
   Cmdlet-DataValidationException] 27A58729,Microsoft.Exchange.Management.RecipientTasks.EnableRemoteMailbox
    + PSComputerName        : ex01-2016.exoip.local

为什么我们会收到此错误,对于 UserMailbox 上的 ExchangeGuid 是强制的以及 UserMailbox 上的 Database 是强制的,解决方案是什么?

ExchangeGuid 的解决方案在 UserMailbox 上是强制性的

在本地服务器上启动 Active Directory 用户和计算机 (ADUC)。单击菜单栏中的查看并启用高级功能

[玩转系统] Enable-RemoteMailbox ExchangeGuid 在 UserMailbox 上是必需的

找到用户对象并双击它以打开属性。单击属性编辑器选项卡。找到属性 msExchHomeServerName 并单击编辑

[玩转系统] Enable-RemoteMailbox ExchangeGuid 在 UserMailbox 上是必需的

这就是值的样子。

[玩转系统] Enable-RemoteMailbox ExchangeGuid 在 UserMailbox 上是必需的

单击清除以清除属性msExchHomeServerName的值。单击确定

[玩转系统] Enable-RemoteMailbox ExchangeGuid 在 UserMailbox 上是必需的

该值更改为<未设置>。单击确定

[玩转系统] Enable-RemoteMailbox ExchangeGuid 在 UserMailbox 上是必需的

在运行 Enable-RemoteMailbox cmdlet 之前,强制同步到 Azure AD 非常重要。

PS C:\> Start-ADSyncSyncCycle -PolicyType Delta

现在重新运行 Enable-RemoteMailbox 命令。

[PS] C:\>Enable-RemoteMailbox -Identity "Ali Tajran" -RemoteRoutingAddress "[email protected]"

Name                     RecipientTypeDetails               RemoteRecipientType   
----                     --------------------               -------------------
Ali Tajran               RemoteUserMailbox                  ProvisionMailbox

邮箱是在 Office 365 中创建的。

批量清除属性 msExchHomeServerName 值

一项一项地编辑属性非常耗时。如果您想要清除所有用户的 msExchHomeServerName 属性值,该怎么办?

使用 Get-ADUser cmdlet 查找未清除该值的所有用户对象。

[PS] C:\>Get-ADUser -Filter * -Properties msExchHomeServerName | Where-Object {($_.msExchHomeServerName -ne $null) -and $_.Name -notlike "HealthMailbox*" -and $_.Name -notlike "SystemMailbox*" -and $_.Name -notlike "FederatedEmail*" -and $_.Name -notlike "Migration*"} | Select-Object SamAccountName,msExchHomeServerName

SamAccountName  msExchHomeServerName                                                                                
--------------  --------------------                                                                                
Administrator   /o=EXOIP/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Configuration/cn=Servers/cn=EX02-2016
Max.Fraser      /o=EXOIP/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Configuration/cn=Servers/cn=EX02-2016
Piers.Bower     /o=EXOIP/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Configuration/cn=Servers/cn=EX02-2016
Kylie.Davidson  /o=EXOIP/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Configuration/cn=Servers/cn=EX02-2016
Richard.Grant   /o=EXOIP/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Configuration/cn=Servers/cn=EX02-2016
Boris.Campbell  /o=EXOIP/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Configuration/cn=Servers/cn=EX02-2016

将结果导出到 C:\temp 文件夹中的 CSV 文件。如果您没有临时文件夹,请创建一个。

[PS] C:\>Get-ADUser -Filter * -Properties msExchHomeServerName | Where-Object {($_.msExchHomeServerName -ne $null) -and $_.Name -notlike "HealthMailbox*" -and $_.Name -notlike "SystemMailbox*" -and $_.Name -notlike "FederatedEmail*" -and $_.Name -notlike "Migration*"} | Select-Object SamAccountName,msExchHomeServerName | Export-Csv "C:\temp\users.csv" -Encoding UTF8 -NoTypeInformation

使用 Microsoft Excel 或您选择的其他应用程序打开 CSV 文件。在本例中,我们使用记事本。

[玩转系统] Enable-RemoteMailbox ExchangeGuid 在 UserMailbox 上是必需的

清除 AD 用户的属性 msExchHomeServerName 值。复制下面的脚本并将其粘贴到 PowerShell ISE 中并运行该脚本。

$Users = Import-Csv "C:\temp\users.csv"
Foreach ($User in $Users) {
    Get-ADUser $User.SamAccountName | Set-ADUser -Clear msExchHomeServerName
}

在运行 Enable-RemoteMailbox cmdlet 之前,请不要忘记强制同步到 azure AD。

这是否可以帮助您修复UserMailbox 上的 ExchangeGuid 是强制性的UserMailbox 上的数据库是强制性的 错误?

您可能感兴趣的文章:

  • 在 Exchange 混合中创建 Office 365 邮箱

  • 在 Exchange 混合中批量创建 Office 365 邮箱

结论

您了解了运行 Enable-RemoteMailbox cmdlet 后为何收到错误 ExchangeGuid is required on UserMailbox and Database is required on UserMailbox 的原因。

此问题的解决方案是清除本地 AD 对象上的属性值 msExchHomeServerName。之后,强制同步到 Azure AD 并运行 Enable-RemoteMailbox 命令。不再出现错误,邮箱已在 Office 365 中创建。

您喜欢这篇文章吗?您可能还喜欢 UserMailbox 上强制使用 Exchange 数据库。不要忘记关注我们并分享这篇文章。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯