你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

识别和解决 Azure Active Directory 中组的许可证分配问题

属于 Microsoft Entra 的 Azure Active Directory (Azure AD) 中基于组的许可引入了处于许可错误状态的用户的概念。 本文说明用户可能会以此状态结束的原因。

当你将许可证直接分配给各个用户而不使用基于组的许可时,分配操作可能会由于与业务逻辑相关的原因而失败。 例如,可能许可证数量不足,或者两个服务计划之间存在冲突,不能同时分配。 将立即向你返回该问题的报告。

使用基于组的许可时,可能会发生相同的错误,但是在 Azure AD 服务分配许可证时在后台发生这些错误。 由于此原因,这些错误无法立即传达给你。 但是,这些错误会记录在用户对象中,并通过管理门户进行报告。 为用户提供许可证的原始意图永远不会丢失,但以错误状态记录,供以后调查和解决。

查找许可证分配错误

在组中查找处于错误状态的用户

  1. 打开该组的概述页,然后选择“许可证”。 如果有任何用户处于错误状态,则会显示通知。

    组和错误通知消息

  2. 选择通知以打开所有受影响的用户列表。 可以分别选择每个用户以查看更多详细信息。

    处于组许可错误状态的用户列表

  3. 若要查找包含至少一个错误的所有组,请在“Azure Active Directory”边栏选项卡上,选择“许可证”,再选择“概述”。 如果有一些组需要关注,则会显示信息框。

    有关处于错误状态的组的概述和信息

  4. 选中该框可查看具有错误的所有组的列表。 可以选择每个组以了解更多详细信息。

    包含错误的组的概述和列表

以下部分提供每个潜在问题的说明及其解决方法。

许可证不足

问题: 组中指定的某个产品没有足够的可用许可证。 需要为该产品购买更多的许可证,或者释放其他用户或组中未使用的许可证。

若要查看可用的许可证数量,请转到“Azure Active Directory”>“许可证”>“所有产品”。

若要查看哪些用户和组正在使用许可证,请选择某个产品。 在“许可的用户”下面,可以看到直接或者通过一个或多个组向其分配许可证的所有用户的列表。 在“许可的组”下面,可以看到该产品已分配到的所有组。

PowerShell: PowerShell cmdlet 将此错误报告为 CountViolation

冲突的服务计划

问题: 组中指定的某个产品包含的服务计划,与已通过不同的产品分配给用户的另一个服务计划相冲突。 某些服务计划已配置为不能作为另一个相关服务计划分配给相同的用户。

请考虑以下示例。 为某个用户直接分配了 Office 365 企业版 E1 许可证并启用了所有计划。 该用户已添加到分配有 Office 365 企业版 E3 产品的组。 E3 产品包含的服务计划不能与 E1 中包含的计划重叠,因此,组许可证分配会失败并显示“冲突的服务计划”错误。 在此示例中,冲突的服务计划为:

  • Exchange Online(计划 2)与 Exchange Online(计划 1)冲突。

若要解决此冲突,需要禁用其中某个计划。 可以禁用直接分配给用户的 E1 许可证。 或者,需要修改整个组许可证分配并在 E3 许可证中禁用计划。 或者,如果 E1 许可证在 E3 许可证的上下文中是多余的,您可能会决定从用户中删除它。

如何解决冲突的产品许可证始终由管理员决定。 Azure AD 不会自动解决许可证冲突。

PowerShell: PowerShell cmdlet 将此错误报告为 MutuallyExclusiveViolation

其他产品依赖于此许可证

问题: 组中指定的某个产品包含的服务计划必须为另一个产品中的另一个服务计划启用才能正常工作。 当 Azure AD 尝试删除基础服务计划时,将出现此错误。 例如,从组中删除用户时,可能会发生此错误。

若要解决此问题,需确保所需的计划仍通过其他某种方法分配给用户,或者为这些用户禁用了依赖服务。 执行这些操作后,可以正确地删除这些用户的组许可证。

PowerShell: PowerShell cmdlet 将此错误报告为 DependencyViolation

不允许的使用位置

问题: 由于当地法律和法规方面的原因,某些 Microsoft 服务不能在所有位置使用。 必须先为用户指定“使用位置”属性,才能将许可证分配给用户。 可以在 Azure 门户中的“用户”>“配置文件”>“编辑”部分下指定位置。

当 Azure AD 尝试向使用位置不受支持的用户分配组许可证时,该操作会失败,并且会记录用户发生的此项错误。

若要解决此问题,请从许可组中删除其位置不受支持的用户。 或者,如果当前使用位置值不代表实际用户位置,可以修改这些值,以便下次可以正常分配许可证(如果新位置受支持)。

PowerShell: PowerShell cmdlet 将此错误报告为 ProhibitedInUsageLocationViolation

注意

当 Azure AD 分配组许可证时,任何未指定使用位置的用户将继承目录的位置。 建议管理员在使用基于组的许可之前,先为用户设置正确的使用位置值,以符合当地法律和法规。

重复的代理地址

如果使用的是 Exchange Online,可能会使用相同的代理地址值错误地配置组织中的某些用户。 当基于组的许可尝试为此类用户分配许可证时,此操作会失败并显示“代理地址已被使用”。

提示

若要查看是否有重复的代理地址,请针对 Exchange Online 执行以下 PowerShell cmdlet:

Get-Recipient -Filter "EmailAddresses -eq 'user@contoso.onmicrosoft.com'" | fl Name, RecipientType,Emailaddresses

