将策略分配给学校中的大量用户

重要

你可以运行 Teams 教育版策略向导 来轻松向你的学生、教育者和员工应用策略。

注意

有关在 Microsoft Teams 中分配策略的较大说明,请参阅 在 Teams 中向用户分配策略

概述

是否需要让学生和教师访问 Microsoft Teams 中的不同功能? 可以按许可证类型快速识别组织中的用户,然后为其分配相应的策略。 本教程介绍如何将会议策略分配给学校中的大量用户。 可以使用 Microsoft Teams 管理中心和 PowerShell 分配策略,我们将向你介绍这两种方式。

可以将会议策略分配给用户所属的安全组,也可以通过批处理策略分配直接分配给用户。 你将了解以下内容:

  • 使用 对组的策略分配 将会议策略分配给安全组, (建议) 。 此方法允许基于组成员身份分配策略。 可以将策略分配给安全组或通讯组列表。 在组中添加或删除成员时,会相应地更新其继承的策略分配。 建议使用此方法,因为它可以减少管理新用户策略的时间或用户角色更改的时间。 此方法最适用于最多 50,000 个用户的组,但也适用于较大的组。

  • 使用 批处理策略分配 将会议策略直接分配给批量用户。 一次最多可为 5,000 个用户分配策略。 如果用户数超过 5,000 个,可以提交多个批。 使用此方法时,当你有新用户时,需要重新运行批处理分配,以便将策略分配给这些新用户。

请记住,在 Teams 中,用户会自动获取 Teams 策略类型的全局 (组织范围默认) 策略,除非你创建并分配自定义策略。 由于学生群体通常是最大的用户集,并且他们通常会收到限制性最高的设置,因此我们建议你执行以下操作:

  • 创建允许核心功能(如私人聊天和会议安排)的自定义策略,并将策略分配给员工和教师。
  • 将自定义策略分配给员工和教师。
  • 编辑并应用全局 (组织范围的默认) 策略,以限制学生的功能。

请记住,全局策略将应用于学校中的所有用户,直到你创建自定义策略并将其分配给你的教职员工和教师。

在本教程中,学生将获得全局会议策略,我们将为教职员工和教师分配名为 EducatorMeetingPolicy 的自定义会议策略。 我们假设你已编辑全局策略,以便为学生定制会议设置,并 创建了一个自定义策略 来定义教职员工和教师的会议体验。

Teams 管理中心“会议策略”页的屏幕截图。

将策略分配给组

按照以下步骤为员工和教师创建安全组,然后将名为 EducatorMeetingPolicy 的自定义会议策略分配给该安全组。

开始之前

重要

将策略分配给组时,策略分配会根据优先规则传播到组的成员。 例如,如果用户直接分配策略 (单独或通过批处理分配) ,则该策略优先于从组继承的策略。 这也意味着,如果用户具有直接分配给他们的会议策略,则必须先从用户中删除该会议策略,然后他们才能从安全组继承会议策略。

在开始之前,请务必了解 优先规则组分配排名请确保阅读并理解有关组的策略分配需要了解的内容中的概念

你需要完成所有这些步骤,让员工和教师从安全组继承会议策略。

  1. 创建安全组
  2. 将策略分配给安全组
  3. 删除直接分配给用户的策略

创建安全组

首先,为员工和教师创建安全组。

使用 学校数据同步 (SDS) ,可以轻松地 在学校中创建安全组教师和学生 。 建议使用 SDS 创建管理学校策略所需的安全组。

如果无法在环境中部署 SDS,请使用 此 PowerShell 脚本 创建两个安全组,一个组用于分配有教职员工许可证的所有教职员工和教师,另一个用于分配了学生许可证的所有学生。 需要定期运行此脚本,以使组保持最新状态。

将策略分配给安全组

使用 Microsoft Teams 管理中心

注意

目前,使用 Microsoft Teams 管理中心对组的策略分配仅适用于 Teams 呼叫策略、Teams 呼叫寄存策略、Teams 策略、Teams 实时事件策略、Teams 会议策略和 Teams 消息传送策略。 对于其他策略类型,请使用 PowerShell。

  1. 在 Microsoft Teams 管理员中心的左侧导航中,转到 “会议”>“会议策略”

  2. 选择“ 组策略分配 ”选项卡。

  3. 选择“ 添加组”,然后在“ 将策略分配给组 ”窗格中执行以下操作:

    “编辑设置”窗格的屏幕截图,其中显示了会议策略。

    1. “选择组 ”框中,搜索并添加包含教职员工和教师的安全组。
    2. “选择排名 ”框中,输入 1
    3. “选择策略 ”框中,选择“ EducatorMeetingPolicy”。
    4. 选择“应用”。

