解决 Microsoft Teams 和 Exchange Server 交互问题

您所在的位置:网站首页 outlook日历没有内容 解决 Microsoft Teams 和 Exchange Server 交互问题

解决 Microsoft Teams 和 Exchange Server 交互问题

2023-10-13 00:04| 来源: 网络整理| 查看: 265

解决 Microsoft Teams 和 Exchange Server 交互问题 项目 07/19/2023 适用于: Microsoft Teams

本文提供的步骤可以帮助你解决 Microsoft Teams 和 Microsoft Exchange Server 之间发生的交互问题。

入门

了解 Exchange 与 Teams 如何交互以验证版本和环境兼容性。

症状 问题 1:代表无法代表委派人安排 Teams 会议

其邮箱托管在 Exchange Server 上的用户将另一个用户添加为代理来管理 Outlook 日历。 使用 Outlook 的 Teams 加载项的代理无法代表委托人安排 Teams 会议,且 Outlook 返回以下错误消息:

看起来你没有权限为此帐户安排会议。 请与所有者联系以获得权限,然后重试。

问题 2:当你尝试使用 Teams 日历应用时遇到问题

出现以下任一问题:

日历图标没有显示在 Teams 客户端中。 当你使用 Teams 桌面客户端或 Web 客户端时,Microsoft Teams 日历应用显示“抱歉,我们无法获取你的会议详细信息”错误消息。

Teams 日历应用需要通过 Exchange Web 服务 (EWS) 访问 Exchange 邮箱。 Exchange 邮箱可以是 Exchange 混合部署范围内的在线或本地邮箱。

问题 3:当用户正在参加 Outlook 日历会议时,Teams 状态一直显示“外出”或不显示“在会议中”

邮箱位于本地 Exchange 服务器上的用户关闭了 Outlook 客户端自动答复,但来自同一组织的所有 Teams 客户端的 Teams 状态显示为“外出”。 这可能持续好几天。

注意

对于内部托管邮箱的用户,预计存在最长一小时的延迟。

用户正在参加 Outlook 日历会议,但 Teams 状态没有更新为“在会议中”。

先决条件

若要将 Microsoft Teams 服务与 Exchange Server 的安装集成,请确保本地 Exchange Server 环境满足以下要求:

Microsoft Teams 必须知道邮箱是托管在 Exchange Online 上还是内部部署上。 需要混合型 Exchange 服务器部署。 Teams 服务通过 REST API 调用 Exchange Online 服务,并根据混合配置在适用的情况下重定向到托管邮箱的本地服务器。

Exchange Online 与内部部署 Exchange 服务器环境相集成,如什么是 OAuth 身份验证?中所述。 最好通过运行 Exchange 混合向导来配置它,如在 Exchange 和 Exchange Online 组织之间配置 OAuth 身份验证中所述。 Exchange Online 由应用程序 ID 00000002-0000-0ff1-ce00-000000000000表示。

此外,Microsoft Teams 服务需要代表用户进行身份验证,才能访问托管在同样使用 OAuth 的内部部署上的邮箱。 在这种情况下,Teams 计划服务使用 Skype for Business Online 00000004-0000-0ff1-ce00-000000000000的应用程序 ID,以及在 Skype for Business Online 和 Exchange Server 之间配置集成与 OAuth 中提到的 MailUser:

该帐户从 Exchange 通讯簿中隐藏。 最好的做法是在通讯簿中隐藏该帐户,因为它是一个禁用的用户帐户。 该帐户的 Exchange 管理角色分配为 UserApplication。 要进行保留和存档,必须有 ArchiveApplication 角色分配。 必须为整个 Teams 和 Exchange 服务器内部部署执行文中说明的所有步骤。

注意

此处提供了 Microsoft 标识平台和 OAuth 2.0 的使用示例

你应将面向 Internet 的防火墙或反向代理服务器配置为允许 Microsoft Teams 访问运行 Exchange Server 的服务器,方法是将 Skype for Business Online 和 Microsoft Teams 的 URL 和 IP 地址范围添加到允许列表中。 有关详细信息,请参阅 Microsoft 365 URL 和 IP 地址范围的“Skype for Business Online 和 Microsoft Teams”部分。

需要 Exchange 自动发现 V2 来允许 Teams 服务对位于 Exchange Server 中的用户邮箱执行未经身份验证的发现。 Exchange Server 2013 累积更新 19 或更高版本完全支持自动发现 V2。 这足以让 Teams 委派正常工作。 但是,Teams 日历应用需要安装 Exchange Server 2016 累积更新 3 或更高版本。 因此,对于完整功能支持,需要 Exchange Server 2016 累积更新 3 或更高版本。

常见故障排除步骤

注意

这些故障排除步骤适用于上面列出的所有问题。

步骤 1:验证自动发现服务是否正常工作

Microsoft Teams 服务使用 Exchange 自动发现服务来查找由运行 Exchange Server 的服务器发布的 EWS URL。 若要验证自动发现进行是否工作正常,请按以下步骤进行操作:

要求用户导航到 Microsoft Remote Connectivity Analyzer。 输入请求的信息(确保选中“使用自动发现检测服务器设置”复选框)。 选择“执行测试”按钮开始自动发现测试。

如果测试失败,你必须首先解决自动发现问题。

注意

对于 Teams 委派问题,委派人邮箱是要测试的目标邮箱。 对于 Teams 日历应用问题和 Teams 状态问题,受影响的用户的邮箱是要测试的目标邮箱。

第 2 步:验证自动发现服务能否将自动发现请求路由到本地

在 Windows PowerShell 中,运行以下命令:

Invoke-RestMethod -Uri "https://outlook.office365.com/autodiscover/[email protected]&Protocol=EWS&RedirectCount=5" -UserAgent Teams

注意

对于 Teams 委派问题,委派人邮箱是要测试的目标邮箱。 对于 Teams 日历应用问题和 Teams 状态问题,受影响的用户的邮箱是要测试的目标邮箱。

对于本地托管的邮箱,EWS URL 应指向本地外部 EWS。 输出类似于以下内容:

协议 URL

-------- ---

EWS

如果此测试失败,或者 EWS URL 不正确,请查看“先决条件”部分。 这是因为问题可能是由 Exchange 混合配置问题或阻止外部请求的防火墙或逆代理引起的。

第 3 步:验证 Exchange OAuth 身份验证协议是否已启用并正常工作

若要验证 Exchange OAuth 身份验证是否已启用并正常工作,请运行 Test-OAuthCOnnectivity 命令,如配置 Exchange 和 Exchange Online 组织之间的 OAuth 身份验证中所述。

此外,运行 Microsoft 远程连接分析器中提供的忙/闲连接测试。 为此,请按照下列步骤操作:

导航到 Microsoft 远程连接分析器。

选择 “忙/忙 ”测试以验证 Microsoft 365 邮箱是否可以访问本地邮箱的闲/忙信息,反之亦然。

你必须通过将源邮箱电子邮件地址与目标邮箱电子邮件地址交换来运行此测试两次。 这是因为每次运行都是单向的。 此测试不一定必须使用受影响的帐户来运行。 可以通过使用任何一对本地邮箱和 Microsoft 365 邮箱来运行测试。

若要详细了解如何排查 Microsoft 365 中本地和Exchange Online的混合部署中的忙/闲问题,请参阅本文。

解决 Teams 委派问题

注意

这些故障排除步骤仅适用于问题 1。

第 1 步:验证委托是否已被授予“编辑器”权限以访问委派人日历

在一台基于 Exchange 的服务器上打开 Exchange 命令行管理程序,然后运行以下 Exchange PowerShell 命令,以验证是否已将“编辑器”访问权限授予代理:

Get-MailboxFolderPermission -Identity \Calendar -User | Format-List *grant*

验证 GrantSendOnBehalfTo 参数是否包含代理的别名。 如果没有,请运行以下命令以授予权限:

Set-Mailbox "}

或者,要求委托人按照本文中的步骤重新配置 Outlook 客户端中的委派。

第 3 步:验证 Teams 未被阻止访问整个组织的 EWS

运行以下 Exchange PowerShell 命令,以检查整个组织的 EwsApplicationAccessPolicy 参数是否已设置为 EnforceAllowList:

Get-OrganizationConfig | Select-Object Ews*

如果参数设置为 EnforceAllowList,则意味着只允许 EwsAllowList 中列出的客户端访问 EWS。 空值 EwsAllowList (EwsAllowList={}) 阻止所有用户访问 EWS。

注意

阻止 EWS 也会导致 Teams 日历应用问题。 请参阅验证 Teams 日历应用是否已启用。

确保 将 *ScheduleService* 列为 EwsAllowList 参数的数组成员。 如果没有,请运行以下命令添加它:

Set-OrganizationConfig -EwsApplicationAccessPolicy EnforceAllowList -EwsAllowList @{Add="*SchedulingService*"}

如果 EwsEnabled 参数设置为 False,则必须将其设置为 True 或 Null(空白)。 否则,Teams 服务也将被阻止访问 EWS。

第 4 步:验证 Teams 没有被阻止访问委派人邮箱的 EWS

运行以下 Exchange PowerShell 命令,以检查委托人邮箱的 EwsApplicationAccessPolicy 参数是否已设置为 EnforceAllowList:

Get-CasMailbox -EwsApplicationAccessPolicy EnforceAllowList -EwsAllowList @{Add="*SchedulingService*"}

如果 EwsEnabled 参数设置为 False,则必须将其设置为 True。 否则,Teams 服务也将被阻止访问 EWS。

步骤 5:升级问题

如果你验证了本文中提到的先决条件或配置没有问题,请向 Microsoft 支持提交服务请求,并提供以下信息:

委托人和代理的 UserPrincipalName。 文件夹 %appdata%\\microsoft\\teams\\meeting-addin 下的 Teams 会议加载项日志。 重现问题时的 UTC 时间。 从代理的计算机上收集的 Teams 客户端调试日志。 有关如何收集这些日志的详细信息,请参阅在对 Microsoft Teams 进行故障排除时使用日志文件。 解决 Teams 日历应用问题

注意

以下故障排除步骤仅适用于问题 2。

第 1 步:验证 Teams 日历应用是否已启用

打开 Microsoft Teams 管理中心,转到“用户”并为受影响的用户选择“查看策略”。

选择为该用户分配的“应用设置策略”。 在上面的示例中,正在使用全局(组织范围的默认)策略。 确认显示日历应用 (ID ef56c0de-36fc-4ef8-b417-3d82ba9d073c)。

如果日历应用丢失,请还原它。 有关更多信息,请参阅在 Microsoft Teams 中管理应用设置策略。

第 2 步:验证 Teams 的“升级共存”模式允许 Teams 会议

打开 Microsoft Teams 管理中心。

转到“用户”,并选择受影响的用户。

验证“共存模式”设置的值是否不是仅 Skype for Business 或 Skype for Business 与 Teams 协作。

如果用户共存模式设置为“使用组织范围的设置”,这意味着将使用默认租户共存模式。

转到“组织范围的设置”,然后选择“Teams 升级”。

验证默认“共存模式”设置是否为“仅 Skype for Business”或“Skype for Business 与 Teams 协作”以外的值。

第 3 步:验证 Teams 未被阻止访问整个组织的 EWS

运行以下 Exchange PowerShell 命令,以检查整个组织的 EwsApplicationAccessPolicy 参数是否已设置为 EnforceAllowList:

Get-OrganizationConfig | Select-Object Ews*

如果参数设置为 EnforceAllowList,则意味着只允许 EwsAllowList 中列出的客户端访问 EWS。

确保 MicrosoftNinja/*、 *Teams/*和 SkypeSpaces/* 列为 EwsAllowList 参数的数组成员。 如果不是,请运行以下命令以添加它们:

Set-OrganizationConfig -EwsApplicationAccessPolicy EnforceAllowList -EwsAllowList @{Add="MicrosoftNinja/*","*Teams/*","SkypeSpaces/*"}

如果 EwsEnabled 参数设置为 False,则必须将其设置为 True 或 Null(空白)。 否则,Teams 服务也将被阻止访问 EWS。

第 4 步:验证 Teams 未被阻止访问受影响用户的 EWS

运行以下 Exchange PowerShell 命令,以检查用户邮箱的 EwsApplicationAccessPolicy 参数是否已设置为 EnforceAllowList:

Get-CASMailbox | Select-Object Ews*

如果参数设置为 EnforceAllowList,则意味着只允许 EwsAllowList 中列出的客户端访问 EWS。

确保 MicrosoftNinja/*、 *Teams/*和 SkypeSpaces/* 列为 EwsAllowList 参数的数组成员。 如果不是,请运行以下 Exchange PowerShell 命令来添加它们:

Set-CASMailbox -EwsApplicationAccessPolicy EnforceAllowList -EwsAllowList @{Add="MicrosoftNinja/*","*Teams/*","SkypeSpaces/*"}

如果 EwsEnabled 参数设置为 False,则必须将其设置为 True。 否则,Teams 服务也将被阻止访问 EWS。

第 5 步:验证 Microsoft Teams 日历应用测试是否成功 请求用户转到 Microsoft Remote Connectivity Analyzer。 输入请求的信息。 选择“执行测试”按钮开始 Microsoft Teams 日历应用测试。

如果测试失败,应尝试解决问题并重新运行测试。

步骤 6:升级问题

如果:你验证本文中提到的先决条件和配置没有问题,请向 Microsoft 支持提交服务请求,并提供有关以下信息:

受影响用户的 UserPrincipalName。 重现问题时的 UTC 时间。 Teams 客户端调试日志。 有关如何收集这些日志的详细信息,请参阅在对 Microsoft Teams 进行故障排除时使用日志文件。 解决 Teams 状态问题

这些故障排除步骤仅适用于问题 3。

第 1 步:验证本地 Exchange REST API 的 URL 是否已在公共网络上发布

针对用户邮箱运行上述“常见故障排除步骤”中的第 2 步,以找到本地 Exchange EWS URL,并采用以下方式更改 URL 格式(将“/EWS/Exchange.asmx”替换为“/api”):https://mail.contoso.com/EWS/Exchange.asmx 更改为 https://mail.contoso.com/api。

尝试从外部网络中的浏览器访问 REST API URL。 如果从本地 Exchange 环境获得 401 响应,则表明 REST API URL 已发布。 否则,请与本地网络团队联系以发布 URL。

注意

如果对 Exchange REST API 的访问失败,则表明 Teams 状态服务不支持对 EWS URL 的回退。

步骤 2:验证基于日历事件的 Teams 状态测试是否成功 请用户转到 Microsoft 远程连接分析器的“基于日历事件”的 Teams 状态部分。 输入请求的信息。 选择 “执行测试 ”按钮,根据日历事件测试启动 Teams 状态。

如果测试失败,应尝试解决问题并重新运行测试。

第 3 步:验证 Teams 未被阻止访问整个组织的 EWS

运行以下 Exchange PowerShell 命令,以检查整个组织的 EwsApplicationAccessPolicy 参数是否已设置为 EnforceAllowList:

Get-OrganizationConfig | Select-Object Ews*

如果参数设置为 EnforceAllowList,则意味着只允许 EwsAllowList 中列出的客户端访问 EWS。 空值 EwsAllowList (EwsAllowList={}) 阻止所有客户端访问 EWS。

请确保 *Microsoft.Skype.Presence.App/* 列为 EwsAllowList 参数的数组成员。 如果没有,请运行以下命令添加它:

Set-OrganizationConfig -EwsApplicationAccessPolicy EnforceAllowList -EwsAllowList @{Add="*Microsoft.Skype.Presence.App/*"}

如果 EwsEnabled 参数设置为 False,则必须将其设置为 True 或 Null(空白)。 否则,Teams 服务也将被阻止访问 EWS。

步骤 4:验证未阻止 Teams 访问用户邮箱的 EWS

运行以下 Exchange PowerShell 命令,以检查用户邮箱的 EwsApplicationAccessPolicy 参数是否已设置为 EnforceAllowList:

Get-CasMailbox -EwsApplicationAccessPolicy EnforceAllowList -EwsAllowList @{Add="* Microsoft.Skype.Presence.App/*"}

如果 EwsEnabled 参数设置为 False,则必须将其设置为 True。 否则,Teams 服务也将被阻止访问 EWS。

步骤 5:升级问题

如果你验证了本文中提到的先决条件和配置没有问题,请向 Microsoft 支持提交服务请求,并提供以下信息:

受影响用户的 UserPrincipalName。 重现问题时的 UTC 时间。 Teams 客户端调试日志。 有关如何收集这些日志的详细信息,请参阅在对 Microsoft Teams 进行故障排除时使用日志文件。 参考 Exchange 与 Microsoft Teams 如何交互 为本地 Exchange 邮箱配置 Teams 日历访问权限


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3