在 Microsoft Entra ID 中为 Microsoft 365 组强制执行命名策略

要为用户创建或编辑的 Microsoft 365 组强制执行一致的命名约定,请在 Microsoft Entra ID 中为组织设置组命名策略。 例如,可以使用命名策略传达组的功能、成员身份、地理区域或创建组的人员。 使用命名策略还可帮助对通讯簿中的组分类。 可以使用策略来阻止组名称和别名中使用特定字词。

重要

要将 Microsoft Entra ID 命名策略用于 Microsoft 365 组,你需要拥有 Microsoft Entra ID P1 许可证或 Microsoft Entra Basic EDU 许可证,但不一定要为每名唯一用户(一个或多个 Microsoft 365 组的成员)都分配该许可证。

命名策略会应用到创建组或编辑跨工作负载(例如 Outlook、Microsoft Teams、SharePoint、Exchange 或 Planner)创建的组,即使未作出任何编辑更改。 它适用于组名和组别名。 如果在 Microsoft Entra ID 中设置了命名策略,并且有现成的 Exchange 组命名策略,组织中会强制执行 Microsoft Entra ID 命名策略。

如果配置了组命名策略,该策略将应用到用户创建的新 Microsoft 365 组。 命名策略不会应用到某些目录角色,例如全局管理员或用户管理员。 (有关免于执行组命名策略的角色的完整列表,请参阅“角色和权限”部分。)对于现有的 Microsoft 365 组,策略在配置时不会立即应用。 组所有者完成这些组的组名称编辑后,即使未作出任何更改,命名策略也会强制执行。

命名策略功能

可通过两种不同方式对组强制执行命名策略:

  • 前缀-后缀命名策略:可以定义前缀或后缀,然后系统会自动添加这些前缀或后缀,以对组强制执行命名约定。 例如,在组名 GRP\_CHINA\_My Group\_Engineering 中,前缀为 GRP\_CHINA\_,后缀为 \_Engineering
  • 自定义阻止字词:可上传一组特定于组织的阻止字词,将在用户创建的组中阻止这些字词。 例如,可以使用 Payroll,CEO,HR

前后缀命名策略

命名约定的一般结构是 Prefix[GroupName]Suffix。 虽然可以定义多个前缀和后缀,但设置中仅可包含一个 [GroupName] 实例。 前缀或后缀可以是固定字符串,也可以是根据创建组的用户替换的用户属性(例如 [Department])。 包括组名称在内的前缀和后缀字符串允许的总字符数为 63 个字符。

前缀和后缀可包含组名和组别名中支持的特殊字符。 如果前缀或后缀中有任何组别名不支持的字符,这些字符仍可应用于组名,但会从组别名中移除。 由于存在此限制,应用于组名的前缀和后缀与应用于组别名的前缀和后缀可能有所不同。

固定字符串

使用字符串,可更轻松地扫描和区分全局地址列表和左侧组工作负荷导航链接中的组。 一些常见的前缀是 Grp_Name#Name_Name 等关键字。

用户属性

使用属性有助于你和你的用户标识针对哪个部门、办公室或地理区域创建了组。 例如,假设将命名策略定义为 PrefixSuffixNamingRequirement = "GRP [GroupName] [Department]"User's department = Engineering,则强制实施的组名可以是 "GRP My Group Engineering."。支持的 Microsoft Entra 属性为 \[Department\]\[Company\]\[Office\]\[StateOrProvince\]\[CountryOrRegion\]\[Title\]。 不受支持的用户属性会被视为固定字符串。 示例为 "\[postalCode\]"。 不支持扩展属性和自定义属性。

建议对组织中的所有用户使用已填充值的属性,不使用具有 Long 值的属性。

自定义阻止字词

阻止的字词列表是要在组名和组别名中阻止的短语的逗号分隔列表。 未执行任何子字符串搜索。 组名与一个或多个自定义阻止字词之间完全匹配才会触发失败。 不会执行子字符串搜索,因此用户可使用“Class”甚至是“lass”等作为阻止字词。

阻止的字词列表规则:

  • 阻止的字词不区分大小写。
  • 当用户在组名中输入阻止的字词时,会看到错误消息以及阻止的字词。
  • 对于阻止的字词,没有字符限制。
  • 在阻止字词列表中最多可配置 5000 个短语。