若要删除组策略分配,请在策略页的“ 组策略分配 ”选项卡上,选择组分配,然后选择“ 删除”。

若要更改组分配的排名,必须先删除组策略分配。 然后,按照上述步骤将策略分配给组。

使用 PowerShell

注意

目前,使用 PowerShell 向组分配策略并非适用于所有 Teams 策略类型。 有关支持的策略类型列表,请参阅 New-CsGroupPolicyAssignment

安装并连接到 Microsoft Teams PowerShell 模块

运行以下命令以安装 Teams PowerShell 模块 ((如果尚未安装) )。 请确保安装版本 1.0.5 或更高版本。

Install-Module -Name MicrosoftTeams

运行以下命令以连接到 Teams 并启动会话。

Connect-MicrosoftTeams

出现提示时,请使用管理员凭据登录。

将策略分配给组

运行以下命令,将名为 EducatorMeetingPolicy 的会议策略分配给包含员工和教师的安全组,并将作业排名设置为 1。 可以使用对象 ID、会话初始协议 (SIP) 地址或电子邮件地址来指定安全组。 在此示例中,我们使用电子邮件地址 (staff-faculty@contoso.com) 。

New-CsGroupPolicyAssignment -GroupId staff-faculty@contoso.com -PolicyType TeamsMeetingPolicy -PolicyName "EducatorMeetingPolicy" -Rank 1

删除直接分配给用户的策略

请记住,如果用户直接分配了策略 (单独或通过批处理分配) ,该策略优先。 这意味着,如果用户具有直接分配给他们的会议策略,则必须先从用户中删除该会议策略,然后他们才能从安全组继承会议策略。

若要了解详细信息,请参阅 有关组的策略分配需要了解的内容

按照以下步骤删除直接分配给员工和教师的会议策略。

安装并连接到 Microsoft Teams PowerShell 模块

运行以下命令以安装 Teams PowerShell 模块 ((如果尚未安装) )。 请确保安装版本 1.0.5 或更高版本。

Install-Module -Name MicrosoftTeams

运行以下命令以连接到 Teams 并启动会话。

Connect-MicrosoftTeams

出现提示时,请使用用于连接到 Microsoft Entra ID 的相同管理员凭据登录。

取消分配直接分配给用户的策略

运行以下命令,从直接分配了该策略的用户中删除会议策略。 可以按电子邮件地址或对象 ID 指定用户。

在此示例中,会议策略从用户的电子邮件地址指定的用户中删除。

$users_ids = @("reda@contoso.com", "nikica@contoso.com", "jamie@contoso.com")
New-CsBatchPolicyAssignmentOperation -PolicyType TeamsMeetingPolicy -PolicyName $null -Identity $users_ids -OperationName "Unassign meeting policy"

在此示例中,会议策略将从名为 user_ids.txt 的文本文件中的用户列表中删除。

$user_ids = Get-Content .\users_ids.txt
New-CsBatchPolicyAssignmentOperation -PolicyType TeamsMeetingPolicy -PolicyName $null -Identity $users_ids -OperationName "Unassign meeting policy"
获取组的策略分配

运行以下命令,查看分配给特定安全组的所有策略。 请注意,即使组的 SIP 地址或电子邮件地址用于分配策略,组也始终按组 ID 列出。

Get-CsGroupPolicyAssignment -GroupId staff-faculty@contoso.com

获取分配给用户的策略

运行以下命令以查看分配给特定用户的所有策略。 以下示例演示如何获取分配给 reda@contoso.com的策略。

Get-CsUserPolicyAssignment -Identity reda@contoso.com

将策略分配给一批用户

按照以下步骤将名为 EducatorMeetingPolicy 的自定义会议策略直接分配给员工和教师批量。

使用 PowerShell

连接到 Microsoft Graph PowerShell 和 Teams PowerShell 模块

在执行本文中的步骤之前,需要安装并连接到 Microsoft Graph PowerShell (,以根据用户分配的许可证) 标识用户,Microsoft Teams PowerShell 模块 (将策略分配给这些用户) 。

安装并连接到 Microsoft Graph PowerShell

