配置动态成员

Mcrosoft Teams 通过使用动态成员资格支持与 Microsoft 365 组关联的团队。

可以使用动态成员资格通过一个或多个规则来定义团队成员,这些规则检查 Azure Active Directory (Azure AD) 中的某些用户属性。当用户属性更改或用户加入和离开租户时,用户会自动删除或添加到指定的团队。可能的场景包括:

  • 医院可以为护士、医生和外科医生创建不同的团队来广播通信。如果医院依赖临时员工,这种能力尤其重要。
  • 一所大学可以为学院内的所有教员创建一个团队,包括经常变化的兼职教员。
  • 一家航空公司希望为频繁变化的机组人员创建一个团队,根据需要自动分配或移除。

使用此功能,给定团队的成员会根据一组特定的标准自动更新,而不是手动管理成员。

备注

使用动态组需要为范围内的任何用户提供Azure AD Premium P1许可证。

一旦动态成员资格变化在团队的Microsoft 365群组中生效,可能需要几分钟到几小时的时间来反映动态成员资格变化。对于团队中的动态组成员资格,你必须考虑以下几点:

  • 规则可以定义谁是一个团队的成员,但不能定义谁是团队所有者。
  • 所有者将不能添加或删除用户作为团队成员,因为成员是由动态组规则定义的。
  • 成员将不能离开由动态组支持的团队。

启用动态成员

要在团队中启用动态成员,你必须使用Azure AD门户或PowerShell修改基础的Microsoft 365组成员规则。如果你修改了成员,对组的引用就不会改变。如果该组被用于访问,动态成员规则添加的每个成员都可以访问该组的资源。

目前没有办法直接用动态成员创建一个团队。你可以创建一个团队,然后改变相关的Microsoft 365组的成员规则,或者创建一个具有动态用户成员类型的Microsoft 365组,然后从现有的Microsoft 365组创建一个团队。

警告

当改变一个现有的静态组为动态组时,所有现有的成员都会从组中移除,然后处理成员规则以添加新的成员。如果该组被用来控制对应用程序或资源的访问,请注意原来的成员可能会失去访问权,直到成员规则被完全处理。你应该事先测试新的成员规则,以确保组内的成员资格符合预期。

Azure AD门户网站

执行以下步骤,将现有团队的小组成员资格改为基于规则的动态成员:

  1. 用一个全局管理员或租户中的用户管理员的账户登录Azure AD管理中心。
  2. 选择页面顶部的搜索栏,输入Azure Active Directory并选择它。
  3. 在左侧窗格的菜单中,选择组。
  4. 在所有组的列表中,打开你想改变的组。
  5. 选择属性。
  6. 在所选组的属性页面上,选择动态用户的成员类型。
  1. 选择添加动态查询,然后提供规则。
  1. 创建规则后,在页面的下端选择添加查询。
  2. 在组的属性页上选择 “保存 “来保存你的修改。该组的成员资格类型会立即在组列表中更新。

PowerShell

要使用PowerShell改变一个组的成员类型,你可以使用AzureAD PowerShell模块。

你要向cmdlet提供一个组ID,让它找到正确的Microsoft 365组来进行修改。你可以使用Exchange PowerShell模块:

$groupId = (Get-UnifiedGroup <group_mailaddress>).ExternalDirectoryObjectID

$dynamicMembershipRule = ‘user.department -eq “Sales”’

使用以下命令将组切换为动态成员身份:

Set-AzureAdMsGroup -Id $groupId -GroupTypes $groupTypes.ToArray() -MembershipRuleProcessingState “On” -MembershipRule $dynamicMembershipRule

要创建 $groupTypes 变量,您必须获取现有组的组类型并向其添加字符串“dynamicMembership”。

groupTypes = (Get-AzureAdMsGroup -Id $groupId).GroupTypes

$groupTypes.Add(“DynamicMembership”)

创建动态成员规则

你可以从一个或多个表达式建立一个规则。一个表达式的格式是属性操作符值。例如:user.department -eq “Sales”。如果你想把多个表达式添加到一个规则中,你可以使用相同的操作符来组合它们,并把每个表达式放在它自己的括号中。

(user.department -eq “Sales”) -and (user.department -eq “Marketing”)

有三种类型的属性可以用来构建成员规则:

  • Boolean
  • String
  • String collection

支持的操作有:

操作语法
Not Equals-ne
Equals-eq
Not Starts With-notStartsWith
Starts With-startsWith
Not Contains-notContains
Contains-contains
Not Match-notMatch
Match-match
In-in
Not In-notIn

表达式中使用的值可能由几种类型组成,包括:

  • Strings
  • Boolean – true, false
  • Numbers
  • Arrays – number array, string array

在表达式中指定一个值时,使用正确的语法以避免错误是很重要的。一些语法提示包括:

  • 双引号是可选的,除非该值是一个字符串。
  • 字符串和regex操作是不区分大小写的。
  • 当一个字符串值包含双引号时,两个引号应使用字符(”)来转义,例如,当 “Sales “是值时,user.department -eq “Sales “就是正确的语法。
  • 你也可以做空值检查,使用null作为值,例如,user.department -eq null。
Scroll to Top
Scroll to Top