角色和权限

要配置命名策略,需要以下角色之一:

  • 全局管理员
  • 组管理员
  • 目录写入者

某些管理员角色在所有组工作负载和端点中不受这些策略的约束,因此他们可以使用禁止使用的字词和自己的命名约定来创建组。 以下管理员角色不受组命名策略的约束:

  • 全局管理员
  • 用户管理员

配置命名策略

  1. 至少以组管理员身份登录到 Microsoft Entra 管理中心

  2. 选择“Microsoft Entra ID”。

  3. 选择“所有组”>“组”,然后选择“命名策略”以打开“命名策略”页面。

    显示在管理中心打开“命名策略”页的屏幕截图。

查看或编辑前后缀命名策略

  1. 在“命名策略”页上,选择“组命名策略”。
  2. 可以单独查看或编辑当前的前缀或后缀命名策略,只需选择需要在命名策略中强制实施的属性或字符串即可。
  3. 要从列表中移除某个前缀或后缀,请选择该前缀或后缀,然后选择“删除”。 可以同时删除多个项。
  4. 通过选择“保存”,保存对新策略的更改以使其生效。

编辑自定义阻止字词

  1. 在“命名策略”页上,选择“阻止字词”。

    显示编辑和上传命名策略的阻止字词列表的屏幕截图。

  2. 查看或编辑自定义阻止字词的当前列表,方法是选择“下载”。 必须将新条目添加到现有条目中。

  3. 选择“文件”图标,可以上传新的自定义阻止字词列表。

  4. 通过选择“保存”,保存对新策略的更改以使其生效。

安装 PowerShell cmdlet

按照安装 Microsoft Graph PowerShell SDK 中所述安装 Microsoft Graph cmdlet。

重要

我们计划在 2024 年 3 月 30 日弃用 Azure AD PowerShell。 若要了解详细信息,请阅读有关弃用的更新。 我们建议迁移到 Microsoft Graph PowerShell,以便与 Microsoft Entra ID(以前称为 Azure AD)进行交互。 Microsoft Graph PowerShell 在 PowerShell 7 上提供,支持访问所有 Microsoft Graph API。 有关常见迁移查询的解答,请参阅迁移常见问题解答

  1. 以管理员身份打开 Windows PowerShell 应用。

  2. 安装 Microsoft Graph cmdlet。

    Install-Module Microsoft.Graph -Scope AllUsers
    
  3. 安装 Microsoft Graph beta cmdlet。

    Install-Module Microsoft.Graph.Beta -Scope AllUsers
    

在 PowerShell 中配置命名策略

  1. 在计算机上打开 Windows PowerShell 窗口。 无需提升的权限即可打开该窗口。

  2. 运行以下命令以准备运行 cmdlet。

    Connect-MgGraph -Environment China -ClientId 'YOUR_CLIENT_ID' -TenantId 'YOUR_TENANT_ID' -Scopes "Directory.ReadWrite.All"
    

    在打开的“登录到你的帐户”屏幕上,输入你的管理员帐户和密码以连接到服务

  3. 按照用于配置组设置的 Microsoft Entra cmdlet 中的步骤为此组织创建组设置。

查看当前设置

  1. 提取当前命名策略,查看当前设置。

    $Setting = Get-MgBetaDirectorySetting -DirectorySettingId (Get-MgBetaDirectorySetting | where -Property DisplayName -Value "Group.Unified" -EQ).id
    
  2. 显示当前组设置。

    $Setting.Values
    

设置命名策略和自定义阻止字词

  1. 获取设置。

    $Setting = Get-MgBetaDirectorySetting -DirectorySettingId (Get-MgBetaDirectorySetting | where -Property DisplayName -Value "Group.Unified" -EQ).id
    
  2. 设置组名称前缀和后缀。 要使功能正常工作,必须在设置中包含 [GroupName]。 另外,设置要限制的自定义阻止字词。

    $params = @{
       values = @(
          @{
             name = "PrefixSuffixNamingRequirement"
             value = "GRP_[GroupName]_[Department]"
          }
          @{
             name = "CustomBlockedWordsList"
             value = "Payroll,CEO,HR"
          }
       )
    }
    
  3. 更新新策略的设置以使其生效,如下例所示。

    Update-MgBetaDirectorySetting -DirectorySettingId $Setting.Id -BodyParameter $params
    