以管理员身份运行 Windows PowerShell,然后运行以下命令以安装 Microsoft Graph PowerShell。

Install-Module Microsoft.Graph -Scope CurrentUser

运行以下命令以连接到Microsoft Entra ID。

Connect-MgGraph

出现提示时,请使用管理员凭据登录。

若要了解详细信息,请参阅 Microsoft Graph PowerShell SDK 入门

安装并连接到 Microsoft Teams PowerShell 模块

运行以下命令以安装 Teams PowerShell 模块 ((如果尚未安装) )。 请确保安装版本 1.0.5 或更高版本。

Install-Module MicrosoftTeams

运行以下命令以连接到 Teams 并启动会话。

Connect-MicrosoftTeams

出现提示时,请使用用于连接到 Microsoft Entra ID 的相同管理员凭据登录。

识别用户

首先,运行以下命令,按许可证类型标识员工和教师。 这会告诉你组织中正在使用的 SKU。 然后,可以识别分配了教职员工 SKU 的员工和教师。

Get-MgSubscribedSku | Select-Object -Property SkuPartNumber,SkuId

这将返回:

SkuPartNumber      SkuId
-------------      -----
M365EDU_A5_FACULTY e97c048c-37a4-45fb-ab50-922fbf07a370
M365EDU_A5_STUDENT 46c119d4-0379-4a9d-85e4-97c66d3f909e

在此示例中,输出显示教职员工许可证 SkuId 为“e97c048c-37a4-45fb-ab50-922fbf07a370”。

注意

若要查看教育 SKU 和 SKU ID 的列表,请参阅 教育 SKU 参考

接下来,我们运行以下命令,以识别拥有此许可证的用户,并将其全部收集在一起。

$SkuId = "e97c048c-37a4-45fb-ab50-922fbf07a370"
$faculty = Get-MgUser -Filter "assignedLicenses/any(x:x/skuId eq $($SkuId) )" -ConsistencyLevel eventual -CountVariable skuIdUserCount -All

批量分配策略

现在,我们批量向用户分配相应的策略。 一次可分配或更新策略的最大用户数为 5,000。 例如,如果你有 5,000 多名教职员工和教师,则需要提交多个批。

运行以下命令,将名为 EducatorMeetingPolicy 的自定义会议策略分配给员工和教师。

New-CsBatchPolicyAssignmentOperation -PolicyType TeamsMeetingPolicy -PolicyName EducatorMeetingPolicy -Identity $faculty.ObjectId

注意

若要批量分配其他策略类型(如 TeamsMessagingPolicy),需要更改为 PolicyType 要分配的策略和 PolicyName 策略名称。

获取批量分配的状态

每个批量分配都会返回一个操作 ID,可用于跟踪策略分配的进度或识别可能发生的任何失败。 例如,运行以下命令:

Get-CsBatchPolicyAssignmentOperation -OperationId 3964004e-caa8-4eb4-b0d2-7dd2c8173c8c | fl

若要查看批处理操作中每个用户的分配状态,请运行以下命令。 属性中 UserState 显示了每个用户的详细信息。

Get-CsBatchPolicyAssignmentOperation -OperationId 3964004e-caa8-4eb4-b0d2-7dd2c8173c8c | Select -ExpandProperty UserState

如果用户数超过 5,000,则批量分配策略

首先,运行以下命令,查看你拥有的员工和教师数量:

$faculty.count

请运行以下命令以指定前 5,000 个,然后指定接下来的 5,000 个,依此列出,而不是提供整个用户 ID 列表。

New-CsBatchPolicyAssignmentOperation -PolicyType TeamsMeetingPolicy -PolicyName EducatorMeetingPolicy -Identity $faculty[0..19999].ObjectId

可以更改用户 ID 的范围,直到到达用户的完整列表。 例如,输入 $faculty[0..4999 用于第一批,将 用于 $faculty[5000..9999 第二批, $faculty[10000..14999 输入 用于第三批,依此而行。

获取分配给用户的策略

运行以下命令以查看分配给特定用户的所有策略。 以下示例演示如何获取分配给 hannah@contoso.com的策略。

Get-CsUserPolicyAssignment -Identity hannah@contoso.com

常见问题

我不熟悉 PowerShell for Teams。 在哪里可以了解详细信息?

有关使用 PowerShell 管理 Teams 的概述,请参阅 Teams PowerShell 概述。 有关本文中使用的 cmdlet 的详细信息,请参阅: