用户无法在混合部署中查看远程用户的忙/闲信息Exchange Server

原始 KB 编号: 2667844

注意

Microsoft Exchange Server 2010 Exchange 管理控制台中包含的混合配置向导不再受支持。 因此,不应再使用旧的混合配置向导。 请改用在 中 https://aka.ms/HybridWizard提供的 Microsoft 365 混合配置向导。 有关详细信息,请参阅 适用于 Exchange 2010 的 Microsoft 365 混合配置向导

症状

你在 Microsoft 365 中具有本地Microsoft Exchange Server和Microsoft Exchange Online的混合部署,其中混合服务器运行Exchange Server 2010。 但是,用户无法查看远程用户的忙/闲信息。 当用户尝试查看远程用户的忙/闲信息时,不会显示忙/闲信息。 相反,用户可能会遇到以下一个或多个症状:

  • 远程用户的忙/闲信息在日历中显示为数字符号 (#) 字符。

  • 在Outlook Web App中,显示“错误 5037”。

  • Microsoft Outlook <FileName>-fb.log 和 <FileName>-as.log 文件包含类似于以下内容的错误消息:

    <FreeBusyResponse><ResponseMessage ResponseClass=“Error”><MessageText>调用方无权访问忙/闲数据。</MessageText><ResponseCode>ErrorNoFreeBusyAccess</ResponseCode><描述性链接键>0</描述性链接键><MessageXml><ExceptionType xmlns=“”http://schemas.microsoft.com/exchange/services/2006/errors>Microsoft.Exchange.InfoWorker.Common.Availability.NoFreeBusyAccessException</ExceptionType><ExceptionCode xmlns=“>http://schemas.microsoft.com/exchange/services/2006/errors5037</ExceptionCode><ExceptionServerName xmlns=”http://schemas.microsoft.com/exchange/services/2006/errors“>ServerName</ExceptionServerName><ResponseSource xmlns=“”http://schemas.microsoft.com/exchange/services/2006/errors<>https://\<Server>.outlook.com/EWS/Exchange.asmx/WSSecurity/ResponseSource></MessageXml></ResponseMessage><FreeBusyView><FreeBusyViewType xmlns=“http://schemas.microsoft.com/exchange/services/2006/types”>None</FreeBusyViewType></FreeBusyView></FreeBusyResponse>

例如,Microsoft 365 用户无法查看本地用户的忙/闲信息。 但是,其他用户可以查看同一本地用户的忙/闲信息。

原因

如果简单邮件传输协议 (SMTP 的域名) 尝试查看忙/闲信息的用户的地址未包含在组织关系中的域名中,则会出现此问题。 例如,运行 Test-OrganizationRelationship cmdlet 时,将显示以下输出:

RunspaceId:a6c3799f-2ecd-4d79-ae4b-6c470ddd1dee
身份:
Id:LocalFederatedDomainsAreMissingFromTheRemoteOrganizationRelationsipDomains
状态:警告
说明:远程组织关系对象的域列表中不存在本地联合域。
IsValid : True

如果未手动将 SMTP 域添加到组织关系,则会发生这种情况。 如果满足以下条件,则也可能发生这种情况:

  • Microsoft 365 用户帐户是在将本地环境升级到 Exchange Server 2010 之前创建的。
  • 你在本地环境中使用了 Exchange Server 2010 中的混合配置向导来设置联合信任。 例如,Microsoft 365 用户的域名为 contoso.com

在此方案中,Microsoft 365 用户帐户没有 @contoso.mail.onmicrosoft.com 作为其代理地址之一。 对本地环境的请求使用 @contoso.com 而不是 @contoso.mail.onmicrosoft.com Microsoft 365 用户帐户。 请求被拒绝,因为本地环境中的组织关系尚未 contoso.com 添加到其中。

解决方案

若要解决此问题,请编辑本地环境中的组织关系,以包括遇到此问题的用户的 SMTP 域。 为此,请使用下列方法之一。

方法 1:使用Exchange 管理控制台

  1. 在本地 Exchange 服务器上,打开Exchange 管理控制台,然后选择“Microsoft Exchange 本地”下的“组织配置”。
  2. 选择“ 组织关系 ”选项卡,然后查看组织关系的属性。
  3. 选择“ 外部组织 ”选项卡,在 “外部 Exchange 组织的联合域 ”框中键入联合域名,然后选择“ 添加”。
  4. 对要添加的每个域重复步骤 3。
  5. 选择“确定”。

方法 2:使用 Exchange 命令行管理程序

  1. 在本地服务器上,打开 Exchange 命令行管理程序。

  2. 将组织关系设置为变量。 例如,运行以下命令:

    $OrgRel = Get-OrganizationRelationship Contoso
    
  3. 将所需的其他域名添加到 变量。 例如,运行以下命令:

    $OrgRel.DomainNames += "contoso.com"
    
  4. 使用新的域名值更新组织关系。 例如,运行以下命令:

    Set-OrganizationRelationship $OrgRel.Name -DomainName $OrgRel.DomainNames
    

更多信息

若要帮助确定 Microsoft 365 中的问题,请执行以下步骤:

  1. 通过使用远程 PowerShell 连接到 Exchange Online。 有关如何执行此操作的详细信息,请参阅连接到 Exchange Online PowerShell

  2. 将用户的 SMTP 地址与组织关系进行比较。 为此,请运行下列命令:

    if ( (Get-OrganizationRelationship).DomainNames -contains (Get-Mailbox user).PrimarySmtpAddress.Split("@")[1]) { write-host "The domain was found" -ForegroundColor Green } else { write-host (Get-Mailbox user).PrimarySmtpAddress.Split("@")[1] "was not found" -ForegroundColor Yellow}
    

    注意

    还可以将接受域中列出的每个域与组织关系中的域名进行比较。 为此,请运行下列命令:

    Get-AcceptedDomain | ForEach-Object { if ( (Get-OrganizationRelationship).DomainNames -contains $_.DomainName) { write-host $_.DomainName "was found" -ForegroundColor Green } else { write-host $_.DomainName "was not found" -ForegroundColor Yellow} }
    

仍然需要帮助? 转到 Microsoft 社区Exchange TechNet 论坛

启动指南来排查此问题