有关此问题的详细信息,请参阅 Exchange Online 中的“代理地址已被使用”错误消息。 此文还包含有关如何使用远程 PowerShell 连接到 Exchange Online 的信息。

为受影响的用户解决代理地址问题之后,请确保强制对组进行许可证处理,确保现在可以应用许可证。

Azure AD 邮件和 ProxyAddresses 属性更改

问题: 更新用户或组的许可证分配时,可能会看到某些用户的 Azure AD 邮件和 ProxyAddresses 属性已更改。

更新用户的许可证分配会导致触发代理地址计算,这可能会更改用户属性。 若要了解更改的确切原因并解决问题,请参阅这篇关于如何在 Azure AD 中填充 proxyAddresses 属性的文章。

审核日志中的 LicenseAssignmentAttributeConcurrencyException

问题: 用户在审核日志中有针对许可证分配的 LicenseAssignmentAttributeConcurrencyException。 当基于组的许可尝试处理对某个用户进行的相同许可证的并发许可证分配时,将在该用户上记录此异常。 当用户是分配有相同许可证的多个组的成员时,通常会发生这种情况。 Azure AD 将重新尝试处理用户许可证,并解决此问题。 客户无需执行任何操作即可解决此问题。

分配给一个组的多个产品许可证

可将多个产品许可证分配到一个组。 例如,可将 Office 365 企业版 E3 和企业移动性 + 安全性分配到某个组,轻松为用户启用所有包含的服务。

Azure AD 会尝试将该组中指定的所有许可证分配给每个用户。 如果由于业务逻辑问题,Azure AD 无法分配某个产品,则也不会在该组中分配其他许可证。 例如,所有产品的许可证数量不足,或者与针对用户启用的其他服务冲突。

可以查看无法被分配许可证的用户,并且可以检查哪些产品受此问题的影响。

删除授权组时

在删除组之前,必须先删除分配到该组的所有许可证。 但是,删除组中所有用户的许可证可能比较耗时。 删除组的许可证分配时,如果为用户分配了依赖的许可证,或者某个代理地址冲突问题阻止删除许可证,则删除操作可能失败。 如果用户的许可证依赖于由于组删除而被删除的许可证,则分配给用户的许可证将从继承转换为直接分配。

例如,假设分配了 Office 365 E3/E5 的某个组启用了 Skype for Business 服务计划。 此外,假设直接为组中的几个成员分配了 Audio Conferencing 许可证。 删除该组时,基于组的许可会尝试删除所有用户的 Office 365 E3/E5。 由于 Audio Conferencing 依赖于 Skype for Business,对于分配了 Audio Conferencing 的所有用户,基于组的许可会将 Office 365 E3/E5 许可证转换为直接许可证分配。

有先决条件的产品管理许可证

你拥有的某些 Microsoft Online 产品可能是“附加产品”。 附加产品要求先为用户或组启用先决服务计划,才能向其分配许可证。 要使用基于组的许可,系统要求先决条件和附加产品服务计划存在于同一组中。 这是为了确保添加到组的任何用户都能收到功能齐全的产品。 请考虑以下示例:

Microsoft Workplace Analytics 是一个附加产品。 它包含同名单一服务计划。 仅当同时分配了以下必备产品之一时,才能将此服务计划分配到用户或组:

  • Exchange Online(计划 1)
  • Exchange Online(计划 2)

如果尝试将此产品本身分配到组,门户将返回通知消息。 如果选择项详细信息,会显示以下错误消息:

“许可证操作失败。 添加或删除从属服务前,请确保组具有必要的服务。 Microsoft Workplace Analytics 服务还要求启用 Exchange Online(计划 2)。

若要将此附加产品许可证分配到组,必须确保该组也包含先决服务计划。 例如,可更新已经包含完整 Office 365 E3 产品的现有组,并向其添加附加产品。

还可以创建一个独立的组,其中只包含正常运行附加产品所需的最少量产品。 使用该组可以仅向选定的用户授予附加产品的许可证。 根据前面的示例,可以将以下产品分配给同一组:

  • Office 365 企业版 E3,仅启用了 Exchange Online(计划 2)服务计划
  • Microsoft Workplace Analytics

从现在起,添加到此组的任何用户都将使用一个 E3 产品许可正和一个工作区分析产品许可证。 同时,这些用户可以是另一组的成员,为其提供完整的 E3 产品,他们仍只使用该产品的一个许可证。

提示

可为每个先决服务计划创建多个组。 例如,如果有用户使用 Office 365 企业版 E1,也有用户 使用 Office 365 企业版 E3,则可创建两个组来授权 Microsoft 工作区分析:一个使用 E1 作为先决条件,另一个使用 E3。 这样,不需要额外的许可证,即可将附加产品分发到 E1 和 E3 用户。

强制执行组许可证处理以解决错误

根据解决错误时采取的措施,可能需要手动触发组的处理来更新用户状态。

例如,如果通过删除用户的直接许可证分配来释放某些许可证,则需要触发以前无法完全为所有用户成员提供许可证的组的处理。 若要重新处理某个组,请转到组窗格,打开“许可证”,并在工具栏中选择“重新处理”按钮。

强制执行用户许可证处理以解决错误

根据解决错误时采取的措施,可能需要手动触发用户的处理来更新用户状态。

例如,解决受影响用户的重复代理地址问题后,需要触发用户的处理。 若要重新处理某个用户,请转到用户窗格,打开“许可证”,并在工具栏中选择“重新处理”按钮。

后续步骤

若要详细了解通过组进行许可证管理的其他方案,请参阅以下部分: