在 Windows 上的 Microsoft Teams 桌面客户端中实现服务质量 (QoS)

有多种方法可用于为 Windows 上运行的 Teams 桌面客户端设置区分服务代码点 (DSCP) 标记。 本文假定你使用的是在 Teams 中实现 QoS 中定义的默认源端口范围。 如果已为环境自定义了源端口范围,则需要调整以下指南以反映正在使用的源端口。

使用 Intune 配置 DSCP 标记

Microsoft Intune (和其他移动设备管理 (MDM) 提供程序) 使用基于 XML) 的开放移动 Alliance-Device 管理 (OMA-DM) 协议的可扩展标记语言 (策略设置管理。 Windows 通过配置服务提供程序 (CSP) 实现 OMA-DM XML,对于服务质量 (QoS) ,利用 了 NetworkQoSPolicy CSP。

若要为 Windows 上的 QoS for Teams 客户端创建设备配置策略,请执行以下操作:

  1. 登录到Microsoft Intune管理中心

  2. 选择“ 设备>配置>创建”。

  3. 输入以下属性:

    • 平台:选择“Windows 10及更高版本”。
    • 配置文件类型:选择 “模板 ”,然后选择“ 自定义”。
  4. 选择“创建”。

  5. “基本信息”中,输入以下属性:

    • 名称:输入配置文件的描述性名称。 为配置文件命名,以便稍后可以轻松识别它们。 例如, Windows:Teams QoS DSCP 标记
    • 说明:输入配置文件的说明。 此设置是可选的,但建议使用。
  6. 选择“ 下一步”。

  7. “配置设置”中,选择“ 添加”。 使用下表填写所需的 OMA-URI 设置, (对表) 的每一行重复。

    对于新的 Teams 客户端,请使用下表。

    表 1. Intune新 Teams 的 OMA-URI 设置

    名称 - 按 WAN 链路进行筛选(筛选器位于图形右侧)。 说明 OMA-URI 数据类型 Value
    Teams 音频:应用程序 新的 Teams 可执行文件名称。 ./Device/Vendor/MSFT/NetworkQoSPolicy/TeamsAudio/AppPathNameMatchCondition String ms-teams.exe
    Teams 音频:端口 Teams 客户端使用的音频源端口。 ./Device/Vendor/MSFT/NetworkQoSPolicy/TeamsAudio/SourcePortMatchCondition String 50000-50019
    Teams 音频:DSCP 标记 应用于音频 (EF46) 的标记 ./Device/Vendor/MSFT/NetworkQoSPolicy/TeamsAudio/DSCPAction 整型 46
    Teams 视频:应用程序 新的 Teams 可执行文件名称。 ./Device/Vendor/MSFT/NetworkQoSPolicy/TeamsVideo/AppPathNameMatchCondition String ms-teams.exe
    Teams 视频:端口 Teams 客户端使用的视频源端口。 ./Device/Vendor/MSFT/NetworkQoSPolicy/TeamsVideo/SourcePortMatchCondition String 50020-50039
    Teams 视频:DSCP 标记 应用于视频 (AF41) 的标记 ./Device/Vendor/MSFT/NetworkQoSPolicy/TeamsVideo/DSCPAction 整型 34
    Teams Screenshare:应用程序 新的 Teams 可执行文件名称。 ./Device/Vendor/MSFT/NetworkQoSPolicy/TeamsScreenshare/AppPathNameMatchCondition String ms-teams.exe
    Teams 屏幕共享:端口 Teams 客户端使用的屏幕共享端口。 ./Device/Vendor/MSFT/NetworkQoSPolicy/TeamsScreenshare/SourcePortMatchCondition String 50040-50059
    Teams 屏幕共享:DSCP 标记 应用于屏幕共享的标记 (AF21) ./Device/Vendor/MSFT/NetworkQoSPolicy/TeamsScreenshare/DSCPAction 整型 18

    对于经典 Teams 客户端,请使用下表。

    表 2. Intune经典 Teams 的 OMA-URI 设置

    名称 - 按 WAN 链路进行筛选(筛选器位于图形右侧)。 说明 OMA-URI 数据类型 Value
    经典 Teams 音频:应用程序 经典 Teams 可执行文件名称。 ./Device/Vendor/MSFT/NetworkQoSPolicy/ClassicTeamsAudio/AppPathNameMatchCondition String teams.exe
    经典 Teams 音频:端口 Teams 客户端使用的音频源端口。 ./Device/Vendor/MSFT/NetworkQoSPolicy/ClassicTeamsAudio/SourcePortMatchCondition String 50000-50019
    经典 Teams 音频:DSCP 标记 应用于音频 (EF46) 的标记 ./Device/Vendor/MSFT/NetworkQoSPolicy/ClassicTeamsAudio/DSCPAction 整型 46
    经典 Teams 视频:应用程序 经典 Teams 可执行文件名称。 ./Device/Vendor/MSFT/NetworkQoSPolicy/ClassicTeamsVideo/AppPathNameMatchCondition String teams.exe
    经典 Teams 视频:端口 Teams 客户端使用的视频源端口。 ./Device/Vendor/MSFT/NetworkQoSPolicy/ClassicTeamsVideo/SourcePortMatchCondition String 50020-50039
    经典 Teams 视频:DSCP 标记 应用于视频 (AF41) 的标记 ./Device/Vendor/MSFT/NetworkQoSPolicy/ClassicTeamsVideo/DSCPAction 整型 34
    经典 Teams 屏幕共享:应用程序 经典 Teams 可执行文件名称。 ./Device/Vendor/MSFT/NetworkQoSPolicy/ClassicTeamsScreenshare/AppPathNameMatchCondition String teams.exe
    经典 Teams 屏幕共享:端口 Teams 客户端使用的屏幕共享端口。 ./Device/Vendor/MSFT/NetworkQoSPolicy/ClassicTeamsScreenshare/SourcePortMatchCondition String 50040-50059
    经典 Teams 屏幕共享:DSCP 标记 应用于屏幕共享的标记 (AF21) ./Device/Vendor/MSFT/NetworkQoSPolicy/ClassicTeamsScreenshare/DSCPAction 整型 18
  8. 选择“ 下一步”

  9. “分配”中,选择要使用此策略面向的组。 组成员身份必须包括 windows 设备 (,而不是) 用户帐户,因为这是设备策略。

  10. 选择“ 下一步”

  11. “适用性规则”中,定义和所需规则 (可选) 。

  12. 选择“ 下一步”。

  13. “查看 + 创建”中,查看准确性设置,完成后选择“ 创建”。

使用 PowerShell 命令配置 DSCP 标记

可以使用 New-NetQosPolicy 命令在 PowerShell 中设置终结点 DSCP 标记。 在下面的示例中,有两个命令分别用于音频、视频和应用程序共享。 以下命令演示如何为新的 Teams 客户端 (ms-teams.exe) 和经典 Teams 客户端 (Teams.exe) 创建策略。 可以将这些命令合并到 PowerShell 脚本中,并分解到所需的终结点。

设置音频的 QoS

new-NetQosPolicy -Name "Teams Audio" -AppPathNameMatchCondition "ms-teams.exe" -IPProtocolMatchCondition Both -IPSrcPortStartMatchCondition 50000 -IPSrcPortEndMatchCondition 50019 -DSCPAction 46 -NetworkProfile All
new-NetQosPolicy -Name "Classic Teams Audio" -AppPathNameMatchCondition "Teams.exe" -IPProtocolMatchCondition Both -IPSrcPortStartMatchCondition 50000 -IPSrcPortEndMatchCondition 50019 -DSCPAction 46 -NetworkProfile All

设置视频的 QoS

new-NetQosPolicy -Name "Teams Video" -AppPathNameMatchCondition "ms-teams.exe" -IPProtocolMatchCondition Both -IPSrcPortStartMatchCondition 50020 -IPSrcPortEndMatchCondition 50039 -DSCPAction 34 -NetworkProfile All
new-NetQosPolicy -Name "Classic Teams Video" -AppPathNameMatchCondition "Teams.exe" -IPProtocolMatchCondition Both -IPSrcPortStartMatchCondition 50020 -IPSrcPortEndMatchCondition 50039 -DSCPAction 34 -NetworkProfile All

设置用于共享的 QoS

new-NetQosPolicy -Name "Teams Sharing" -AppPathNameMatchCondition "ms-teams.exe" -IPProtocolMatchCondition Both -IPSrcPortStartMatchCondition 50040 -IPSrcPortEndMatchCondition 50059 -DSCPAction 18 -NetworkProfile All
new-NetQosPolicy -Name "Classic Teams Sharing" -AppPathNameMatchCondition "Teams.exe" -IPProtocolMatchCondition Both -IPSrcPortStartMatchCondition 50040 -IPSrcPortEndMatchCondition 50059 -DSCPAction 18 -NetworkProfile All

使用 组策略 配置 DSCP 标记

可以在组策略对象 (GPO) 中创建基于策略的 QoS 设置。 创建策略时,需要为音频、视频和应用程序共享创建单独的策略。

若要为已加入域的 Windows 计算机创建 QoS 音频策略,请先登录到已安装 组策略 管理的计算机。 打开“组策略管理” (单击“开始”,指向“管理工具”,然后单击“组策略管理) ”,然后完成以下步骤:

  1. 在“组策略管理”中,找到应在其中创建新策略的容器。 例如,如果所有客户端计算机都位于名为 “客户端”的 OU 中,请在客户端 OU 中创建新策略。

  2. 右键单击相应的容器,然后选择“ 在此域中创建 GPO”,并将其链接到此处

  3. 在“新建 GPO”对话框中,在“名称”框中键入新组策略对象的名称,然后选择“确定”。

  4. 右键单击新创建的策略,然后选择 “编辑”。

  5. 在“组策略管理”编辑器中,依次展开“计算机配置”、“Windows 设置”,右键单击“基于策略的 QoS”,然后选择“创建新策略”。

  6. “基于策略的 QoS ”对话框中的打开页上,在“名称”框中键入新策略 的名称 。 选择“ 指定 DSCP 值”,并将值设置为 46。 将 “指定出站限制速率” 保留为未选中状态,然后选择“ 下一步”。

  7. 在下一页上,选择“ 仅具有此可执行名称的应用程序 ”并输入以下名称:

    • 对于新 Teams,请输入 ms-teams.exe
    • 对于经典 Teams,请输入 teams.exe
  8. 单击" 下一步"。 此设置指示策略仅确定来自 Teams 客户端的匹配流量的优先级。

  9. 在第三页上,确保同时选择了 “任何源 IP 地址 ”和“ 任何目标 IP 地址 ”,然后选择“ 下一步”。 这两个设置可确保无论发送数据包的计算机 (IP 地址) 哪个计算机,以及) 接收数据包 (IP 地址的计算机,都将管理数据包。

  10. 在第四页上,从“选择此 QoS 策略应用于的协议”下拉列表中选择“TCP 和 UDP”。 TCP (传输控制协议) 和 UDP (用户数据报协议) 是最常用的两种网络协议。

  11. 在“ 指定源端口号”标题下,选择“ 从此源端口或范围”。 在随附的文本框中,键入为音频传输保留的端口范围。 例如,如果为音频流量保留端口 50000 到端口 50019,请使用以下格式输入端口范围: 50000:50019。 选择“ 完成”。

  12. 重复步骤 5-10 以创建视频和应用程序/桌面共享的策略,并替换步骤 6 和 10 中的相应值。

在客户端计算机上刷新组策略之前,你创建的新策略才会生效。 尽管组策略定期刷新,但可以按照以下步骤强制立即刷新:

  1. 在要刷新组策略的每台计算机上,以管理员身份打开命令提示符, (以管理员身份运行) 。

  2. 在命令提示符下,输入

    gpupdate /force
    

验证 组策略 对象中的 DSCP 标记

若要验证是否设置了 组策略 对象中的值,请执行以下步骤:

  1. 以管理员身份打开命令提示符 (以管理员身份运行) 。

  2. 在命令提示符下,输入

    gpresult /R > gp.txt
    

    这将生成已应用 GPO 的报告,并将其发送到名为 gp.txt的文本文件。

    对于名为 gp.html的可读性更高的 HTML 报表,请输入以下命令:

    gpresult /H gp.html
    
  3. 在生成的文件中,查找标题“已应用组策略对象”,并验证之前创建的组策略对象的名称是否在应用策略列表中。

  4. 打开注册表编辑器,然后转到

    HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\QoS

    验证表 2 中列出的注册表项的值。

    表 2. QoS 的 Windows 注册表项的值

    名称 类型 数据
    应用程序名称 REG_SZ ms-teams.exe
    DSCP 值 REG_SZ 46
    本地 IP REG_SZ *
    本地 IP 前缀长度 REG_SZ *
    本地端口 REG_SZ 50000-50019
    协议 REG_SZ *
    远程 IP REG_SZ *
    远程 IP 前缀 REG_SZ *
    远程端口 REG_SZ *
    限制率 REG_SZ -1
  5. 验证“应用程序名称”条目的值对于所使用的客户端是否正确,并验证 DSCP 值和本地端口条目是否都反映了 组策略 对象中的设置。

在 Teams 中实现服务质量 (QoS)