这就可以了。 你设置了命名策略,并添加了阻止字词。

导出或导入自定义阻止字词

有关详细信息,请参阅 用于配置组设置的 Microsoft Entra cmdlet

下面的 PowerShell 脚本示例可导出多个阻止字词。

$Words = (Get-MgBetaDirectorySetting).Values | where -Property Name -Value CustomBlockedWordsList -EQ 
Add-Content "c:\work\currentblockedwordslist.txt" -Value $Words.value.Split(",").Replace("`"","")

下面的 PowerShell 脚本示例可导入多个阻止字词。

$BadWords = Get-Content "C:\work\currentblockedwordslist.txt"
$BadWords = [string]::join(",", $BadWords)
$Setting = Get-MgBetaDirectorySetting | where {$_.DisplayName -eq "Group.Unified"}
if ($Setting.Count -eq 0) {
   $Template = Get-MgBetaDirectorySettingTemplate | where {$_.DisplayName -eq "Group.Unified"}
   $Params = @{ templateId = $Template.Id }
   $Setting = New-MgBetaDirectorySetting -BodyParameter $Params 
   }
$params = @{
   values = @(
      @{
         name = "PrefixSuffixNamingRequirement"
         value = "GRP_[GroupName]_[Department]"
      }
      @{
         name = "CustomBlockedWordsList"
         value = "$BadWords"
      }
   )
}
Update-MgBetaDirectorySetting -DirectorySettingId $Setting.Id -BodyParameter $params

删除命名策略

可以使用 Azure 门户或 Microsoft Graph PowerShell 移除命名策略。

使用 Azure 门户移除命名策略

  1. 在“命名策略”页上,选择“删除策略”。
  2. 确认删除之后,将会移除命名策略,包括所有前缀-后缀命名策略和任何自定义阻止字词。

使用 Microsoft Graph PowerShell 移除命名策略

  1. 获取设置。

    $Setting = Get-MgBetaDirectorySetting -DirectorySettingId (Get-MgBetaDirectorySetting | where -Property DisplayName -Value "Group.Unified" -EQ).id
    
  2. 清空组名称前缀和后缀。 清空自定义阻止字词。

    $params = @{
       values = @(
          @{
             name = "PrefixSuffixNamingRequirement"
             value = ""
          }
          @{
             name = "CustomBlockedWordsList"
             value = ""
          }
       )
    }
    
  3. 更新设置。

    Update-MgBetaDirectorySetting -DirectorySettingId $Setting.Id -BodyParameter $params
    

跨 Microsoft 365 应用的体验

在 Microsoft Entra ID 中设置组命名策略后,用户在 Microsoft 365 应用中创建组时会看到:

  • 在用户输入组名后立即看到随命名策略而定的名称预览(包括前缀和后缀)。
  • 如果用户输入阻止字词,将会看到一条错误消息,从而可移除阻止字词。
工作负载 合规性
Azure 门户 如果用户在创建或编辑组时输入组名,则 Azure 门户和访问面板门户会显示命名策略强制使用的名称。 当用户输入自定义阻止字词时,将会显示一条错误消息以及阻止字词,以便用户可以将其移除。
Outlook Web Access (OWA) 当用户输入组名或组别名时,Outlook Web Access 会显示命名策略强制使用的名称。 当用户输入自定义阻止字词时,UI 中将会显示一条错误消息以及阻止字词,以便用户可以将其移除。
Outlook 桌面 在 Outlook 桌面中创建的组遵循命名策略设置。 用户输入组名时,Outlook 桌面应用当前不会显示强制使用的组名的预览,也不会返回自定义阻止字词错误。 但是,当用户创建或编辑组时,会自动应用命名策略。 如果组名或别名中有自定义阻止字词,则用户会看到错误消息。
Microsoft Teams 用户输入团队名时,Microsoft Teams 会显示组命名策略强制使用的名称。 当用户输入自定义阻止字词时,将会显示一条错误消息以及阻止字词,以便用户可以将其移除。
SharePoint 当用户输入站点名或组电子邮件地址时,SharePoint 会显示命名策略强制使用的名称。 当用户输入自定义阻止字词时,将会显示一条错误消息以及阻止字词,以便用户可以将其移除。
Microsoft Stream 当用户输入组名或组电子邮件别名时,Microsoft Stream 会显示组命名策略强制使用的名称。 当用户输入自定义阻止字词时,将会显示一条错误消息以及阻止字词,以便用户可以将其移除。
Outlook iOS 和 Android 应用 在 Outlook 应用中创建的组遵循配置的命名策略。 Outlook 移动应用尚不能显示命名策略强制使用的名称的预览。 当用户输入组名称时,应用不会返回自定义阻止字词错误。 但是,当用户选择“创建”或“编辑”时,则会自动应用命名策略。 如果组名或别名中有自定义阻止字词,则用户会看到错误消息。
组移动应用 在组移动应用中创建的组遵循命名策略。 用户输入组名时,组移动应用不会显示组命名策略预览,也不会返回自定义阻止字词错误。 但在用户创建或编辑组时,则会自动应用命名策略。 如果组名或别名中有自定义阻止字词,用户将会看到相应的错误。
Planner Planner 遵循命名策略。 当用户输入计划名称时,Planner 会显示命名策略预览。 当用户创建计划时,如果用户输入了自定义阻止字词,则会显示一条错误消息。
Project 网页版 Project 网页版符合命名策略。
Dynamics 365 for Customer Engagement Dynamics 365 for Customer Engagement 遵循命名策略。 当用户输入组名或组电子邮件别名时,Dynamics 365 会显示命名策略强制使用的名称。 当用户输入自定义阻止字词时,将会显示一条错误消息以及阻止字词,以便用户可以将其移除。
学校数据同步 (SDS) 通过 SDS 创建的组遵循命名策略,但不会自动应用命名策略。 SDS 管理员必须将前缀和后缀追加需要为其创建组的类名,然后上传到 SDS。 否则,组创建或编辑会失败。
Classroom 应用 在 Classroom 应用中创建的组遵循命名策略,但不会自动应用命名策略。 当用户输入教室组名时,不会向用户显示命名策略预览。 用户必须输入强制使用的教室组名称(包含前缀和后缀)。 否则,教室组创建或编辑会失败,并出现错误。
Power BI Power BI 工作区遵循命名策略。
Yammer 当用户使用其 Microsoft Entra 帐户登录到 Yammer 以创建组或编辑组名时,组名将遵循命名策略。 此功能适用于连接到 Microsoft 365 的组以及所有其他 Yammer 组。
如果连接到 Microsoft 365 的组是在命名策略到位之前创建的,则组名将不会自动遵循命名策略。 当用户编辑组名时,系统将提示用户添加前缀和后缀。
StaffHub StaffHub 团队不遵循命名策略,但基础 Microsoft 365 组会遵循。 StaffHub 团队名不会应用前缀和后缀,也不会检查自定义阻止字词。 但对于基础 Microsoft 365 组,StaffHub 却会应用前缀和后缀并从该组中删除阻止字词。
Exchange PowerShell Exchange PowerShell cmdlet 遵循命名策略。 如果用户不遵循组名和组别名 (mailNickname) 的命名策略,则会收到相应的错误消息,以及建议的前后缀和自定义阻止字词。
Microsoft Graph PowerShell cmdlet Microsoft PowerShell cmdlet 符合命名策略。 如果用户不遵循组名和组别名的命名约定,则会收到相应的错误消息,以及建议的前后缀和自定义阻止字词。
Exchange 管理中心 Exchange 管理中心遵循命名策略。 如果用户不遵循组名和组别名的命名约定,则会收到相应的错误消息,以及建议的前后缀和自定义阻止字词。
Microsoft 365 管理中心 Microsoft 365 管理中心遵循命名策略。 当用户创建或编辑组名时,会自动应用命名策略。 当用户输入自定义阻止字词时,将会收到相应的错误。 当用户输入组名时,Microsoft 365 管理中心并不会显示命名策略预览,也不会返回自定义阻止字词错误。

后续步骤

有关 Microsoft Entra 组的更多信息,请参阅: