将策略分配给学校中的大量用户
重要
你可以运行 Teams 教育版策略向导 来轻松向你的学生、教育者和员工应用策略。
注意
有关在 Microsoft Teams 中分配策略的较大说明,请参阅 在 Teams 中向用户分配策略。
概述
是否需要让学生和教师访问 Microsoft Teams 中的不同功能? 可以按许可证类型快速识别组织中的用户,然后为其分配相应的策略。 本教程介绍如何将会议策略分配给学校中的大量用户。 可以使用 Microsoft Teams 管理中心和 PowerShell 分配策略,我们将向你介绍这两种方式。
可以将会议策略分配给用户所属的安全组,也可以通过批处理策略分配直接分配给用户。 你将了解以下内容:
使用 对组的策略分配 将会议策略分配给安全组, (建议) 。 此方法允许基于组成员身份分配策略。 可以将策略分配给安全组或通讯组列表。 在组中添加或删除成员时,会相应地更新其继承的策略分配。 建议使用此方法,因为它可以减少管理新用户策略的时间或用户角色更改的时间。 此方法最适用于最多 50,000 个用户的组,但也适用于较大的组。
使用 批处理策略分配 将会议策略直接分配给批量用户。 一次最多可为 5,000 个用户分配策略。 如果用户数超过 5,000 个,可以提交多个批。 使用此方法时,当你有新用户时,需要重新运行批处理分配,以便将策略分配给这些新用户。
请记住,在 Teams 中,用户会自动获取 Teams 策略类型的全局 (组织范围默认) 策略,除非你创建并分配自定义策略。 由于学生群体通常是最大的用户集,并且他们通常会收到限制性最高的设置,因此我们建议你执行以下操作:
- 创建允许核心功能(如私人聊天和会议安排)的自定义策略,并将策略分配给员工和教师。
- 将自定义策略分配给员工和教师。
- 编辑并应用全局 (组织范围的默认) 策略,以限制学生的功能。
请记住,全局策略将应用于学校中的所有用户,直到你创建自定义策略并将其分配给你的教职员工和教师。
在本教程中,学生将获得全局会议策略,我们将为教职员工和教师分配名为 EducatorMeetingPolicy 的自定义会议策略。 我们假设你已编辑全局策略,以便为学生定制会议设置,并 创建了一个自定义策略 来定义教职员工和教师的会议体验。
将策略分配给组
按照以下步骤为员工和教师创建安全组,然后将名为 EducatorMeetingPolicy 的自定义会议策略分配给该安全组。
开始之前
重要
将策略分配给组时,策略分配会根据优先规则传播到组的成员。 例如,如果用户直接分配策略 (单独或通过批处理分配) ,则该策略优先于从组继承的策略。 这也意味着,如果用户具有直接分配给他们的会议策略,则必须先从用户中删除该会议策略,然后他们才能从安全组继承会议策略。
在开始之前,请务必了解 优先规则 和 组分配排名。 请确保阅读并理解有关组的策略分配需要了解的内容中的概念。
你需要完成所有这些步骤,让员工和教师从安全组继承会议策略。
创建安全组
首先,为员工和教师创建安全组。
使用 学校数据同步 (SDS) ,可以轻松地 在学校中创建安全组教师和学生 。 建议使用 SDS 创建管理学校策略所需的安全组。
如果无法在环境中部署 SDS,请使用 此 PowerShell 脚本 创建两个安全组,一个组用于分配有教职员工许可证的所有教职员工和教师,另一个用于分配了学生许可证的所有学生。 需要定期运行此脚本,以使组保持最新状态。
将策略分配给安全组
使用 Microsoft Teams 管理中心
注意
目前,使用 Microsoft Teams 管理中心对组的策略分配仅适用于 Teams 呼叫策略、Teams 呼叫寄存策略、Teams 策略、Teams 实时事件策略、Teams 会议策略和 Teams 消息传送策略。 对于其他策略类型,请使用 PowerShell。
在 Microsoft Teams 管理员中心的左侧导航中,转到 “会议”>“会议策略”。
选择“ 组策略分配 ”选项卡。
选择“ 添加组”,然后在“ 将策略分配给组 ”窗格中执行以下操作:
- 在 “选择组 ”框中,搜索并添加包含教职员工和教师的安全组。
- 在 “选择排名 ”框中,输入 1。
- 在 “选择策略 ”框中,选择“ EducatorMeetingPolicy”。
- 选择“应用”。
若要删除组策略分配,请在策略页的“ 组策略分配 ”选项卡上,选择组分配,然后选择“ 删除”。
若要更改组分配的排名,必须先删除组策略分配。 然后,按照上述步骤将策略分配给组。
使用 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 的详细信息,请参阅:
- New-CsGroupPolicyAssignment
- Get-CsGroupPolicyAssignment
- New-CsBatchPolicyAssignmentOperation
- Get-CsBatchPolicyAssignmentOperation
- Get-CsUserPolicyAssignment